SPB Git

spb/lou-ka

Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

[ka2] fix connecteur summum: migration du portail — Building Stack (location.summumpm.com) → Eversa (rental.summumpm.com). Au sync de 15:36 le connecteur rapportait found=0 « ok » (dérive détectée, retraits suspendus) : location.summumpm.com redirige désormais TOUT en 302 vers app.buildingstack.com (le portail jumeau edifialocation.com, lui, répond encore — c'est bien Summum qui a migré, lien « rental.summumpm.com/listings/list » sur summumpm.com). Le nouveau portail est une app Eversa (React Router « turbo-stream »), exactement le gabarit de gestion_cem : réécriture sur le patron gestion_cem.py (dont on importe _decode/_num/_unit_type) — /fr/listings/list.data (45 cartes immeuble) puis /fr/listings/<slug>/details.data par immeuble (units[] listed=true, via cache BD detail, clé = prix/dispo/compteur de la carte ; la fiche LÈVE si `listing` absent pour ne jamais empoisonner le cache). external_id = slug-uuid de l'UNITÉ (granularité inchangée, mais ids nécessairement neufs : les ApartmentId Building Stack n'existent plus → 75 ajouts, les 40 anciens partent en miss_count). Nouveautés : secteur (quartier, 56/75), pi² bornés 80-20000 (le portail publie des area=0/1 bidons), images Supabase préfixées BASE. Volume : le nouveau portail publie plus d'inventaire → 75 unités vs ~40 (Montréal 69, Blainville 2, Granby 2, Saint-Calixte 1, Longueuil 1 ; 695-2 589 $, 100 % prix/images, GPS 70/75). robots.txt : Crawl-delay 10 → request_delay = 10 s (patron halfred). Garde-fous : erreur franche si payload sans `listings` ou si cartes présentes mais 0 parsée. sources.json : URLs migrées vers rental.summumpm.com, secteurs mis à jour. Fixture ré-enregistrée (46 requêtes, 75 annonces), pytest summum 2 passed. Testé : fetch() venv → 75 unités, run.py sync summum → found=75 ok (added=75, removed=0, missed=40, 2,4 s) vs médiane 40, pm2 restart lou-ka-sync, site :8095 → 200.

Simon-Pierre Boucher committed (Oct 27, 2026) parent ae6ac03 Browse files

74 changed files +255 −19,713

74 changed files
modified data/sources.json +3 −3
@@ -1108,9 +1108,9 @@
1108 { 1108 {
1109 "id": "summum", 1109 "id": "summum",
1110 "name": "Gestion immobilière Summum", 1110 "name": "Gestion immobilière Summum",
1111− "url": "https://location.summumpm.com", 1111+ "url": "https://rental.summumpm.com",
1112− "listing_url": "https://location.summumpm.com/Listing/Listings", 1112+ "listing_url": "https://rental.summumpm.com/fr/listings/list",
1113− "sectors": "Saint-Jérôme, Blainville, Saint-Calixte, Laval, Montréal, Lachine, Longueuil, Granby", 1113+ "sectors": "Montréal, Blainville, Saint-Calixte, Longueuil, Granby",
1114 "connector": "summum", 1114 "connector": "summum",
1115 "status": "actif", 1115 "status": "actif",
1116 "region": "Laurentides" 1116 "region": "Laurentides"
modified louka/connectors/summum.py +171 −254
@@ -2,281 +2,198 @@
2 # Lou-Ka — Agrégateur de logements à louer (province de Québec) 2 # Lou-Ka — Agrégateur de logements à louer (province de Québec)
3 # Auteur : Simon-Pierre Boucher — contact@spboucher.ai 3 # Auteur : Simon-Pierre Boucher — contact@spboucher.ai
4 # connectors/summum.py : connecteur Gestion immobilière Summum 4 # connectors/summum.py : connecteur Gestion immobilière Summum
5−# (location.summumpm.com) — portail hébergé Building Stack (même famille 5+# (rental.summumpm.com) — portail Eversa (React Router « turbo-stream »,
6−# que le portail edifialocation.com du connecteur edifia.py) : 6+# même plateforme que gestion_cem.py, dont on réutilise le décodeur).
7−# Saint-Jérôme, Blainville, Montréal, Laval, Longueuil, Granby… 7+# Historique : jusqu'en octobre 2026 la source était l'ancien portail
8−# - /Listing/Listings embarque `var units = [...]` : JSON complet des 8+# Building Stack location.summumpm.com (/Listing/Listings, `var units`) ;
9−# unités affichées (ApartmentId stable, prix, pi², chambres, salles de 9+# ce domaine redirige désormais TOUT (302) vers app.buildingstack.com —
10−# bain, adresse complète avec GPS, contact de location, photo) ; 10+# Summum a migré ses annonces sur rental.summumpm.com.
11−# - les pages immeuble /b/<id> donnent la date de disponibilité par unité 11+# - /fr/listings/list.data : cartes immeuble (slug, adresse, ville, quartier,
12−# et les commodités de l'immeuble (une requête par immeuble, en cache 12+# GPS, prix min, dispo, compteur d'unités listées) ;
13−# via self.detail, plafonnée) ; 13+# - /fr/listings/<slug>/details.data : fiche immeuble -> units[] avec
14−# - /Listing/ApartmentView?id=<ApartmentId>&lang=fr-CA (fragment AJAX des 14+# listed=true (slug-uuid stable = external_id, prix, chambres, sdb,
15−# onglets) donne la fiche UNITÉ : étage, équipements (électricité/ 15+# pi², étage, alias d'unité, date de disponibilité, photos).
16−# chauffage/eau chaude, plancher, wi-fi, réfrigérateur, cuisinière, 16+# Les photos sont des chemins /storage/... (Supabase) servis aussi par le
17−# balcon…), commentaires (visite virtuelle) et ~10 photos pleine taille 17+# domaine du portail — préfixés par BASE.
18−# (une requête par unité, en cache via self.detail, plafonnée). 18+# robots.txt : Allow /fr + « Crawl-delay: 10 » -> request_delay = 10 s ;
19−# Portail SaaS standard, pas de robots.txt (tout permis). 19+# le cache détail (self.detail) évite de re-visiter les fiches inchangées.
20 # ----------------------------------------------------------------------------- 20 # -----------------------------------------------------------------------------
21 from __future__ import annotations 21 from __future__ import annotations
22 22
23−import hashlib
24 import json 23 import json
25−import re
26 24
27−from bs4 import BeautifulSoup 25+import requests
28 26
29 from ..schema import Listing 27 from ..schema import Listing
30 from .base import BaseConnector 28 from .base import BaseConnector
29+from .gestion_cem import _decode, _num, _unit_type
31 30
32−BASE = "https://location.summumpm.com" 31+BASE = "https://rental.summumpm.com"
33 32
34 # graphies sans accent vues dans le JSON du portail -> toponyme officiel 33 # graphies sans accent vues dans le JSON du portail -> toponyme officiel
35 _CITY_FIX = {"Montreal": "Montréal"} 34 _CITY_FIX = {"Montreal": "Montréal"}
36 35
37 36
38−def _extract_json(html: str, marker: str): 37+def _images(items) -> list[str]:
39− """Décode la structure JSON qui suit `marker` dans un script inline.""" 38+ out: list[str] = []
40− i = html.find(marker) 39+ for i in items or []:
41− if i < 0: 40+ if not isinstance(i, str) or not i:
42− return None 41+ continue
43− try: 42+ url = i if i.startswith("http") else BASE + i
44− data, _ = json.JSONDecoder().raw_decode(html[i + len(marker):].lstrip()) 43+ if url not in out:
45− except Exception: 44+ out.append(url)
46− return None 45+ return out
47− return data
48−
49−
50−class _CapAtteint(Exception):
51− """Plafond de requêtes détail atteint pour cette synchronisation."""
52 46
53 47
54 class SummumConnector(BaseConnector): 48 class SummumConnector(BaseConnector):
55− source_id = "summum" 49+ """Gestion immobilière Summum via Eversa — annonces à l'unité."""
56− request_delay = 0.7
57− max_real_details = 45 # pages immeuble par sync (cache exclu)
58− max_unit_details = 120 # fragments ApartmentView par sync (cache exclu)
59−
60− # -- fiche unité (fragment AJAX du portail Building Stack) -----------------
61− def _apartment_view(self, ext_id: str, key: str) -> dict:
62− """GET /Listing/ApartmentView?id=<ApartmentId>&lang=fr-CA : étage,
63− équipements (électricité/chauffage/eau chaude, plancher, wi-fi…),
64− items simples (réfrigérateur, cuisinière, balcon), commentaires
65− (visite virtuelle) et galerie photo de l'UNITÉ (~10 images pleine
66− taille). Même endpoint que les onglets des pages /b/<id>."""
67− def _fetch() -> dict:
68− if self._real_units >= self.max_unit_details:
69− raise _CapAtteint()
70− self._real_units += 1
71− html = self.get(f"{BASE}/Listing/ApartmentView",
72− params={"id": ext_id, "lang": "fr-CA"},
73− headers={"X-Requested-With": "XMLHttpRequest"}).text
74− soup = BeautifulSoup(html, "html.parser")
75− pairs: list[tuple[str, str]] = []
76− for li in soup.select("ul.main-items li"):
77− t, v = li.find("p", class_="title"), li.find("h4")
78− if not (t and v):
79− continue
80− label = re.sub(r"\s+", " ", t.get_text(" ", strip=True)).strip()
81− value = re.sub(r"\s+", " ", v.get_text(" ", strip=True)).strip()
82− if (label and value and value not in ("--", "N/C")
83− and (label, value) not in pairs):
84− pairs.append((label, value))
85− extras = [] # réfrigérateur, cuisinière, balcon…
86− for li in soup.select("ul.amentity-links li"):
87− t = re.sub(r"\s+", " ", li.get_text(" ", strip=True)).strip()
88− if 2 <= len(t) <= 60 and t not in extras:
89− extras.append(t)
90− comments = ""
91− note = soup.select_one(".unit-notes p")
92− if note:
93− comments = re.sub(r"\s+", " ", note.get_text(" ", strip=True))
94− imgs = list(dict.fromkeys(re.findall(
95− r"https://wfiles\.buildingstack\.com/resources/image/\w+",
96− html)))
97− return {"pairs": dict(pairs), "extras": extras,
98− "comments": comments.strip(), "images": imgs[:15]}
99−
100− try:
101− return self.detail(ext_id, key, _fetch)
102− except Exception:
103− return {}
104−
105− # -- pages immeuble (dates de disponibilité + commodités) ----------------------
106− def _building_page(self, pub_id: str, key: str) -> dict:
107− """Page /b/<id> : { 'dates': {unité: dispo}, 'amenities': [...] }."""
108− def _fetch() -> dict:
109− if self._real_details >= self.max_real_details:
110− raise _CapAtteint()
111− self._real_details += 1
112− html = self.get(f"{BASE}/b/{pub_id}").text
113− soup = BeautifulSoup(html, "html.parser")
114− dates: dict[str, str] = {}
115− for a in soup.select("ul.wpb-tabs-menu a.apartment-view-potential"):
116− spans = [s.get_text(" ", strip=True) for s in a.find_all("span")]
117− if len(spans) >= 6 and spans[0]:
118− dates[spans[0]] = spans[5] # Unité -> Disponible
119− amenities: list[str] = []
120− for li in soup.select(".facilities ul li label"):
121− t = re.sub(r"\s+", " ", li.get_text(" ", strip=True))
122− if 3 <= len(t) <= 90 and t not in amenities:
123− amenities.append(t)
124− imgs = [u for u in dict.fromkeys(re.findall(
125− r"https://wfiles\.buildingstack\.com/resources/image/[\w]+",
126− html))]
127− return {"dates": dates, "amenities": amenities[:20],
128− "images": imgs[:10]}
129 50
130− try: 51+ source_id = "summum"
131− return self.detail(pub_id, key, _fetch) 52+ request_delay = 10.0 # robots.txt : Crawl-delay: 10
132− except Exception: 53+
133− return {} 54+ # -- helpers ---------------------------------------------------------------
134− 55+ def _route_data(self, path: str):
135− # -- fetch ---------------------------------------------------------------------- 56+ """Décode l'endpoint turbo-stream `<path>.data` du portail."""
57+ resp = self.get(f"{BASE}{path}.data")
58+ resp.encoding = "utf-8" # turbo-stream sans charset déclaré
59+ return _decode(resp.text)
60+
61+ def _detail_listing(self, slug: str) -> dict:
62+ data = self._route_data(f"/fr/listings/{slug}/details")
63+ page = (data or {}).get("PublicListingDetailPage") or {}
64+ if "data" in page:
65+ page = page.get("data") or {}
66+ listing = page.get("listing")
67+ if not isinstance(listing, dict):
68+ # structure inattendue : lever plutôt que cacher {} (empoisonnerait
69+ # le cache détail jusqu'au prochain changement de la carte liste)
70+ raise RuntimeError(f"summum : fiche {slug} sans `listing` "
71+ "(gabarit Eversa changé ?)")
72+ return listing
73+
74+ def _building_fallback(self, b: dict, page_url: str) -> Listing | None:
75+ """Carte de la liste -> une annonce « immeuble » (détail indisponible)."""
76+ price = _num(b.get("minPricePerMonth") or b.get("price"))
77+ bd = b.get("bedrooms")
78+ avail = str(b.get("availability") or "")[:10]
79+ city = (b.get("city") or "").strip()
80+ return Listing(
81+ source=self.source_id,
82+ external_id=b.get("slug") or b.get("listingId") or "",
83+ url=page_url,
84+ title=(b.get("title") or b.get("street") or "").strip(),
85+ address=(b.get("street") or "").strip(),
86+ sector=(b.get("neighborhood") or "").strip(),
87+ city=_CITY_FIX.get(city, city),
88+ unit_type=_unit_type(bd),
89+ bedrooms=_num(bd),
90+ bathrooms=_num(b.get("bathrooms")),
91+ price=price,
92+ price_label=f"{price:.0f} $ /mois" if price else "",
93+ availability=f"Disponible le {avail}" if avail else "Disponible",
94+ availability_date=avail or None,
95+ images=_images(b.get("images") or b.get("buildingImages")),
96+ lat=b.get("latitude"),
97+ lng=b.get("longitude"),
98+ )
99+
100+ # -- contrat ---------------------------------------------------------------
136 def fetch(self) -> list[Listing]: 101 def fetch(self) -> list[Listing]:
137− self._real_details = 0 102+ data = self._route_data("/fr/listings/list")
138− self._real_units = 0 103+ page = (data or {}).get("PublicListingsLayoutPage") or {}
139− html = self.get(f"{BASE}/Listing/Listings").text 104+ if "data" in page:
140− units = _extract_json(html, "var units =") or [] 105+ page = page.get("data") or {}
141− 106+ if not isinstance(page, dict) or "listings" not in page:
142− # une page immeuble par immeuble (clé de cache = contenu des unités) 107+ raise RuntimeError("summum : payload /fr/listings/list.data sans "
143− by_building: dict[str, list[dict]] = {} 108+ "`listings` (gabarit Eversa changé ?)")
144− for u in units: 109+ buildings = page.get("listings") or []
145− pub = str((u.get("Building") or {}) 110+
146− .get("PublicListBuildingName") or "") 111+ out: list[Listing] = []
147− if pub: 112+ seen: set[str] = set()
148− by_building.setdefault(pub, []).append(u) 113+ for b in buildings:
149− bldg_info: dict[str, dict] = {} 114+ if not isinstance(b, dict):
150− for pub, us in by_building.items():
151− key = hashlib.sha1(json.dumps(
152− sorted((str(x.get("ApartmentId")),
153− str((x.get("Apartment") or {}).get("Price")))
154− for x in us)).encode("utf-8")).hexdigest()[:16]
155− bldg_info[pub] = self._building_page(pub, key)
156−
157− listings: list[Listing] = []
158− for u in units:
159− apt = u.get("Apartment") or {}
160− adr = u.get("Address") or {}
161− bld = u.get("Building") or {}
162− ext_id = str(u.get("ApartmentId") or "")
163− if not ext_id:
164 continue 115 continue
165− num = str(apt.get("UnitName") or "").strip() 116+ if b.get("isFullyBooked") or b.get("isAllCommercial"):
166− building_name = str(u.get("BuildingName") or "").strip() 117+ continue
167− pub = str(bld.get("PublicListBuildingName") or "") 118+ if (b.get("spaceType") or "apartment") not in ("apartment", "condo",
168− info = bldg_info.get(pub) or {} 119+ "house", "loft"):
169− 120+ continue # résidentiel au mois seulement
170− # typologie dérivée des chambres structurées (patron edifia.py) 121+ slug = b.get("slug") or ""
171− beds = apt.get("NumberOfBedrooms") or 0 122+ if not slug:
172− baths = apt.get("NumberOfBathrooms") or 0 123+ continue
173− unit_type = "Studio" if beds == 0 else f"{beds + 2}½" 124+ page_url = f"{BASE}/fr/listings/{slug}/details"
174−
175− dispo = (info.get("dates") or {}).get(num, "")
176− if not dispo:
177− availability = ""
178− elif re.search(r"\d", dispo): # « déc. 01, 2026 »
179− availability = f"Libre {dispo}"
180− else: # « Disponible dès maintenant! »
181− availability = dispo
182−
183− area = apt.get("Area")
184− try:
185− area = float(area)
186− if not 80 <= area <= 20000:
187− area = None
188− except (TypeError, ValueError):
189− area = None
190−
191− # fiche unité (étage, équipements, visite virtuelle, ~10 photos) —
192− # via cache : re-visitée si prix/superficie/dispo bougent
193− ukey = (f"v1|{apt.get('Price')}|{apt.get('Area')}|"
194− f"{beds}|{baths}|{dispo}")
195− view = self._apartment_view(ext_id, ukey)
196− pairs = view.get("pairs") or {}
197− extras = view.get("extras") or []
198− if area is None:
199− try:
200− v = float(pairs.get("Superficie (pi.ca)", ""))
201− area = v if 80 <= v <= 20000 else None
202− except ValueError:
203− pass
204−
205− # description dérivée : faits + équipements + commentaires (le
206− # portail n'a pas de texte libre par unité en dehors des
207− # commentaires — souvent un lien de visite virtuelle)
208− phrases: list[str] = []
209− head = " — ".join(x for x in [
210− f"{int(area)} pi²" if area else "",
211− f"{beds} chambre(s)" if beds else "",
212− f"{baths} salle(s) de bain" if baths else "",
213− f"étage {pairs['Étage']}" if pairs.get("Étage") else ""] if x)
214− if head:
215− phrases.append(head + ".")
216− for label, value in pairs.items():
217− if label in ("Superficie (pi.ca)", "Étage", "Ch. à coucher",
218− "Salles de bains", "Unité", "Loyer"):
219− continue
220− if value == "Oui":
221− phrases.append(f"{label}.")
222− elif value != "Non":
223− phrases.append(f"{label} : {value}.")
224− if extras:
225− phrases.append(", ".join(extras) + ".")
226− if view.get("comments"):
227− phrases.append(view["comments"])
228− desc = " ".join(phrases).strip()
229−
230− details: dict = {"bedrooms": int(beds), "bathrooms": int(baths)}
231− floor = pairs.get("Étage") or ""
232− if str(floor).isdigit():
233− details["floor"] = int(floor)
234− contacts = bld.get("ListingEmployeesContacts") or []
235− if contacts:
236− c = contacts[0]
237− contact = {k: v for k, v in [
238− ("name", c.get("FullName")),
239− ("phone", c.get("FormattedPhoneNumber")),
240− ("email", c.get("Email"))] if v}
241− if contact:
242− details["contact"] = contact
243−
244− # photos de l'unité d'abord, puis aperçu liste et photos immeuble
245− imgs = list(view.get("images") or [])
246− prev = str(u.get("PreviewUrl") or "")
247− if prev.startswith("http") and prev not in imgs:
248− imgs.append(prev)
249− imgs += [x for x in (info.get("images") or []) if x not in imgs]
250 125
126+ # détail (cache BD : clé = contenu de la carte liste)
127+ key = json.dumps({k: b.get(k) for k in
128+ ("price", "availability", "listedUnitCount",
129+ "bedrooms", "isFullyBooked")},
130+ sort_keys=True, default=str)
251 try: 131 try:
252− lat, lng = float(adr.get("Latitude")), float(adr.get("Longitude")) 132+ detail = self.detail(slug, key,
253− except (TypeError, ValueError): 133+ lambda s=slug: self._detail_listing(s))
254− lat = lng = None 134+ except (requests.RequestException, RuntimeError):
135+ detail = {}
136+
137+ units = [u for u in (detail.get("units") or [])
138+ if isinstance(u, dict) and u.get("listed")]
139+ if not units: # détail 404/vide -> carte liste
140+ lst = self._building_fallback(b, page_url)
141+ if lst and lst.external_id and lst.external_id not in seen:
142+ seen.add(lst.external_id)
143+ out.append(lst)
144+ continue
255 145
256− city = str(adr.get("City") or "").strip() 146+ street = (detail.get("street") or b.get("street") or "").strip()
147+ city = (detail.get("city") or b.get("city") or "").strip()
257 city = _CITY_FIX.get(city, city) 148 city = _CITY_FIX.get(city, city)
258− 149+ sector = (detail.get("neighborhood") or
259− listings.append(Listing( 150+ b.get("neighborhood") or "").strip()
260− source=self.source_id, 151+ lat = detail.get("latitude") or b.get("latitude")
261− external_id=ext_id, 152+ lng = detail.get("longitude") or b.get("longitude")
262− url=f"{BASE}{u.get('BuildingUrl') or f'/b/{pub}'}", 153+ bldg_imgs = _images((detail.get("images") or []) +
263− title=(f"{building_name} — Unité {num}" if num 154+ (b.get("images") or []))
264− else building_name), 155+
265− address=str(adr.get("Full") or ""), 156+ for u in units:
266− sector="", 157+ uid = u.get("slug") or "" # uuid stable de l'unité
267− city=city, 158+ if not uid or uid in seen:
268− unit_type=unit_type, 159+ continue
269− price=float(apt.get("Price") or 0) or None, 160+ seen.add(uid)
270− price_label=str(apt.get("PriceFormatted") or ""), 161+ price = _num(u.get("price"))
271− availability=availability, 162+ area = _num(u.get("area"))
272− area_sqft=area, 163+ if area is not None and not 80 <= area <= 20000:
273− description=desc[:900], 164+ area = None # pi² bidon (0, 1…)
274− amenities=(list(info.get("amenities") or []) + 165+ avail = str(u.get("availability") or "")[:10]
275− [x for x in extras 166+ alias = str(u.get("alias") or "").strip()
276− if x not in (info.get("amenities") or [])]), 167+ imgs = _images(u.get("images")) or bldg_imgs
277− details=details, 168+ details: dict = {}
278− images=imgs[:12], 169+ if u.get("floor") is not None:
279− lat=lat, 170+ details["floor"] = u["floor"]
280− lng=lng, 171+ if alias:
281− )) 172+ details["unit_number"] = alias
282− return listings 173+ out.append(Listing(
174+ source=self.source_id,
175+ external_id=uid,
176+ url=page_url,
177+ title=f"{street} — app. {alias}" if alias else street,
178+ address=street,
179+ sector=sector,
180+ city=city,
181+ unit_type=_unit_type(u.get("bedrooms")),
182+ bedrooms=_num(u.get("bedrooms")),
183+ bathrooms=_num(u.get("bathrooms")),
184+ price=price,
185+ price_label=f"{price:.0f} $ /mois" if price else "",
186+ availability=(f"Disponible le {avail}" if avail
187+ else "Disponible"),
188+ availability_date=avail or None,
189+ area_sqft=area,
190+ details=details,
191+ images=imgs[:30],
192+ lat=lat,
193+ lng=lng,
194+ ))
195+
196+ if buildings and not out:
197+ raise RuntimeError(f"summum : {len(buildings)} carte(s) liste mais "
198+ "aucune annonce parsée (structure changée ?)")
199+ return out
added tests/fixtures/summum/00a43dce4cd71b2747ee.txt +2 −0
@@ -0,0 +1,2 @@
1+[{"_1":2,"_3":4,"_5":6,"_7":8},"root",{"_9":390},"public-language",{"_9":-5},"PublicListingsLayoutPage",{"_9":157},"PublicListingDetailPage",{"_9":10},"data",{"_11":12,"_13":14,"_15":16,"_17":18,"_19":20,"_21":22,"_23":24,"_25":26},"listing",{"_48":99,"_100":101,"_81":102,"_103":104,"_83":105,"_106":107,"_108":109,"_85":110,"_87":111,"_86":112,"_37":-5,"_113":114,"_115":116,"_117":-5,"_118":-5,"_119":120,"_121":61,"_122":123,"_124":125},"descriptionHtml",{"_98":76,"_22":76},"auth",{"_96":61,"_97":26},"walkScore",["P",18],"tenant",{"_27":28,"_29":30,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":41,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"lang","fr","pageUrl","https://rental.summumpm.com/fr/listings/3571-rue-gertrude/details","noindex",false,"address",{"_81":82,"_83":84,"_85":76,"_86":76,"_87":76,"_88":89,"_90":91,"_92":93,"_94":95},"analytics",{"_75":76,"_77":78,"_79":80},"colors",{"_72":73,"_74":73},"contact",{"_66":67,"_68":69,"_70":67,"_71":67},"customDomains",[63],"description","Appartements à louer dans le Grand Montréal.","emptyImage","features",{"_59":26,"_60":61,"_62":26},"icon","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/icon?v=1787531662636","legalName","Gestion Immobilière Summum","privacyPolicyUrl","https://summumpm.com/politique-de-confidentialite/","slug","summum","templateConfig",{"_55":56,"_57":58},"templateId","editorial","title","showcase",{},"listingSortOrder","smart","buildingVisibilityOverride","hasMarketingEnabled",true,"showUnitAvailability",{"_64":65},"domain","rental.summumpm.com","email","location@summumpm.com","phone","(438) 801-1080","broadcastEmail","agentReplyTo","primary","#182642","secondary","facebookPixel","","google","G-CPWFVW6CCX","googleTagManager","GTM-567KN95S","street","6-77 Rue Omer-Deserres","city","Blainville","neighborhood","latitude","longitude","region","Quebec","postcode","J7C 5V6","country","Canada","country_code","CA","loggedIn","isStaff","en","3571-rue-gertrude","area",0,"3571 Rue Gertrude","name","3571 Rue Gertrude, Montréal","Montréal","buildingId","dd538a99-b328-4c55-a0ef-e71e2b0fe009","availabilty",["D",1785542400000],"Verdun",-73.5688769,45.4680745,"images",[156],"automatedApplyMode","direct","buildingAutomatedApplyMode","leadFormConfig","buildingFeatures",[],"listed","units",[140],"cardData",{"_48":99,"_81":102,"_83":105,"_85":110,"_86":112,"_87":111,"_126":127,"_128":129,"_130":131,"_100":132,"_133":134,"_135":136},"unitId","85fb7a59-9104-40b8-b421-6f1172444fae","bedrooms",[139],"bathrooms",[139],[101],"price",[138],"availability",[137],"2026-08-01T00:00:00.000Z",1380,1,{"_48":127,"_100":101,"_141":-5,"_133":138,"_128":139,"_130":139,"_142":143,"_113":144,"_121":61,"_145":146,"_147":148,"_149":150,"_135":151,"_152":-5,"_153":-5,"_154":-5,"_40":155},"floor","alias","3571",[],"listing_type","Unit","pricing_strategy","per_month","space_type","apartment",["D",1785542400000],"floor_plan_name","floor_plan_image_path","promotion",[],"/storage/v1/object/public/summum/buildings/dd538a99-b328-4c55-a0ef-e71e2b0fe009/e932c10f-389e-48fb-852c-ae98de2c74c4.jpg",{"_19":158,"_159":160,"_161":162,"_163":26,"_164":165,"_166":61,"_167":101,"_168":169,"_170":171,"_172":26,"_173":26,"_174":26},{"_27":28,"_29":388,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":389,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"listings",[],"listingsByView",{"_383":160,"_384":385,"_386":387},"explodeProjects","initialFilters",{"_133":294,"_295":296,"_297":298,"_100":299,"_141":300,"_301":26,"_130":302,"_128":303,"_304":26,"_305":61,"_306":307,"_308":309},"defaultView","count","filters",{},"configs",{"_175":176,"_177":178,"_179":180,"_181":182,"_183":176,"_184":185},"isEmbed","widgetMissing","hasSubmissions","analysisProducts",[275,277,279,283,290],"analysisProductsPrice",{"_275":276,"_277":278,"_279":280,"_281":282,"_283":284,"_285":286,"_287":288,"_289":288,"_290":139,"_291":286,"_292":293},"notifications",{"_243":244},"form",{"_236":61,"_237":61,"_238":61,"_239":61,"_240":61,"_241":61,"_242":61},"enabledSkus","submissions",{"_186":187,"_188":189,"_190":191,"_192":193,"_31":194,"_195":-5},"all",[222,223,224,225,226,227,228,232,233,234,235],"steps",[222,223,224,225,226,227,228],"badges",[212,213,214,215,216,217],"statuses",[206,196,198,200,202,204,207,208,209,210,211],{"_196":197,"_198":199,"_200":201,"_202":203,"_204":205},"snoozeStep","pending","bg-pink-500","preapproved","bg-sky-500","approved","bg-purple-500","signature","bg-green-500","accepted","bg-amber-500","draft","chosen","rejected","lead","cancelled","soft_rejected",{"_218":196,"_220":197},{"_218":198,"_220":199},{"_218":200,"_220":201},{"_218":202,"_220":203},{"_218":204,"_220":205},{"_218":219,"_220":221},"id","snoozed","color","bg-teal-500",{"_218":206,"_220":-5,"_229":26},{"_218":196,"_220":197,"_229":61,"_230":26,"_231":26},{"_218":198,"_220":199,"_229":61,"_230":26,"_231":26},{"_218":200,"_220":201,"_229":61,"_230":26,"_231":26},{"_218":202,"_220":203,"_229":61,"_230":26,"_231":26},{"_218":204,"_220":205,"_229":61,"_230":26,"_231":26},{"_218":207,"_220":-5,"_229":61},"isActionable","staffActionnable","visitAgentActionnable",{"_218":208,"_220":-5,"_229":26},{"_218":209,"_220":-5,"_229":26},{"_218":210,"_220":-5,"_229":26},{"_218":211,"_220":-5,"_229":26},"tenant_payments_enabled","tenant_refunds_enabled","require_id_proof","require_payment_proof","allow_co_applicants","require_employment_reference","require_landlord_reference","emails",{"_245":246,"_247":248,"_19":249,"_250":251},"agent",[270,271,272,273,274,256,257,260,261,269],"manager",[269],[255,256,257,258,259,260,261,262,263,264,265,266,267,268,269],"admin",[252,253,254],"daily-recap","auth:role-changed","auth:ownership-transferred","invite-tenant","application-confirm","application-rejected","tenant-endorser-rejected","tenant-application-rejected-with-conditions","application-deadline-reminder","application-deadline-expired","submission-status-update","submission-marked-as-accepted","tenant-approved-with-conditions","tenant-approved-without-conditions","selected-as-new-tenant","submission-snoozed-reminder","submission-snoozed-expired","credit-unlock","agent-approved-with-conditions","agent-approved-without-conditions","agent-submission-snoozed-expired","agent-submission-snoozed-reminder","agent-submission-snoozed","ca_citizen_credit_check",1799,"ca_citizen_public_court_files",500,"qc_citizen_criminal_plumitif_check",1049,"qc_citizen_criminal_plumitif_municipal_check",699,"qc_citizen_rental_board_check",1000,"on_citizen_rental_board_check",999,"ca_citizen_workplace_reference_verification",1499,"ca_citizen_landlord_reference_verification","ca_citizen_rent_affordability_analysis","qc_citizen_lease_generation","qc_citizen_rental_board_extended_check",799,[139,382],"pricePerMonth",[139,382],"pricePerSqft",[101,101],[101,139],[101,101],"hasFloor",[101,139],[101,337],"hasCommercial","hasResidential","availableAmenities",[341,342,343,344,345,346,347],"availableNeighborhoods",[310,311,312,313,314,315,316,317,318,319,320,321,322,323],{"_103":340,"_167":331},{"_103":339,"_167":139},{"_103":338,"_167":139},{"_103":336,"_167":337},{"_103":335,"_167":139},{"_103":334,"_167":139},{"_103":333,"_167":139},{"_103":332,"_167":326},{"_103":330,"_167":331},{"_103":328,"_167":329},{"_103":327,"_167":326},{"_103":110,"_167":326},{"_103":325,"_167":326},{"_103":324,"_167":139},"Villeray—Saint-Michel—Parc-Extension","Ville-Marie",2,"Rosemont - La Petite-Patrie","Québec",8,"QC",5,"Mercier - Hochelaga-Maisonneuve","Le Sud-Ouest","Le Plateau-Mont-Royal","Hochelaga-Maisonneuve","Côte-des-Neiges - Notre-Dame-de-Grâce",3,"Côte-des-Neiges","Centre-Sud","Ahuntsic-Cartierville",{"_48":377,"_103":378,"_42":379},{"_48":373,"_103":374,"_42":365},{"_48":368,"_103":369,"_42":370},{"_48":363,"_103":364,"_42":365},{"_48":358,"_103":359,"_42":360},{"_48":353,"_103":354,"_42":355},{"_48":348,"_103":349,"_42":350},"electric-heating",{"_98":351,"_22":352},"lucide:thermometer-sun","Electric Heating","Chauffage Électrique","refrigerator",{"_98":356,"_22":357},"lucide:refrigerator","Refrigerator","Réfrigérateur","cats-allowed",{"_98":361,"_22":362},"lucide:paw-print","Cats Allowed","Chats autorisés","washer",{"_98":366,"_22":367},"lucide:washing-machine","Washer","Laveuse","water",{"_98":371,"_22":372},"lucide:droplet","Water","Eau","dryer",{"_98":375,"_22":376},"Dryer","Sèche-linge","oven",{"_98":380,"_22":381},"lucide:microwave","Oven","Four",2589,"list","map",[],"explode",[],{"_75":76,"_77":78,"_79":80},{"_59":26,"_60":61,"_62":26},{"_391":-5,"_392":-7,"_393":394,"_395":396,"_21":22,"_19":397,"_398":-5,"_399":400,"_170":171,"_401":-5,"_402":-5,"_403":404},"devTools","prefill","impersonate",{},"theme","light",{"_218":422,"_48":49,"_423":424,"_54":45,"_37":38,"_31":32,"_425":426,"_27":28,"_33":34,"_177":427,"_428":429,"_430":-5,"_431":432,"_44":45,"_433":434,"_435":436,"_46":47,"_437":-5,"_438":-5,"_439":-5,"_52":53,"_50":51,"_35":36,"_440":-5,"_441":-5,"_170":171,"_442":443,"_444":445,"_446":447,"_42":43,"_448":449,"_39":-7,"_450":451,"_40":452,"_453":454,"_455":-7,"_456":457,"_29":458,"_175":459,"_460":461,"_462":463},"toast","user",{"_408":26,"_409":-5,"_410":-5,"_411":-5,"_412":-5,"_413":-5,"_414":-5,"_415":-5,"_416":-5,"_417":-5,"_66":-5,"_68":-5,"_418":-5,"_97":26,"_419":26,"_420":-5,"_421":-5},"otpPendingEmail","otpPendingContextEmail","telemetry",{"_405":61,"_399":-5,"_406":407},"recording","group",{"_218":49,"_103":45},"isSignedIn","userId","firstName","lastName","fullName","dateOfBirth","preferredLanguage","orgRole","orgSlug","role","profilePicture","isImpersonated","impersonatorId","ipAddress","rGAcwldRQldzll4TQX9pO","assets",{"_42":555},"social",{"_552":553,"_554":76},{"_275":276,"_277":278,"_279":280,"_281":282,"_283":284,"_285":286,"_287":288,"_289":288,"_290":139,"_291":286,"_292":293},"stripeCustomerId","cus_TSsHw8GIAzdE3E","paymentSetupRequiredAfter","tos",{"_549":-5,"_204":61,"_550":26,"_551":503},"plan",{"_103":528,"_529":76,"_530":531,"_532":533,"_534":535,"_536":537,"_538":539,"_540":541,"_542":337,"_543":544,"_545":546,"_547":548},"metadata",{"_29":458},"consentConditionsText","consentConditionsEn","consentConditionsFr","suspendedAt","archivedAt","billing",{"_520":521,"_428":429,"_522":523,"_44":45,"_524":525,"_526":527},"bucket",{"_517":49,"_518":519},"appUrl","https://rental.summumpm.com","logo",{"_396":514,"_515":516},"tosHistory",[503],{"_471":61,"_472":-7,"_60":61,"_473":26,"_474":61,"_475":61,"_476":26,"_477":26,"_478":-7,"_479":26,"_480":-7,"_481":61,"_482":26,"_483":26,"_484":485,"_486":26,"_487":26,"_488":101,"_489":-7,"_490":26,"_59":26,"_491":61,"_62":26,"_492":493,"_494":61,"_495":26,"_496":26,"_497":139,"_498":26,"_499":26,"_500":26,"_501":26},"disabledModules",[],"rolePermissions","banner",{"_98":469,"_22":470},{"_77":78,"_468":76,"_75":76,"_79":80},[275,277,279,283,290],"payments",{"_464":61,"_465":61,"_466":26,"_467":26},"version","prod-20261027-1707b56","isTenantPayingForCheck","isOrgPaymentSetup","isPrepaid","shouldAskToSetupPayment","googleAds","Contact us at (438) 801-1080 to book your visit!","Contactez-nous au (438) 801-1080 pour planifier votre visite!","tempEquifaxEnabled","whArrayAsObjects","disableAgents","preventInvitation","isBannerEnabled","preventApplyWhenNotListed","hasDynamicLinks","hasAddressVariants","isSinEnforced","isTestMode","hasSubmissionsAssignedEnabled","hasLargeUnitChangeTrigger","hideServiceEstimates","unitChangeThreshold",300,"showAgentPortalButton","hasLegalChecksConfidence","legalChecksConfidenceLevel","automatedPrepayed","hasPerBuildingLeadForm","hasDocumentAiEnabled","partnerOffersEnabled",[502],"showPerMonthPricing","blockOutOfProvinceEndorsers","hasLeaseModificationCheckReuse","leaseModificationCheckReuseMonths","hopemIntegrationEnabled","voltixIntegrationEnabled","leaseGenerationEnabled","hasPerProjectChecks","youset",{"_504":505,"_506":507,"_462":508,"_204":61,"_202":509,"_510":511,"_512":513},"ip","163.123.169.193","url","tos/tos_v1.0.0_1763739934838_H1ii8G.pdf","1.0.0","PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzU4IDE5MiIgd2lkdGg9Ijc1OCIgaGVpZ2h0PSIxOTIiPjxwYXRoIGQ9Ik0gMjcxLjY4NCw4NC45MTQgQyAyNzAuNDIzLDg3LjIxMCAyNzAuNTQxLDg3LjI2MiAyNjkuMzk4LDg5LjYwOSIgc3Ryb2tlLXdpZHRoPSI1LjM4NSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjM5OCw4OS42MDkgQyAyNjcuNzU4LDkzLjk3MSAyNjcuNTcxLDkzLjg5MSAyNjUuOTgwLDk4LjI3NyIgc3Ryb2tlLXdpZHRoPSIzLjk1OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY1Ljk4MCw5OC4yNzcgQyAyNjMuNjM1LDEwMy4zMzMgMjYzLjg1NywxMDMuNDIxIDI2MS41OTgsMTA4LjUwOCIgc3Ryb2tlLXdpZHRoPSIzLjU1MCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYxLjU5OCwxMDguNTA4IEMgMjYwLjIxMywxMTIuMjkyIDI2MC4xMjMsMTEyLjI1MyAyNTguOTU3LDExNi4xMTciIHN0cm9rZS13aWR0aD0iMy43MzIiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1OC45NTcsMTE2LjExNyBDIDI1Ni42MzYsMTIzLjUwNyAyNTcuOTc1LDExOS4xMDggMjU3LjEyMSwxMjIuMTQxIiBzdHJva2Utd2lkdGg9IjQuMzc1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNTcuMTIxLDEyMi4xNDEgQyAyNTkuMDY5LDExMy43MDIgMjU4LjQzMywxMTguNDQzIDI2Mi41NTEsMTA1Ljk4OCIgc3Ryb2tlLXdpZHRoPSI0LjYyOCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYyLjU1MSwxMDUuOTg4IEMgMjY1Ljc3NywxMDAuNjMxIDI2NS4xMDUsMTAwLjMzMCAyNjkuMTkxLDk1LjM5OCIgc3Ryb2tlLXdpZHRoPSIzLjQ5MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjE5MSw5NS4zOTggQyAyNzAuOTQ1LDkyLjM0MyAyNzEuMDk4LDkyLjQ3NyAyNzMuMTkxLDg5LjY4MCIgc3Ryb2tlLXdpZHRoPSIzLjgyNCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjE5MSw4OS42ODAgQyAyNzkuMTYyLDgyLjQ5MSAyNzkuMTgwLDgyLjU3OSAyODUuNjYwLDc1Ljg3MSIgc3Ryb2tlLXdpZHRoPSIyLjg3NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg1LjY2MCw3NS44NzEgQyAyODcuODgzLDczLjk1NCAyODcuNzA1LDczLjc4OCAyOTAuMjc3LDcyLjI3MyIgc3Ryb2tlLXdpZHRoPSIzLjY4MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjkwLjI3Nyw3Mi4yNzMgQyAyOTYuNjQ5LDY3LjU2MCAyOTYuNzM2LDY3Ljc0MSAzMDMuMzY3LDYzLjQ0NSIgc3Ryb2tlLXdpZHRoPSIzLjExMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzAzLjM2Nyw2My40NDUgQyAzMDYuNjc2LDYxLjU5MyAzMDYuNTgwLDYxLjQ3OCAzMTAuMTQxLDYwLjEwOSIgc3Ryb2tlLXdpZHRoPSIzLjU3NiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzEwLjE0MSw2MC4xMDkgQyAzMTMuMjg0LDU4Ljc0MyAzMTMuMjY2LDU4Ljc3MSAzMTYuNTQ3LDU3LjgwMSIgc3Ryb2tlLXdpZHRoPSIzLjg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE2LjU0Nyw1Ny44MDEgQyAzMTkuNDE4LDU2LjIyMSAzMTkuMTY1LDU3LjA0NCAzMjEuOTAyLDU2LjcxMSIgc3Ryb2tlLXdpZHRoPSI0LjQ5NCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIxLjkwMiw1Ni43MTEgQyAzMjYuMzYxLDU3LjQ5MyAzMjQuNTE2LDU3LjIyNyAzMjYuNzQyLDU5LjgxMyIgc3Ryb2tlLXdpZHRoPSI0Ljg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzI2Ljc0Miw1OS44MTMgQyAzMjYuMzM2LDY1LjA4MiAzMjcuNDA0LDYzLjgzMyAzMjMuOTg4LDY5LjM5MSIgc3Ryb2tlLXdpZHRoPSIzLjg2MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIzLjk4OCw2OS4zOTEgQyAzMTkuODE3LDc1Ljk1MyAzMjAuMzU1LDc2LjA1OSAzMTQuNzgxLDgxLjc2NiIgc3Ryb2tlLXdpZHRoPSIzLjEwNSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE0Ljc4MSw4MS43NjYgQyAzMDkuODU0LDg3LjQ0NSAzMDkuOTE2LDg3LjM4MSAzMDQuMTg4LDkyLjI0NiIgc3Ryb2tlLXdpZHRoPSIzLjAyOSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzA0LjE4OCw5Mi4yNDYgQyAyOTguODA2LDk2LjcwMCAyOTguOTE5LDk2LjcxMCAyOTIuOTEwLDEwMC4yOTciIHN0cm9rZS13aWR0aD0iMy4wMTkiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI5Mi45MTAsMTAwLjI5NyBDIDI4Ny44NTQsMTAzLjQ5MyAyODcuOTA4LDEwMy4zNDggMjgyLjM5MSwxMDUuNTQzIiBzdHJva2Utd2lkdGg9IjMuMjI3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODIuMzkxLDEwNS41NDMgQyAyNzguMDg0LDEwNi42NTYgMjc4LjI2MywxMDcuMDkyIDI3My43MjcsMTA3LjQ5NiIgc3Ryb2tlLXdpZHRoPSIzLjU0MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjcyNywxMDcuNDk2IEMgMjcwLjc4OSwxMDguMDY4IDI3MC44MDEsMTA4LjA2MCAyNjcuODI0LDEwOC4zNTIiIHN0cm9rZS13aWR0aD0iMy45MTMiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4NS41MjMsOTEuNjQxIEMgMjg1LjAwOSw5OC4wMzYgMjg0LjcyNyw5Ny45ODIgMjgzLjkzMCwxMDQuMzI0IiBzdHJva2Utd2lkdGg9IjUuMjU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODMuOTMwLDEwNC4zMjQgQyAyODIuMjQ0LDExMS4xNTggMjgzLjMxNCwxMDcuOTEzIDI4Mi4xMzMsMTExLjM5NSIgc3Ryb2tlLXdpZHRoPSI0LjI1NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjgyLjEzMywxMTEuMzk1IEMgMjgyLjA1MCwxMDcuOTc5IDI4Mi4wMzcsMTExLjYwMCAyODMuNTE2LDEwNS4yMDciIHN0cm9rZS13aWR0aD0iNC44NjgiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4My41MTYsMTA1LjIwNyBDIDI4OC4zNjYsOTUuOTk4IDI4OC4yNzgsOTYuMjAwIDI5NC41OTAsODcuODM2IiBzdHJva2Utd2lkdGg9IjIuOTY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTQuNTkwLDg3LjgzNiBDIDMwMS4zMjIsODAuMDM4IDMwMC44MDgsNzkuNjgyIDMwOC4zOTgsNzIuNTc0IiBzdHJva2Utd2lkdGg9IjIuNTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguMzk4LDcyLjU3NCBDIDMxMS42MjYsNjguMzM0IDMxMS45NTUsNjguODIzIDMxNS44NTUsNjUuNDA2IiBzdHJva2Utd2lkdGg9IjMuMTY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTUuODU1LDY1LjQwNiBDIDMyNS44MDYsNTguMzc5IDMyNS43MDEsNTguNTkxIDMzNi41NDcsNTMuMDkwIiBzdHJva2Utd2lkdGg9IjIuNTI5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzYuNTQ3LDUzLjA5MCBDIDM0Mi44NTEsNTAuNTkyIDM0Mi41NTYsNTAuMTMxIDM0OS4zNTUsNDguOTEwIiBzdHJva2Utd2lkdGg9IjIuOTI2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDkuMzU1LDQ4LjkxMCBDIDM1NC4wMTIsNDcuOTM1IDM1My45MzMsNDcuNzI3IDM1OC43MTEsNDcuMzU5IiBzdHJva2Utd2lkdGg9IjMuMzI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTguNzExLDQ3LjM1OSBDIDM2My4yOTEsNDUuNzg1IDM2MS4yODgsNDcuMDQ0IDM2My45MDYsNDcuMTI5IiBzdHJva2Utd2lkdGg9IjMuOTU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjMuOTA2LDQ3LjEyOSBDIDM2My45NzIsNTEuMzM5IDM2NC43MjEsNDguOTEwIDM2MS41NzAsNTMuNjA5IiBzdHJva2Utd2lkdGg9IjQuNDM1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjEuNTcwLDUzLjYwOSBDIDM1NC4xNTgsNTguNzUwIDM1NS4yODUsNTkuNTUwIDM0Ni41MzEsNjMuNTUxIiBzdHJva2Utd2lkdGg9IjMuMDA5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDYuNTMxLDYzLjU1MSBDIDMzNy4wMDUsNjkuMzU0IDMzNy4wOTQsNjkuNDkyIDMyNy40NDEsNzUuMDk0IiBzdHJva2Utd2lkdGg9IjIuNTgxIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjcuNDQxLDc1LjA5NCBDIDMyMi40NDYsNzcuODYzIDMyMi41NTAsNzguMDI5IDMxNy42MjEsODAuOTAyIiBzdHJva2Utd2lkdGg9IjMuMDg1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTcuNjIxLDgwLjkwMiBDIDMxMi44NTMsODMuNjIzIDMxMy4wMjYsODMuNzk3IDMwOC42MDIsODYuOTYxIiBzdHJva2Utd2lkdGg9IjMuMjY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguNjAyLDg2Ljk2MSBDIDMwMy4yNzIsOTAuMDkyIDMwNi4zMDAsODguNzY4IDMwNC41MTYsOTEuMTkxIiBzdHJva2Utd2lkdGg9IjQuMTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDQuNTE2LDkxLjE5MSBDIDMxMC4yNTEsOTIuNjg3IDMwNy4wMTQsOTMuMzk5IDMxNi4wODYsOTMuNTc0IiBzdHJva2Utd2lkdGg9IjMuNTQwIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTYuMDg2LDkzLjU3NCBDIDMyNS41NzgsOTQuNDYyIDMyNS40OTQsOTUuMDA1IDMzNS4wMDAsOTUuODI4IiBzdHJva2Utd2lkdGg9IjIuODY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzUuMDAwLDk1LjgyOCBDIDM0NC40MDEsOTcuMTg1IDM0NC4zODYsOTcuMTg5IDM1My43MDMsOTkuMDI3IiBzdHJva2Utd2lkdGg9IjIuNjU1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTMuNzAzLDk5LjAyNyBDIDM1OS45ODIsMTAwLjI1MiAzNTkuOTU2LDEwMC4yNjUgMzY2LjEwOSwxMDEuOTg4IiBzdHJva2Utd2lkdGg9IjMuMDIzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjYuMTA5LDEwMS45ODggQyAzNzUuNDEzLDEwMi41ODYgMzcwLjA1MiwxMDMuMTA2IDM3My44NDQsMTA0LjczNCIgc3Ryb2tlLXdpZHRoPSIzLjQ3OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzczLjg0NCwxMDQuNzM0IEMgMzY0LjczNiwxMTUuMDg2IDM2OC45OTUsMTExLjM3MCAzNTMuMjczLDExOS41NTUiIHN0cm9rZS13aWR0aD0iMy44NTciIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDM1My4yNzMsMTE5LjU1NSBDIDMzOS44MjksMTIyLjExMiAzNDAuOTQxLDEyNC4zNjMgMzI2LjI1NCwxMjMuMjg5IiBzdHJva2Utd2lkdGg9IjIuNDg4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjYuMjU0LDEyMy4yODkgQyAzMDcuMDA0LDEyNS45MTUgMzA3LjEzNSwxMjQuOTQ3IDI4Ny44ODcsMTI1LjIyNyIgc3Ryb2tlLXdpZHRoPSIxLjkwMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg3Ljg4NywxMjUuMjI3IEMgMjY5Ljk5OSwxMjQuMzM5IDI3MC4zMjcsMTI0LjU5NCAyNTIuODk4LDEyMC42NDgiIHN0cm9rZS13aWR0aD0iMS44NTAiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1Mi44OTgsMTIwLjY0OCBDIDI0NC43NjgsMTE5LjU4NiAyNDUuOTU2LDExOS4xNTAgMjM5LjgwMSwxMTQuODQ4IiBzdHJva2Utd2lkdGg9IjIuNTU0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMzkuODAxLDExNC44NDggQyAyMjYuNjg1LDEwNC41NjMgMjMyLjgwNywxMDguMTc2IDIyOC45NzcsOTcuODI4IiBzdHJva2Utd2lkdGg9IjIuNjIyIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMjguOTc3LDk3LjgyOCBDIDIzOC41NzAsODkuMzAwIDIzMS43NzksODkuNTkyIDI0OS45ODgsODQuOTA2IiBzdHJva2Utd2lkdGg9IjIuMzg0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNDkuOTg4LDg0LjkwNiBDIDI3NC4zNDYsNzUuNDE3IDI3My45MTIsNzUuNzAwIDI5OS42NjAsNzAuNjI5IiBzdHJva2Utd2lkdGg9IjEuNTMzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTkuNjYwLDcwLjYyOSBDIDMzNS43ODYsNjMuNzU5IDMzNS40NjQsNjMuODU3IDM3Mi4yMjMsNjEuNzg1IiBzdHJva2Utd2lkdGg9IjEuMTY5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNzIuMjIzLDYxLjc4NSBDIDQyMi45MDksNjEuMDI3IDQyMi43NDMsNTkuMDQ4IDQ3My41NzQsNjEuMjA3IiBzdHJva2Utd2lkdGg9IjEuMTI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PC9zdmc+","acceptedAt","2025-11-21T15:45:35.398Z","acceptedBy","Philippe Brassard (philippe@summumpm.com)","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/light","dark","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/dark","public","private","summum_private","billingEmail","philippe@summumpm.com","lastDigit","6148","paymentType","visa","kind","configured","Pro","notes","planId","pro_2025_06","startDate","2025-11-21","yearlyPrice",2990,"monthlyPrice",89,"supportLevel","standard","freeTrialDays",14,"includedUsers","billingInterval","monthly","additionalUserPrice",49,"planDurationInMonths",12,"current","shouldAccept","lastAccepted","facebook","https://www.facebook.com/summumpm","youtube",{"_556":557},"updated_at","2026-08-24T00:34:22.636Z"]
2+P18:-5
added tests/fixtures/summum/0134b055eb4f1f1f09ca.txt +2 −0
@@ -0,0 +1,2 @@
1+[{"_1":2,"_3":4,"_5":6,"_7":8},"root",{"_9":389},"public-language",{"_9":-5},"PublicListingsLayoutPage",{"_9":155},"PublicListingDetailPage",{"_9":10},"data",{"_11":12,"_13":14,"_15":16,"_17":18,"_19":20,"_21":22,"_23":24,"_25":26},"listing",{"_48":99,"_100":101,"_81":102,"_103":76,"_83":104,"_105":106,"_107":108,"_85":76,"_87":109,"_86":110,"_37":-5,"_111":112,"_113":114,"_115":-5,"_116":-5,"_117":118,"_119":61,"_120":121,"_122":123},"descriptionHtml",{"_98":76,"_22":76},"auth",{"_96":61,"_97":26},"walkScore",["P",18],"tenant",{"_27":28,"_29":30,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":41,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"lang","fr","pageUrl","https://rental.summumpm.com/fr/listings/790-rue-de-liege-e/details","noindex",false,"address",{"_81":82,"_83":84,"_85":76,"_86":76,"_87":76,"_88":89,"_90":91,"_92":93,"_94":95},"analytics",{"_75":76,"_77":78,"_79":80},"colors",{"_72":73,"_74":73},"contact",{"_66":67,"_68":69,"_70":67,"_71":67},"customDomains",[63],"description","Appartements à louer dans le Grand Montréal.","emptyImage","features",{"_59":26,"_60":61,"_62":26},"icon","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/icon?v=1787531662636","legalName","Gestion Immobilière Summum","privacyPolicyUrl","https://summumpm.com/politique-de-confidentialite/","slug","summum","templateConfig",{"_55":56,"_57":58},"templateId","editorial","title","showcase",{},"listingSortOrder","smart","buildingVisibilityOverride","hasMarketingEnabled",true,"showUnitAvailability",{"_64":65},"domain","rental.summumpm.com","email","location@summumpm.com","phone","(438) 801-1080","broadcastEmail","agentReplyTo","primary","#182642","secondary","facebookPixel","","google","G-CPWFVW6CCX","googleTagManager","GTM-567KN95S","street","6-77 Rue Omer-Deserres","city","Blainville","neighborhood","latitude","longitude","region","Quebec","postcode","J7C 5V6","country","Canada","country_code","CA","loggedIn","isStaff","en","790-rue-de-liege-e","area",1,"790 Rue de Liège E","name","Montréal","buildingId","24642ccc-ff71-4534-8d00-d6fb8573af19","availabilty",["D",1801440000000],-73.632677,45.548266,"images",[154],"automatedApplyMode","direct","buildingAutomatedApplyMode","leadFormConfig","buildingFeatures",[],"listed","units",[138],"cardData",{"_48":99,"_81":102,"_83":104,"_85":76,"_86":110,"_87":109,"_124":125,"_126":127,"_128":129,"_100":130,"_131":132,"_133":134},"unitId","7d1645e2-76fd-4342-83f6-f714cf8cb1ff","bedrooms",[137],"bathrooms",[101],[101],"price",[136],"availability",[135],"2027-02-01T00:00:00.000Z",1695,2,{"_48":125,"_100":101,"_139":-5,"_131":136,"_126":137,"_128":101,"_140":141,"_111":142,"_119":61,"_143":144,"_145":146,"_147":148,"_133":149,"_150":-5,"_151":-5,"_152":-5,"_40":153},"floor","alias","1",[],"listing_type","Unit","pricing_strategy","per_month","space_type","apartment",["D",1801440000000],"floor_plan_name","floor_plan_image_path","promotion",[],"/storage/v1/object/public/summum/buildings/24642ccc-ff71-4534-8d00-d6fb8573af19/99bf68dc-8399-42d2-af70-69f61bb8a8f2.jpg",{"_19":156,"_157":158,"_159":160,"_161":26,"_162":163,"_164":61,"_165":166,"_167":168,"_169":170,"_171":26,"_172":26,"_173":26},{"_27":28,"_29":387,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":388,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"listings",[],"listingsByView",{"_382":158,"_383":384,"_385":386},"explodeProjects","initialFilters",{"_131":293,"_294":295,"_296":297,"_100":298,"_139":299,"_300":26,"_128":301,"_126":302,"_303":26,"_304":61,"_305":306,"_307":308},"defaultView","count",0,"filters",{},"configs",{"_174":175,"_176":177,"_178":179,"_180":181,"_182":175,"_183":184},"isEmbed","widgetMissing","hasSubmissions","analysisProducts",[274,276,278,282,289],"analysisProductsPrice",{"_274":275,"_276":277,"_278":279,"_280":281,"_282":283,"_284":285,"_286":287,"_288":287,"_289":101,"_290":285,"_291":292},"notifications",{"_242":243},"form",{"_235":61,"_236":61,"_237":61,"_238":61,"_239":61,"_240":61,"_241":61},"enabledSkus","submissions",{"_185":186,"_187":188,"_189":190,"_191":192,"_31":193,"_194":-5},"all",[221,222,223,224,225,226,227,231,232,233,234],"steps",[221,222,223,224,225,226,227],"badges",[211,212,213,214,215,216],"statuses",[205,195,197,199,201,203,206,207,208,209,210],{"_195":196,"_197":198,"_199":200,"_201":202,"_203":204},"snoozeStep","pending","bg-pink-500","preapproved","bg-sky-500","approved","bg-purple-500","signature","bg-green-500","accepted","bg-amber-500","draft","chosen","rejected","lead","cancelled","soft_rejected",{"_217":195,"_219":196},{"_217":197,"_219":198},{"_217":199,"_219":200},{"_217":201,"_219":202},{"_217":203,"_219":204},{"_217":218,"_219":220},"id","snoozed","color","bg-teal-500",{"_217":205,"_219":-5,"_228":26},{"_217":195,"_219":196,"_228":61,"_229":26,"_230":26},{"_217":197,"_219":198,"_228":61,"_229":26,"_230":26},{"_217":199,"_219":200,"_228":61,"_229":26,"_230":26},{"_217":201,"_219":202,"_228":61,"_229":26,"_230":26},{"_217":203,"_219":204,"_228":61,"_229":26,"_230":26},{"_217":206,"_219":-5,"_228":61},"isActionable","staffActionnable","visitAgentActionnable",{"_217":207,"_219":-5,"_228":26},{"_217":208,"_219":-5,"_228":26},{"_217":209,"_219":-5,"_228":26},{"_217":210,"_219":-5,"_228":26},"tenant_payments_enabled","tenant_refunds_enabled","require_id_proof","require_payment_proof","allow_co_applicants","require_employment_reference","require_landlord_reference","emails",{"_244":245,"_246":247,"_19":248,"_249":250},"agent",[269,270,271,272,273,255,256,259,260,268],"manager",[268],[254,255,256,257,258,259,260,261,262,263,264,265,266,267,268],"admin",[251,252,253],"daily-recap","auth:role-changed","auth:ownership-transferred","invite-tenant","application-confirm","application-rejected","tenant-endorser-rejected","tenant-application-rejected-with-conditions","application-deadline-reminder","application-deadline-expired","submission-status-update","submission-marked-as-accepted","tenant-approved-with-conditions","tenant-approved-without-conditions","selected-as-new-tenant","submission-snoozed-reminder","submission-snoozed-expired","credit-unlock","agent-approved-with-conditions","agent-approved-without-conditions","agent-submission-snoozed-expired","agent-submission-snoozed-reminder","agent-submission-snoozed","ca_citizen_credit_check",1799,"ca_citizen_public_court_files",500,"qc_citizen_criminal_plumitif_check",1049,"qc_citizen_criminal_plumitif_municipal_check",699,"qc_citizen_rental_board_check",1000,"on_citizen_rental_board_check",999,"ca_citizen_workplace_reference_verification",1499,"ca_citizen_landlord_reference_verification","ca_citizen_rent_affordability_analysis","qc_citizen_lease_generation","qc_citizen_rental_board_extended_check",799,[101,381],"pricePerMonth",[101,381],"pricePerSqft",[166,166],[166,101],[166,166],"hasFloor",[166,101],[166,336],"hasCommercial","hasResidential","availableAmenities",[340,341,342,343,344,345,346],"availableNeighborhoods",[309,310,311,312,313,314,315,316,317,318,319,320,321,322],{"_103":339,"_165":330},{"_103":338,"_165":101},{"_103":337,"_165":101},{"_103":335,"_165":336},{"_103":334,"_165":101},{"_103":333,"_165":101},{"_103":332,"_165":101},{"_103":331,"_165":137},{"_103":329,"_165":330},{"_103":327,"_165":328},{"_103":326,"_165":137},{"_103":325,"_165":137},{"_103":324,"_165":137},{"_103":323,"_165":101},"Villeray—Saint-Michel—Parc-Extension","Ville-Marie","Verdun","Rosemont - La Petite-Patrie","Québec",8,"QC",5,"Mercier - Hochelaga-Maisonneuve","Le Sud-Ouest","Le Plateau-Mont-Royal","Hochelaga-Maisonneuve","Côte-des-Neiges - Notre-Dame-de-Grâce",3,"Côte-des-Neiges","Centre-Sud","Ahuntsic-Cartierville",{"_48":376,"_103":377,"_42":378},{"_48":372,"_103":373,"_42":364},{"_48":367,"_103":368,"_42":369},{"_48":362,"_103":363,"_42":364},{"_48":357,"_103":358,"_42":359},{"_48":352,"_103":353,"_42":354},{"_48":347,"_103":348,"_42":349},"electric-heating",{"_98":350,"_22":351},"lucide:thermometer-sun","Electric Heating","Chauffage Électrique","refrigerator",{"_98":355,"_22":356},"lucide:refrigerator","Refrigerator","Réfrigérateur","cats-allowed",{"_98":360,"_22":361},"lucide:paw-print","Cats Allowed","Chats autorisés","washer",{"_98":365,"_22":366},"lucide:washing-machine","Washer","Laveuse","water",{"_98":370,"_22":371},"lucide:droplet","Water","Eau","dryer",{"_98":374,"_22":375},"Dryer","Sèche-linge","oven",{"_98":379,"_22":380},"lucide:microwave","Oven","Four",2589,"list","map",[],"explode",[],{"_75":76,"_77":78,"_79":80},{"_59":26,"_60":61,"_62":26},{"_390":-5,"_391":-7,"_392":393,"_394":395,"_21":22,"_19":396,"_397":-5,"_398":399,"_169":170,"_400":-5,"_401":-5,"_402":403},"devTools","prefill","impersonate",{},"theme","light",{"_217":421,"_48":49,"_422":423,"_54":45,"_37":38,"_31":32,"_424":425,"_27":28,"_33":34,"_176":426,"_427":428,"_429":-5,"_430":431,"_44":45,"_432":433,"_434":435,"_46":47,"_436":-5,"_437":-5,"_438":-5,"_52":53,"_50":51,"_35":36,"_439":-5,"_440":-5,"_169":170,"_441":442,"_443":444,"_445":446,"_42":43,"_447":448,"_39":-7,"_449":450,"_40":451,"_452":453,"_454":-7,"_455":456,"_29":457,"_174":458,"_459":460,"_461":462},"toast","user",{"_407":26,"_408":-5,"_409":-5,"_410":-5,"_411":-5,"_412":-5,"_413":-5,"_414":-5,"_415":-5,"_416":-5,"_66":-5,"_68":-5,"_417":-5,"_97":26,"_418":26,"_419":-5,"_420":-5},"otpPendingEmail","otpPendingContextEmail","telemetry",{"_404":61,"_398":-5,"_405":406},"recording","group",{"_217":49,"_103":45},"isSignedIn","userId","firstName","lastName","fullName","dateOfBirth","preferredLanguage","orgRole","orgSlug","role","profilePicture","isImpersonated","impersonatorId","ipAddress","rGAcwldRQldzll4TQX9pO","assets",{"_42":554},"social",{"_551":552,"_553":76},{"_274":275,"_276":277,"_278":279,"_280":281,"_282":283,"_284":285,"_286":287,"_288":287,"_289":101,"_290":285,"_291":292},"stripeCustomerId","cus_TSsHw8GIAzdE3E","paymentSetupRequiredAfter","tos",{"_548":-5,"_203":61,"_549":26,"_550":502},"plan",{"_103":527,"_528":76,"_529":530,"_531":532,"_533":534,"_535":536,"_537":538,"_539":540,"_541":336,"_542":543,"_544":545,"_546":547},"metadata",{"_29":457},"consentConditionsText","consentConditionsEn","consentConditionsFr","suspendedAt","archivedAt","billing",{"_519":520,"_427":428,"_521":522,"_44":45,"_523":524,"_525":526},"bucket",{"_516":49,"_517":518},"appUrl","https://rental.summumpm.com","logo",{"_395":513,"_514":515},"tosHistory",[502],{"_470":61,"_471":-7,"_60":61,"_472":26,"_473":61,"_474":61,"_475":26,"_476":26,"_477":-7,"_478":26,"_479":-7,"_480":61,"_481":26,"_482":26,"_483":484,"_485":26,"_486":26,"_487":166,"_488":-7,"_489":26,"_59":26,"_490":61,"_62":26,"_491":492,"_493":61,"_494":26,"_495":26,"_496":101,"_497":26,"_498":26,"_499":26,"_500":26},"disabledModules",[],"rolePermissions","banner",{"_98":468,"_22":469},{"_77":78,"_467":76,"_75":76,"_79":80},[274,276,278,282,289],"payments",{"_463":61,"_464":61,"_465":26,"_466":26},"version","prod-20261027-1707b56","isTenantPayingForCheck","isOrgPaymentSetup","isPrepaid","shouldAskToSetupPayment","googleAds","Contact us at (438) 801-1080 to book your visit!","Contactez-nous au (438) 801-1080 pour planifier votre visite!","tempEquifaxEnabled","whArrayAsObjects","disableAgents","preventInvitation","isBannerEnabled","preventApplyWhenNotListed","hasDynamicLinks","hasAddressVariants","isSinEnforced","isTestMode","hasSubmissionsAssignedEnabled","hasLargeUnitChangeTrigger","hideServiceEstimates","unitChangeThreshold",300,"showAgentPortalButton","hasLegalChecksConfidence","legalChecksConfidenceLevel","automatedPrepayed","hasPerBuildingLeadForm","hasDocumentAiEnabled","partnerOffersEnabled",[501],"showPerMonthPricing","blockOutOfProvinceEndorsers","hasLeaseModificationCheckReuse","leaseModificationCheckReuseMonths","hopemIntegrationEnabled","voltixIntegrationEnabled","leaseGenerationEnabled","hasPerProjectChecks","youset",{"_503":504,"_505":506,"_461":507,"_203":61,"_201":508,"_509":510,"_511":512},"ip","163.123.169.193","url","tos/tos_v1.0.0_1763739934838_H1ii8G.pdf","1.0.0","PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzU4IDE5MiIgd2lkdGg9Ijc1OCIgaGVpZ2h0PSIxOTIiPjxwYXRoIGQ9Ik0gMjcxLjY4NCw4NC45MTQgQyAyNzAuNDIzLDg3LjIxMCAyNzAuNTQxLDg3LjI2MiAyNjkuMzk4LDg5LjYwOSIgc3Ryb2tlLXdpZHRoPSI1LjM4NSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjM5OCw4OS42MDkgQyAyNjcuNzU4LDkzLjk3MSAyNjcuNTcxLDkzLjg5MSAyNjUuOTgwLDk4LjI3NyIgc3Ryb2tlLXdpZHRoPSIzLjk1OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY1Ljk4MCw5OC4yNzcgQyAyNjMuNjM1LDEwMy4zMzMgMjYzLjg1NywxMDMuNDIxIDI2MS41OTgsMTA4LjUwOCIgc3Ryb2tlLXdpZHRoPSIzLjU1MCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYxLjU5OCwxMDguNTA4IEMgMjYwLjIxMywxMTIuMjkyIDI2MC4xMjMsMTEyLjI1MyAyNTguOTU3LDExNi4xMTciIHN0cm9rZS13aWR0aD0iMy43MzIiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1OC45NTcsMTE2LjExNyBDIDI1Ni42MzYsMTIzLjUwNyAyNTcuOTc1LDExOS4xMDggMjU3LjEyMSwxMjIuMTQxIiBzdHJva2Utd2lkdGg9IjQuMzc1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNTcuMTIxLDEyMi4xNDEgQyAyNTkuMDY5LDExMy43MDIgMjU4LjQzMywxMTguNDQzIDI2Mi41NTEsMTA1Ljk4OCIgc3Ryb2tlLXdpZHRoPSI0LjYyOCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYyLjU1MSwxMDUuOTg4IEMgMjY1Ljc3NywxMDAuNjMxIDI2NS4xMDUsMTAwLjMzMCAyNjkuMTkxLDk1LjM5OCIgc3Ryb2tlLXdpZHRoPSIzLjQ5MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjE5MSw5NS4zOTggQyAyNzAuOTQ1LDkyLjM0MyAyNzEuMDk4LDkyLjQ3NyAyNzMuMTkxLDg5LjY4MCIgc3Ryb2tlLXdpZHRoPSIzLjgyNCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjE5MSw4OS42ODAgQyAyNzkuMTYyLDgyLjQ5MSAyNzkuMTgwLDgyLjU3OSAyODUuNjYwLDc1Ljg3MSIgc3Ryb2tlLXdpZHRoPSIyLjg3NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg1LjY2MCw3NS44NzEgQyAyODcuODgzLDczLjk1NCAyODcuNzA1LDczLjc4OCAyOTAuMjc3LDcyLjI3MyIgc3Ryb2tlLXdpZHRoPSIzLjY4MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjkwLjI3Nyw3Mi4yNzMgQyAyOTYuNjQ5LDY3LjU2MCAyOTYuNzM2LDY3Ljc0MSAzMDMuMzY3LDYzLjQ0NSIgc3Ryb2tlLXdpZHRoPSIzLjExMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzAzLjM2Nyw2My40NDUgQyAzMDYuNjc2LDYxLjU5MyAzMDYuNTgwLDYxLjQ3OCAzMTAuMTQxLDYwLjEwOSIgc3Ryb2tlLXdpZHRoPSIzLjU3NiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzEwLjE0MSw2MC4xMDkgQyAzMTMuMjg0LDU4Ljc0MyAzMTMuMjY2LDU4Ljc3MSAzMTYuNTQ3LDU3LjgwMSIgc3Ryb2tlLXdpZHRoPSIzLjg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE2LjU0Nyw1Ny44MDEgQyAzMTkuNDE4LDU2LjIyMSAzMTkuMTY1LDU3LjA0NCAzMjEuOTAyLDU2LjcxMSIgc3Ryb2tlLXdpZHRoPSI0LjQ5NCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIxLjkwMiw1Ni43MTEgQyAzMjYuMzYxLDU3LjQ5MyAzMjQuNTE2LDU3LjIyNyAzMjYuNzQyLDU5LjgxMyIgc3Ryb2tlLXdpZHRoPSI0Ljg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzI2Ljc0Miw1OS44MTMgQyAzMjYuMzM2LDY1LjA4MiAzMjcuNDA0LDYzLjgzMyAzMjMuOTg4LDY5LjM5MSIgc3Ryb2tlLXdpZHRoPSIzLjg2MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIzLjk4OCw2OS4zOTEgQyAzMTkuODE3LDc1Ljk1MyAzMjAuMzU1LDc2LjA1OSAzMTQuNzgxLDgxLjc2NiIgc3Ryb2tlLXdpZHRoPSIzLjEwNSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE0Ljc4MSw4MS43NjYgQyAzMDkuODU0LDg3LjQ0NSAzMDkuOTE2LDg3LjM4MSAzMDQuMTg4LDkyLjI0NiIgc3Ryb2tlLXdpZHRoPSIzLjAyOSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzA0LjE4OCw5Mi4yNDYgQyAyOTguODA2LDk2LjcwMCAyOTguOTE5LDk2LjcxMCAyOTIuOTEwLDEwMC4yOTciIHN0cm9rZS13aWR0aD0iMy4wMTkiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI5Mi45MTAsMTAwLjI5NyBDIDI4Ny44NTQsMTAzLjQ5MyAyODcuOTA4LDEwMy4zNDggMjgyLjM5MSwxMDUuNTQzIiBzdHJva2Utd2lkdGg9IjMuMjI3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODIuMzkxLDEwNS41NDMgQyAyNzguMDg0LDEwNi42NTYgMjc4LjI2MywxMDcuMDkyIDI3My43MjcsMTA3LjQ5NiIgc3Ryb2tlLXdpZHRoPSIzLjU0MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjcyNywxMDcuNDk2IEMgMjcwLjc4OSwxMDguMDY4IDI3MC44MDEsMTA4LjA2MCAyNjcuODI0LDEwOC4zNTIiIHN0cm9rZS13aWR0aD0iMy45MTMiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4NS41MjMsOTEuNjQxIEMgMjg1LjAwOSw5OC4wMzYgMjg0LjcyNyw5Ny45ODIgMjgzLjkzMCwxMDQuMzI0IiBzdHJva2Utd2lkdGg9IjUuMjU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODMuOTMwLDEwNC4zMjQgQyAyODIuMjQ0LDExMS4xNTggMjgzLjMxNCwxMDcuOTEzIDI4Mi4xMzMsMTExLjM5NSIgc3Ryb2tlLXdpZHRoPSI0LjI1NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjgyLjEzMywxMTEuMzk1IEMgMjgyLjA1MCwxMDcuOTc5IDI4Mi4wMzcsMTExLjYwMCAyODMuNTE2LDEwNS4yMDciIHN0cm9rZS13aWR0aD0iNC44NjgiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4My41MTYsMTA1LjIwNyBDIDI4OC4zNjYsOTUuOTk4IDI4OC4yNzgsOTYuMjAwIDI5NC41OTAsODcuODM2IiBzdHJva2Utd2lkdGg9IjIuOTY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTQuNTkwLDg3LjgzNiBDIDMwMS4zMjIsODAuMDM4IDMwMC44MDgsNzkuNjgyIDMwOC4zOTgsNzIuNTc0IiBzdHJva2Utd2lkdGg9IjIuNTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguMzk4LDcyLjU3NCBDIDMxMS42MjYsNjguMzM0IDMxMS45NTUsNjguODIzIDMxNS44NTUsNjUuNDA2IiBzdHJva2Utd2lkdGg9IjMuMTY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTUuODU1LDY1LjQwNiBDIDMyNS44MDYsNTguMzc5IDMyNS43MDEsNTguNTkxIDMzNi41NDcsNTMuMDkwIiBzdHJva2Utd2lkdGg9IjIuNTI5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzYuNTQ3LDUzLjA5MCBDIDM0Mi44NTEsNTAuNTkyIDM0Mi41NTYsNTAuMTMxIDM0OS4zNTUsNDguOTEwIiBzdHJva2Utd2lkdGg9IjIuOTI2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDkuMzU1LDQ4LjkxMCBDIDM1NC4wMTIsNDcuOTM1IDM1My45MzMsNDcuNzI3IDM1OC43MTEsNDcuMzU5IiBzdHJva2Utd2lkdGg9IjMuMzI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTguNzExLDQ3LjM1OSBDIDM2My4yOTEsNDUuNzg1IDM2MS4yODgsNDcuMDQ0IDM2My45MDYsNDcuMTI5IiBzdHJva2Utd2lkdGg9IjMuOTU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjMuOTA2LDQ3LjEyOSBDIDM2My45NzIsNTEuMzM5IDM2NC43MjEsNDguOTEwIDM2MS41NzAsNTMuNjA5IiBzdHJva2Utd2lkdGg9IjQuNDM1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjEuNTcwLDUzLjYwOSBDIDM1NC4xNTgsNTguNzUwIDM1NS4yODUsNTkuNTUwIDM0Ni41MzEsNjMuNTUxIiBzdHJva2Utd2lkdGg9IjMuMDA5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDYuNTMxLDYzLjU1MSBDIDMzNy4wMDUsNjkuMzU0IDMzNy4wOTQsNjkuNDkyIDMyNy40NDEsNzUuMDk0IiBzdHJva2Utd2lkdGg9IjIuNTgxIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjcuNDQxLDc1LjA5NCBDIDMyMi40NDYsNzcuODYzIDMyMi41NTAsNzguMDI5IDMxNy42MjEsODAuOTAyIiBzdHJva2Utd2lkdGg9IjMuMDg1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTcuNjIxLDgwLjkwMiBDIDMxMi44NTMsODMuNjIzIDMxMy4wMjYsODMuNzk3IDMwOC42MDIsODYuOTYxIiBzdHJva2Utd2lkdGg9IjMuMjY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguNjAyLDg2Ljk2MSBDIDMwMy4yNzIsOTAuMDkyIDMwNi4zMDAsODguNzY4IDMwNC41MTYsOTEuMTkxIiBzdHJva2Utd2lkdGg9IjQuMTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDQuNTE2LDkxLjE5MSBDIDMxMC4yNTEsOTIuNjg3IDMwNy4wMTQsOTMuMzk5IDMxNi4wODYsOTMuNTc0IiBzdHJva2Utd2lkdGg9IjMuNTQwIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTYuMDg2LDkzLjU3NCBDIDMyNS41NzgsOTQuNDYyIDMyNS40OTQsOTUuMDA1IDMzNS4wMDAsOTUuODI4IiBzdHJva2Utd2lkdGg9IjIuODY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzUuMDAwLDk1LjgyOCBDIDM0NC40MDEsOTcuMTg1IDM0NC4zODYsOTcuMTg5IDM1My43MDMsOTkuMDI3IiBzdHJva2Utd2lkdGg9IjIuNjU1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTMuNzAzLDk5LjAyNyBDIDM1OS45ODIsMTAwLjI1MiAzNTkuOTU2LDEwMC4yNjUgMzY2LjEwOSwxMDEuOTg4IiBzdHJva2Utd2lkdGg9IjMuMDIzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjYuMTA5LDEwMS45ODggQyAzNzUuNDEzLDEwMi41ODYgMzcwLjA1MiwxMDMuMTA2IDM3My44NDQsMTA0LjczNCIgc3Ryb2tlLXdpZHRoPSIzLjQ3OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzczLjg0NCwxMDQuNzM0IEMgMzY0LjczNiwxMTUuMDg2IDM2OC45OTUsMTExLjM3MCAzNTMuMjczLDExOS41NTUiIHN0cm9rZS13aWR0aD0iMy44NTciIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDM1My4yNzMsMTE5LjU1NSBDIDMzOS44MjksMTIyLjExMiAzNDAuOTQxLDEyNC4zNjMgMzI2LjI1NCwxMjMuMjg5IiBzdHJva2Utd2lkdGg9IjIuNDg4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjYuMjU0LDEyMy4yODkgQyAzMDcuMDA0LDEyNS45MTUgMzA3LjEzNSwxMjQuOTQ3IDI4Ny44ODcsMTI1LjIyNyIgc3Ryb2tlLXdpZHRoPSIxLjkwMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg3Ljg4NywxMjUuMjI3IEMgMjY5Ljk5OSwxMjQuMzM5IDI3MC4zMjcsMTI0LjU5NCAyNTIuODk4LDEyMC42NDgiIHN0cm9rZS13aWR0aD0iMS44NTAiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1Mi44OTgsMTIwLjY0OCBDIDI0NC43NjgsMTE5LjU4NiAyNDUuOTU2LDExOS4xNTAgMjM5LjgwMSwxMTQuODQ4IiBzdHJva2Utd2lkdGg9IjIuNTU0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMzkuODAxLDExNC44NDggQyAyMjYuNjg1LDEwNC41NjMgMjMyLjgwNywxMDguMTc2IDIyOC45NzcsOTcuODI4IiBzdHJva2Utd2lkdGg9IjIuNjIyIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMjguOTc3LDk3LjgyOCBDIDIzOC41NzAsODkuMzAwIDIzMS43NzksODkuNTkyIDI0OS45ODgsODQuOTA2IiBzdHJva2Utd2lkdGg9IjIuMzg0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNDkuOTg4LDg0LjkwNiBDIDI3NC4zNDYsNzUuNDE3IDI3My45MTIsNzUuNzAwIDI5OS42NjAsNzAuNjI5IiBzdHJva2Utd2lkdGg9IjEuNTMzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTkuNjYwLDcwLjYyOSBDIDMzNS43ODYsNjMuNzU5IDMzNS40NjQsNjMuODU3IDM3Mi4yMjMsNjEuNzg1IiBzdHJva2Utd2lkdGg9IjEuMTY5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNzIuMjIzLDYxLjc4NSBDIDQyMi45MDksNjEuMDI3IDQyMi43NDMsNTkuMDQ4IDQ3My41NzQsNjEuMjA3IiBzdHJva2Utd2lkdGg9IjEuMTI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PC9zdmc+","acceptedAt","2025-11-21T15:45:35.398Z","acceptedBy","Philippe Brassard (philippe@summumpm.com)","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/light","dark","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/dark","public","private","summum_private","billingEmail","philippe@summumpm.com","lastDigit","6148","paymentType","visa","kind","configured","Pro","notes","planId","pro_2025_06","startDate","2025-11-21","yearlyPrice",2990,"monthlyPrice",89,"supportLevel","standard","freeTrialDays",14,"includedUsers","billingInterval","monthly","additionalUserPrice",49,"planDurationInMonths",12,"current","shouldAccept","lastAccepted","facebook","https://www.facebook.com/summumpm","youtube",{"_555":556},"updated_at","2026-08-24T00:34:22.636Z"]
2+P18:-5
added tests/fixtures/summum/077338a58d6366a3b00c.txt +2 −0
@@ -0,0 +1,2 @@
1+[{"_1":2,"_3":4,"_5":6,"_7":8},"root",{"_9":394},"public-language",{"_9":-5},"PublicListingsLayoutPage",{"_9":160},"PublicListingDetailPage",{"_9":10},"data",{"_11":12,"_13":14,"_15":16,"_17":18,"_19":20,"_21":22,"_23":24,"_25":26},"listing",{"_48":101,"_102":103,"_81":104,"_105":104,"_83":106,"_107":108,"_109":110,"_85":76,"_87":111,"_86":112,"_37":113,"_114":115,"_116":117,"_118":-5,"_119":-5,"_120":121,"_122":61,"_123":124,"_125":126},"descriptionHtml",{"_98":99,"_22":100},"auth",{"_96":61,"_97":26},"walkScore",["P",18],"tenant",{"_27":28,"_29":30,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":41,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"lang","fr","pageUrl","https://rental.summumpm.com/fr/listings/3143-rue-holt/details","noindex",false,"address",{"_81":82,"_83":84,"_85":76,"_86":76,"_87":76,"_88":89,"_90":91,"_92":93,"_94":95},"analytics",{"_75":76,"_77":78,"_79":80},"colors",{"_72":73,"_74":73},"contact",{"_66":67,"_68":69,"_70":67,"_71":67},"customDomains",[63],"description","Appartements à louer dans le Grand Montréal.","emptyImage","features",{"_59":26,"_60":61,"_62":26},"icon","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/icon?v=1787531662636","legalName","Gestion Immobilière Summum","privacyPolicyUrl","https://summumpm.com/politique-de-confidentialite/","slug","summum","templateConfig",{"_55":56,"_57":58},"templateId","editorial","title","showcase",{},"listingSortOrder","smart","buildingVisibilityOverride","hasMarketingEnabled",true,"showUnitAvailability",{"_64":65},"domain","rental.summumpm.com","email","location@summumpm.com","phone","(438) 801-1080","broadcastEmail","agentReplyTo","primary","#182642","secondary","facebookPixel","","google","G-CPWFVW6CCX","googleTagManager","GTM-567KN95S","street","6-77 Rue Omer-Deserres","city","Blainville","neighborhood","latitude","longitude","region","Quebec","postcode","J7C 5V6","country","Canada","country_code","CA","loggedIn","isStaff","en","<p>Room for rent near Jean Talon metro!</p><p>📍3143, rue Holt, Montreal</p><p>🌳 Rosemont sector, access to St-Michel metro station in less than 15 minutes by bus. Promenade Masson is 500m away (2 blocks), therefore close to all services and amenities (grocery store, pharmacy, cafes, fruit shops, restaurants, convenience store, etc.).</p><p>📐 Room</p><p>Inclusions : All included (electricity, heating, hot water, internet, sink, refrigerator, cooking ring and hood).</p><p>More details :</p><p>* Freshly renovated room.</p><p>* Paid laundry room on site.</p><p>* Freshly renovated room.</p><p>* Access to two shared bathrooms.</p><p>* A janitor takes care of general maintenance.</p><p>* Ideal for students and workers. Easy access to universities and downtown Montreal.</p><p>* No pets allowed.</p><p>* The tenant must provide their own bedding.</p><p>This room with all charges included is ideal for a single person!</p><p>🔎Virtual tour : https://my.matterport.com/show/?m=GX29cA1szL7</p><p>For more information : 📲 438 801-1080 (text or call)</p><p>*********</p>","<p>Chambre à louer près du métro Jean Talon!</p><p>📍3143, rue Holt, Montréal</p><p>🌳 Secteur Rosemont, accès à la station de métro St-Michel en moins de 15 minutes en autobus. La promenade Masson est à 500m (2 blocs), donc près de tous les services et de toutes les commodités (épicerie, pharmacie, cafés, fruiteries, restaurants, dépanneur, etc.).</p><p>📐 Chambre</p><p>Inclusions : Tout inclus (électricité, chauffage, eau chaude, internet, évier, réfrigérateur, rond de cuisson et hotte).</p><p>Plus de détails :</p><p>* Chambre fraîchement rénovée.</p><p>* Buanderie payante sur place.</p><p>* Accès aux deux salles de bain partagées.</p><p>* Un concierge s'occupe de l'entretien général.</p><p>* Idéal pour étudiants et travailleurs. Facile d’accès aux universités et centre-ville de Montréal.</p><p>* Aucun animal autorisé.</p><p>* Le/la locataire doit fournir sa literie.</p><p>Cette chambre toutes charges comprises est idéale pour une personne seule!</p><p>🔎 Visite virtuelle : https://my.matterport.com/show/?m=GX29cA1szL7</p><p>Pour plus de renseignements : 📲 438 801-1080 (texto ou appel)</p>","3143-rue-holt","area",0,"3143 Rue Holt","name","Montréal","buildingId","320a33eb-465f-4bc9-b068-13aaffcc7cda","availabilty",["D",1790899200000],-73.579732,45.551375,{"_98":158,"_22":159},"images",[157],"automatedApplyMode","direct","buildingAutomatedApplyMode","leadFormConfig","buildingFeatures",[],"listed","units",[141],"cardData",{"_48":101,"_81":104,"_83":106,"_85":76,"_86":112,"_87":111,"_127":128,"_129":130,"_131":132,"_102":133,"_134":135,"_136":137},"unitId","9d579032-f64d-443e-a78b-255f5de794eb","bedrooms",[103],"bathrooms",[140],[103],"price",[139],"availability",[138],"2026-10-02T00:00:00.000Z",725,1,{"_48":128,"_102":103,"_142":-5,"_134":139,"_129":103,"_131":140,"_143":144,"_114":145,"_122":61,"_146":147,"_148":149,"_150":151,"_136":152,"_153":-5,"_154":-5,"_155":-5,"_40":156},"floor","alias","3",[],"listing_type","Unit","pricing_strategy","per_month","space_type","apartment",["D",1790899200000],"floor_plan_name","floor_plan_image_path","promotion",[],"/storage/v1/object/public/summum/buildings/320a33eb-465f-4bc9-b068-13aaffcc7cda/930be836-3379-43c1-b2ea-9065787b21e7.jpg","Room for rent near Jean Talon metro!\n\n📍3143, rue Holt, Montreal\n\n🌳 Rosemont sector, access to St-Michel metro station in less than 15 minutes by bus. Promenade Masson is 500m away (2 blocks), therefore close to all services and amenities (grocery store, pharmacy, cafes, fruit shops, restaurants, convenience store, etc.).\n\n📐 Room\n\nInclusions : All included (electricity, heating, hot water, internet, sink, refrigerator, cooking ring and hood).\n\nMore details :\n\n* Freshly renovated room.\n* Paid laundry room on site.\n* Freshly renovated room.\n\n* Access to two shared bathrooms.\n* A janitor takes care of general maintenance.\n* Ideal for students and workers. Easy access to universities and downtown Montreal.\n* No pets allowed.\n* The tenant must provide their own bedding.\n\nThis room with all charges included is ideal for a single person!\n\n🔎Virtual tour : https://my.matterport.com/show/?m=GX29cA1szL7\n\nFor more information : 📲 438 801-1080 (text or call)\n\n*********","Chambre à louer près du métro Jean Talon!\n\n📍3143, rue Holt, Montréal\n\n🌳 Secteur Rosemont, accès à la station de métro St-Michel en moins de 15 minutes en autobus. La promenade Masson est à 500m (2 blocs), donc près de tous les services et de toutes les commodités (épicerie, pharmacie, cafés, fruiteries, restaurants, dépanneur, etc.).\n\n📐 Chambre\n\nInclusions : Tout inclus (électricité, chauffage, eau chaude, internet, évier, réfrigérateur, rond de cuisson et hotte).\n\nPlus de détails :\n\n* Chambre fraîchement rénovée.\n\n* Buanderie payante sur place.\n\n* Accès aux deux salles de bain partagées.\n\n* Un concierge s'occupe de l'entretien général.\n\n* Idéal pour étudiants et travailleurs. Facile d’accès aux universités et centre-ville de Montréal.\n\n* Aucun animal autorisé.\n\n* Le/la locataire doit fournir sa literie.\n\nCette chambre toutes charges comprises est idéale pour une personne seule!\n\n🔎 Visite virtuelle : https://my.matterport.com/show/?m=GX29cA1szL7\n\nPour plus de renseignements : 📲 438 801-1080 (texto ou appel)",{"_19":161,"_162":163,"_164":165,"_166":26,"_167":168,"_169":61,"_170":103,"_171":172,"_173":174,"_175":26,"_176":26,"_177":26},{"_27":28,"_29":392,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":393,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"listings",[],"listingsByView",{"_387":163,"_388":389,"_390":391},"explodeProjects","initialFilters",{"_134":297,"_298":299,"_300":301,"_102":302,"_142":303,"_304":26,"_131":305,"_129":306,"_307":26,"_308":61,"_309":310,"_311":312},"defaultView","count","filters",{},"configs",{"_178":179,"_180":181,"_182":183,"_184":185,"_186":179,"_187":188},"isEmbed","widgetMissing","hasSubmissions","analysisProducts",[278,280,282,286,293],"analysisProductsPrice",{"_278":279,"_280":281,"_282":283,"_284":285,"_286":287,"_288":289,"_290":291,"_292":291,"_293":140,"_294":289,"_295":296},"notifications",{"_246":247},"form",{"_239":61,"_240":61,"_241":61,"_242":61,"_243":61,"_244":61,"_245":61},"enabledSkus","submissions",{"_189":190,"_191":192,"_193":194,"_195":196,"_31":197,"_198":-5},"all",[225,226,227,228,229,230,231,235,236,237,238],"steps",[225,226,227,228,229,230,231],"badges",[215,216,217,218,219,220],"statuses",[209,199,201,203,205,207,210,211,212,213,214],{"_199":200,"_201":202,"_203":204,"_205":206,"_207":208},"snoozeStep","pending","bg-pink-500","preapproved","bg-sky-500","approved","bg-purple-500","signature","bg-green-500","accepted","bg-amber-500","draft","chosen","rejected","lead","cancelled","soft_rejected",{"_221":199,"_223":200},{"_221":201,"_223":202},{"_221":203,"_223":204},{"_221":205,"_223":206},{"_221":207,"_223":208},{"_221":222,"_223":224},"id","snoozed","color","bg-teal-500",{"_221":209,"_223":-5,"_232":26},{"_221":199,"_223":200,"_232":61,"_233":26,"_234":26},{"_221":201,"_223":202,"_232":61,"_233":26,"_234":26},{"_221":203,"_223":204,"_232":61,"_233":26,"_234":26},{"_221":205,"_223":206,"_232":61,"_233":26,"_234":26},{"_221":207,"_223":208,"_232":61,"_233":26,"_234":26},{"_221":210,"_223":-5,"_232":61},"isActionable","staffActionnable","visitAgentActionnable",{"_221":211,"_223":-5,"_232":26},{"_221":212,"_223":-5,"_232":26},{"_221":213,"_223":-5,"_232":26},{"_221":214,"_223":-5,"_232":26},"tenant_payments_enabled","tenant_refunds_enabled","require_id_proof","require_payment_proof","allow_co_applicants","require_employment_reference","require_landlord_reference","emails",{"_248":249,"_250":251,"_19":252,"_253":254},"agent",[273,274,275,276,277,259,260,263,264,272],"manager",[272],[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272],"admin",[255,256,257],"daily-recap","auth:role-changed","auth:ownership-transferred","invite-tenant","application-confirm","application-rejected","tenant-endorser-rejected","tenant-application-rejected-with-conditions","application-deadline-reminder","application-deadline-expired","submission-status-update","submission-marked-as-accepted","tenant-approved-with-conditions","tenant-approved-without-conditions","selected-as-new-tenant","submission-snoozed-reminder","submission-snoozed-expired","credit-unlock","agent-approved-with-conditions","agent-approved-without-conditions","agent-submission-snoozed-expired","agent-submission-snoozed-reminder","agent-submission-snoozed","ca_citizen_credit_check",1799,"ca_citizen_public_court_files",500,"qc_citizen_criminal_plumitif_check",1049,"qc_citizen_criminal_plumitif_municipal_check",699,"qc_citizen_rental_board_check",1000,"on_citizen_rental_board_check",999,"ca_citizen_workplace_reference_verification",1499,"ca_citizen_landlord_reference_verification","ca_citizen_rent_affordability_analysis","qc_citizen_lease_generation","qc_citizen_rental_board_extended_check",799,[140,386],"pricePerMonth",[140,386],"pricePerSqft",[103,103],[103,140],[103,103],"hasFloor",[103,140],[103,341],"hasCommercial","hasResidential","availableAmenities",[345,346,347,348,349,350,351],"availableNeighborhoods",[313,314,315,316,317,318,319,320,321,322,323,324,325,326],{"_105":344,"_170":335},{"_105":343,"_170":140},{"_105":342,"_170":140},{"_105":340,"_170":341},{"_105":339,"_170":140},{"_105":338,"_170":140},{"_105":337,"_170":140},{"_105":336,"_170":329},{"_105":334,"_170":335},{"_105":332,"_170":333},{"_105":331,"_170":329},{"_105":330,"_170":329},{"_105":328,"_170":329},{"_105":327,"_170":140},"Villeray—Saint-Michel—Parc-Extension","Ville-Marie",2,"Verdun","Rosemont - La Petite-Patrie","Québec",8,"QC",5,"Mercier - Hochelaga-Maisonneuve","Le Sud-Ouest","Le Plateau-Mont-Royal","Hochelaga-Maisonneuve","Côte-des-Neiges - Notre-Dame-de-Grâce",3,"Côte-des-Neiges","Centre-Sud","Ahuntsic-Cartierville",{"_48":381,"_105":382,"_42":383},{"_48":377,"_105":378,"_42":369},{"_48":372,"_105":373,"_42":374},{"_48":367,"_105":368,"_42":369},{"_48":362,"_105":363,"_42":364},{"_48":357,"_105":358,"_42":359},{"_48":352,"_105":353,"_42":354},"electric-heating",{"_98":355,"_22":356},"lucide:thermometer-sun","Electric Heating","Chauffage Électrique","refrigerator",{"_98":360,"_22":361},"lucide:refrigerator","Refrigerator","Réfrigérateur","cats-allowed",{"_98":365,"_22":366},"lucide:paw-print","Cats Allowed","Chats autorisés","washer",{"_98":370,"_22":371},"lucide:washing-machine","Washer","Laveuse","water",{"_98":375,"_22":376},"lucide:droplet","Water","Eau","dryer",{"_98":379,"_22":380},"Dryer","Sèche-linge","oven",{"_98":384,"_22":385},"lucide:microwave","Oven","Four",2589,"list","map",[],"explode",[],{"_75":76,"_77":78,"_79":80},{"_59":26,"_60":61,"_62":26},{"_395":-5,"_396":-7,"_397":398,"_399":400,"_21":22,"_19":401,"_402":-5,"_403":404,"_173":174,"_405":-5,"_406":-5,"_407":408},"devTools","prefill","impersonate",{},"theme","light",{"_221":426,"_48":49,"_427":428,"_54":45,"_37":38,"_31":32,"_429":430,"_27":28,"_33":34,"_180":431,"_432":433,"_434":-5,"_435":436,"_44":45,"_437":438,"_439":440,"_46":47,"_441":-5,"_442":-5,"_443":-5,"_52":53,"_50":51,"_35":36,"_444":-5,"_445":-5,"_173":174,"_446":447,"_448":449,"_450":451,"_42":43,"_452":453,"_39":-7,"_454":455,"_40":456,"_457":458,"_459":-7,"_460":461,"_29":462,"_178":463,"_464":465,"_466":467},"toast","user",{"_412":26,"_413":-5,"_414":-5,"_415":-5,"_416":-5,"_417":-5,"_418":-5,"_419":-5,"_420":-5,"_421":-5,"_66":-5,"_68":-5,"_422":-5,"_97":26,"_423":26,"_424":-5,"_425":-5},"otpPendingEmail","otpPendingContextEmail","telemetry",{"_409":61,"_403":-5,"_410":411},"recording","group",{"_221":49,"_105":45},"isSignedIn","userId","firstName","lastName","fullName","dateOfBirth","preferredLanguage","orgRole","orgSlug","role","profilePicture","isImpersonated","impersonatorId","ipAddress","rGAcwldRQldzll4TQX9pO","assets",{"_42":559},"social",{"_556":557,"_558":76},{"_278":279,"_280":281,"_282":283,"_284":285,"_286":287,"_288":289,"_290":291,"_292":291,"_293":140,"_294":289,"_295":296},"stripeCustomerId","cus_TSsHw8GIAzdE3E","paymentSetupRequiredAfter","tos",{"_553":-5,"_207":61,"_554":26,"_555":507},"plan",{"_105":532,"_533":76,"_534":535,"_536":537,"_538":539,"_540":541,"_542":543,"_544":545,"_546":341,"_547":548,"_549":550,"_551":552},"metadata",{"_29":462},"consentConditionsText","consentConditionsEn","consentConditionsFr","suspendedAt","archivedAt","billing",{"_524":525,"_432":433,"_526":527,"_44":45,"_528":529,"_530":531},"bucket",{"_521":49,"_522":523},"appUrl","https://rental.summumpm.com","logo",{"_400":518,"_519":520},"tosHistory",[507],{"_475":61,"_476":-7,"_60":61,"_477":26,"_478":61,"_479":61,"_480":26,"_481":26,"_482":-7,"_483":26,"_484":-7,"_485":61,"_486":26,"_487":26,"_488":489,"_490":26,"_491":26,"_492":103,"_493":-7,"_494":26,"_59":26,"_495":61,"_62":26,"_496":497,"_498":61,"_499":26,"_500":26,"_501":140,"_502":26,"_503":26,"_504":26,"_505":26},"disabledModules",[],"rolePermissions","banner",{"_98":473,"_22":474},{"_77":78,"_472":76,"_75":76,"_79":80},[278,280,282,286,293],"payments",{"_468":61,"_469":61,"_470":26,"_471":26},"version","prod-20261027-1707b56","isTenantPayingForCheck","isOrgPaymentSetup","isPrepaid","shouldAskToSetupPayment","googleAds","Contact us at (438) 801-1080 to book your visit!","Contactez-nous au (438) 801-1080 pour planifier votre visite!","tempEquifaxEnabled","whArrayAsObjects","disableAgents","preventInvitation","isBannerEnabled","preventApplyWhenNotListed","hasDynamicLinks","hasAddressVariants","isSinEnforced","isTestMode","hasSubmissionsAssignedEnabled","hasLargeUnitChangeTrigger","hideServiceEstimates","unitChangeThreshold",300,"showAgentPortalButton","hasLegalChecksConfidence","legalChecksConfidenceLevel","automatedPrepayed","hasPerBuildingLeadForm","hasDocumentAiEnabled","partnerOffersEnabled",[506],"showPerMonthPricing","blockOutOfProvinceEndorsers","hasLeaseModificationCheckReuse","leaseModificationCheckReuseMonths","hopemIntegrationEnabled","voltixIntegrationEnabled","leaseGenerationEnabled","hasPerProjectChecks","youset",{"_508":509,"_510":511,"_466":512,"_207":61,"_205":513,"_514":515,"_516":517},"ip","163.123.169.193","url","tos/tos_v1.0.0_1763739934838_H1ii8G.pdf","1.0.0","PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzU4IDE5MiIgd2lkdGg9Ijc1OCIgaGVpZ2h0PSIxOTIiPjxwYXRoIGQ9Ik0gMjcxLjY4NCw4NC45MTQgQyAyNzAuNDIzLDg3LjIxMCAyNzAuNTQxLDg3LjI2MiAyNjkuMzk4LDg5LjYwOSIgc3Ryb2tlLXdpZHRoPSI1LjM4NSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjM5OCw4OS42MDkgQyAyNjcuNzU4LDkzLjk3MSAyNjcuNTcxLDkzLjg5MSAyNjUuOTgwLDk4LjI3NyIgc3Ryb2tlLXdpZHRoPSIzLjk1OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY1Ljk4MCw5OC4yNzcgQyAyNjMuNjM1LDEwMy4zMzMgMjYzLjg1NywxMDMuNDIxIDI2MS41OTgsMTA4LjUwOCIgc3Ryb2tlLXdpZHRoPSIzLjU1MCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYxLjU5OCwxMDguNTA4IEMgMjYwLjIxMywxMTIuMjkyIDI2MC4xMjMsMTEyLjI1MyAyNTguOTU3LDExNi4xMTciIHN0cm9rZS13aWR0aD0iMy43MzIiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1OC45NTcsMTE2LjExNyBDIDI1Ni42MzYsMTIzLjUwNyAyNTcuOTc1LDExOS4xMDggMjU3LjEyMSwxMjIuMTQxIiBzdHJva2Utd2lkdGg9IjQuMzc1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNTcuMTIxLDEyMi4xNDEgQyAyNTkuMDY5LDExMy43MDIgMjU4LjQzMywxMTguNDQzIDI2Mi41NTEsMTA1Ljk4OCIgc3Ryb2tlLXdpZHRoPSI0LjYyOCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYyLjU1MSwxMDUuOTg4IEMgMjY1Ljc3NywxMDAuNjMxIDI2NS4xMDUsMTAwLjMzMCAyNjkuMTkxLDk1LjM5OCIgc3Ryb2tlLXdpZHRoPSIzLjQ5MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjE5MSw5NS4zOTggQyAyNzAuOTQ1LDkyLjM0MyAyNzEuMDk4LDkyLjQ3NyAyNzMuMTkxLDg5LjY4MCIgc3Ryb2tlLXdpZHRoPSIzLjgyNCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjE5MSw4OS42ODAgQyAyNzkuMTYyLDgyLjQ5MSAyNzkuMTgwLDgyLjU3OSAyODUuNjYwLDc1Ljg3MSIgc3Ryb2tlLXdpZHRoPSIyLjg3NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg1LjY2MCw3NS44NzEgQyAyODcuODgzLDczLjk1NCAyODcuNzA1LDczLjc4OCAyOTAuMjc3LDcyLjI3MyIgc3Ryb2tlLXdpZHRoPSIzLjY4MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjkwLjI3Nyw3Mi4yNzMgQyAyOTYuNjQ5LDY3LjU2MCAyOTYuNzM2LDY3Ljc0MSAzMDMuMzY3LDYzLjQ0NSIgc3Ryb2tlLXdpZHRoPSIzLjExMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzAzLjM2Nyw2My40NDUgQyAzMDYuNjc2LDYxLjU5MyAzMDYuNTgwLDYxLjQ3OCAzMTAuMTQxLDYwLjEwOSIgc3Ryb2tlLXdpZHRoPSIzLjU3NiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzEwLjE0MSw2MC4xMDkgQyAzMTMuMjg0LDU4Ljc0MyAzMTMuMjY2LDU4Ljc3MSAzMTYuNTQ3LDU3LjgwMSIgc3Ryb2tlLXdpZHRoPSIzLjg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE2LjU0Nyw1Ny44MDEgQyAzMTkuNDE4LDU2LjIyMSAzMTkuMTY1LDU3LjA0NCAzMjEuOTAyLDU2LjcxMSIgc3Ryb2tlLXdpZHRoPSI0LjQ5NCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIxLjkwMiw1Ni43MTEgQyAzMjYuMzYxLDU3LjQ5MyAzMjQuNTE2LDU3LjIyNyAzMjYuNzQyLDU5LjgxMyIgc3Ryb2tlLXdpZHRoPSI0Ljg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzI2Ljc0Miw1OS44MTMgQyAzMjYuMzM2LDY1LjA4MiAzMjcuNDA0LDYzLjgzMyAzMjMuOTg4LDY5LjM5MSIgc3Ryb2tlLXdpZHRoPSIzLjg2MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIzLjk4OCw2OS4zOTEgQyAzMTkuODE3LDc1Ljk1MyAzMjAuMzU1LDc2LjA1OSAzMTQuNzgxLDgxLjc2NiIgc3Ryb2tlLXdpZHRoPSIzLjEwNSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE0Ljc4MSw4MS43NjYgQyAzMDkuODU0LDg3LjQ0NSAzMDkuOTE2LDg3LjM4MSAzMDQuMTg4LDkyLjI0NiIgc3Ryb2tlLXdpZHRoPSIzLjAyOSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzA0LjE4OCw5Mi4yNDYgQyAyOTguODA2LDk2LjcwMCAyOTguOTE5LDk2LjcxMCAyOTIuOTEwLDEwMC4yOTciIHN0cm9rZS13aWR0aD0iMy4wMTkiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI5Mi45MTAsMTAwLjI5NyBDIDI4Ny44NTQsMTAzLjQ5MyAyODcuOTA4LDEwMy4zNDggMjgyLjM5MSwxMDUuNTQzIiBzdHJva2Utd2lkdGg9IjMuMjI3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODIuMzkxLDEwNS41NDMgQyAyNzguMDg0LDEwNi42NTYgMjc4LjI2MywxMDcuMDkyIDI3My43MjcsMTA3LjQ5NiIgc3Ryb2tlLXdpZHRoPSIzLjU0MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjcyNywxMDcuNDk2IEMgMjcwLjc4OSwxMDguMDY4IDI3MC44MDEsMTA4LjA2MCAyNjcuODI0LDEwOC4zNTIiIHN0cm9rZS13aWR0aD0iMy45MTMiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4NS41MjMsOTEuNjQxIEMgMjg1LjAwOSw5OC4wMzYgMjg0LjcyNyw5Ny45ODIgMjgzLjkzMCwxMDQuMzI0IiBzdHJva2Utd2lkdGg9IjUuMjU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODMuOTMwLDEwNC4zMjQgQyAyODIuMjQ0LDExMS4xNTggMjgzLjMxNCwxMDcuOTEzIDI4Mi4xMzMsMTExLjM5NSIgc3Ryb2tlLXdpZHRoPSI0LjI1NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjgyLjEzMywxMTEuMzk1IEMgMjgyLjA1MCwxMDcuOTc5IDI4Mi4wMzcsMTExLjYwMCAyODMuNTE2LDEwNS4yMDciIHN0cm9rZS13aWR0aD0iNC44NjgiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4My41MTYsMTA1LjIwNyBDIDI4OC4zNjYsOTUuOTk4IDI4OC4yNzgsOTYuMjAwIDI5NC41OTAsODcuODM2IiBzdHJva2Utd2lkdGg9IjIuOTY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTQuNTkwLDg3LjgzNiBDIDMwMS4zMjIsODAuMDM4IDMwMC44MDgsNzkuNjgyIDMwOC4zOTgsNzIuNTc0IiBzdHJva2Utd2lkdGg9IjIuNTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguMzk4LDcyLjU3NCBDIDMxMS42MjYsNjguMzM0IDMxMS45NTUsNjguODIzIDMxNS44NTUsNjUuNDA2IiBzdHJva2Utd2lkdGg9IjMuMTY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTUuODU1LDY1LjQwNiBDIDMyNS44MDYsNTguMzc5IDMyNS43MDEsNTguNTkxIDMzNi41NDcsNTMuMDkwIiBzdHJva2Utd2lkdGg9IjIuNTI5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzYuNTQ3LDUzLjA5MCBDIDM0Mi44NTEsNTAuNTkyIDM0Mi41NTYsNTAuMTMxIDM0OS4zNTUsNDguOTEwIiBzdHJva2Utd2lkdGg9IjIuOTI2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDkuMzU1LDQ4LjkxMCBDIDM1NC4wMTIsNDcuOTM1IDM1My45MzMsNDcuNzI3IDM1OC43MTEsNDcuMzU5IiBzdHJva2Utd2lkdGg9IjMuMzI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTguNzExLDQ3LjM1OSBDIDM2My4yOTEsNDUuNzg1IDM2MS4yODgsNDcuMDQ0IDM2My45MDYsNDcuMTI5IiBzdHJva2Utd2lkdGg9IjMuOTU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjMuOTA2LDQ3LjEyOSBDIDM2My45NzIsNTEuMzM5IDM2NC43MjEsNDguOTEwIDM2MS41NzAsNTMuNjA5IiBzdHJva2Utd2lkdGg9IjQuNDM1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjEuNTcwLDUzLjYwOSBDIDM1NC4xNTgsNTguNzUwIDM1NS4yODUsNTkuNTUwIDM0Ni41MzEsNjMuNTUxIiBzdHJva2Utd2lkdGg9IjMuMDA5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDYuNTMxLDYzLjU1MSBDIDMzNy4wMDUsNjkuMzU0IDMzNy4wOTQsNjkuNDkyIDMyNy40NDEsNzUuMDk0IiBzdHJva2Utd2lkdGg9IjIuNTgxIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjcuNDQxLDc1LjA5NCBDIDMyMi40NDYsNzcuODYzIDMyMi41NTAsNzguMDI5IDMxNy42MjEsODAuOTAyIiBzdHJva2Utd2lkdGg9IjMuMDg1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTcuNjIxLDgwLjkwMiBDIDMxMi44NTMsODMuNjIzIDMxMy4wMjYsODMuNzk3IDMwOC42MDIsODYuOTYxIiBzdHJva2Utd2lkdGg9IjMuMjY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguNjAyLDg2Ljk2MSBDIDMwMy4yNzIsOTAuMDkyIDMwNi4zMDAsODguNzY4IDMwNC41MTYsOTEuMTkxIiBzdHJva2Utd2lkdGg9IjQuMTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDQuNTE2LDkxLjE5MSBDIDMxMC4yNTEsOTIuNjg3IDMwNy4wMTQsOTMuMzk5IDMxNi4wODYsOTMuNTc0IiBzdHJva2Utd2lkdGg9IjMuNTQwIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTYuMDg2LDkzLjU3NCBDIDMyNS41NzgsOTQuNDYyIDMyNS40OTQsOTUuMDA1IDMzNS4wMDAsOTUuODI4IiBzdHJva2Utd2lkdGg9IjIuODY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzUuMDAwLDk1LjgyOCBDIDM0NC40MDEsOTcuMTg1IDM0NC4zODYsOTcuMTg5IDM1My43MDMsOTkuMDI3IiBzdHJva2Utd2lkdGg9IjIuNjU1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTMuNzAzLDk5LjAyNyBDIDM1OS45ODIsMTAwLjI1MiAzNTkuOTU2LDEwMC4yNjUgMzY2LjEwOSwxMDEuOTg4IiBzdHJva2Utd2lkdGg9IjMuMDIzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjYuMTA5LDEwMS45ODggQyAzNzUuNDEzLDEwMi41ODYgMzcwLjA1MiwxMDMuMTA2IDM3My44NDQsMTA0LjczNCIgc3Ryb2tlLXdpZHRoPSIzLjQ3OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzczLjg0NCwxMDQuNzM0IEMgMzY0LjczNiwxMTUuMDg2IDM2OC45OTUsMTExLjM3MCAzNTMuMjczLDExOS41NTUiIHN0cm9rZS13aWR0aD0iMy44NTciIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDM1My4yNzMsMTE5LjU1NSBDIDMzOS44MjksMTIyLjExMiAzNDAuOTQxLDEyNC4zNjMgMzI2LjI1NCwxMjMuMjg5IiBzdHJva2Utd2lkdGg9IjIuNDg4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjYuMjU0LDEyMy4yODkgQyAzMDcuMDA0LDEyNS45MTUgMzA3LjEzNSwxMjQuOTQ3IDI4Ny44ODcsMTI1LjIyNyIgc3Ryb2tlLXdpZHRoPSIxLjkwMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg3Ljg4NywxMjUuMjI3IEMgMjY5Ljk5OSwxMjQuMzM5IDI3MC4zMjcsMTI0LjU5NCAyNTIuODk4LDEyMC42NDgiIHN0cm9rZS13aWR0aD0iMS44NTAiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1Mi44OTgsMTIwLjY0OCBDIDI0NC43NjgsMTE5LjU4NiAyNDUuOTU2LDExOS4xNTAgMjM5LjgwMSwxMTQuODQ4IiBzdHJva2Utd2lkdGg9IjIuNTU0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMzkuODAxLDExNC44NDggQyAyMjYuNjg1LDEwNC41NjMgMjMyLjgwNywxMDguMTc2IDIyOC45NzcsOTcuODI4IiBzdHJva2Utd2lkdGg9IjIuNjIyIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMjguOTc3LDk3LjgyOCBDIDIzOC41NzAsODkuMzAwIDIzMS43NzksODkuNTkyIDI0OS45ODgsODQuOTA2IiBzdHJva2Utd2lkdGg9IjIuMzg0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNDkuOTg4LDg0LjkwNiBDIDI3NC4zNDYsNzUuNDE3IDI3My45MTIsNzUuNzAwIDI5OS42NjAsNzAuNjI5IiBzdHJva2Utd2lkdGg9IjEuNTMzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTkuNjYwLDcwLjYyOSBDIDMzNS43ODYsNjMuNzU5IDMzNS40NjQsNjMuODU3IDM3Mi4yMjMsNjEuNzg1IiBzdHJva2Utd2lkdGg9IjEuMTY5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNzIuMjIzLDYxLjc4NSBDIDQyMi45MDksNjEuMDI3IDQyMi43NDMsNTkuMDQ4IDQ3My41NzQsNjEuMjA3IiBzdHJva2Utd2lkdGg9IjEuMTI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PC9zdmc+","acceptedAt","2025-11-21T15:45:35.398Z","acceptedBy","Philippe Brassard (philippe@summumpm.com)","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/light","dark","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/dark","public","private","summum_private","billingEmail","philippe@summumpm.com","lastDigit","6148","paymentType","visa","kind","configured","Pro","notes","planId","pro_2025_06","startDate","2025-11-21","yearlyPrice",2990,"monthlyPrice",89,"supportLevel","standard","freeTrialDays",14,"includedUsers","billingInterval","monthly","additionalUserPrice",49,"planDurationInMonths",12,"current","shouldAccept","lastAccepted","facebook","https://www.facebook.com/summumpm","youtube",{"_560":561},"updated_at","2026-08-24T00:34:22.636Z"]
2+P18:-5
added tests/fixtures/summum/0f46ab54eb55234268b3.txt +2 −0
@@ -0,0 +1,2 @@
1+[{"_1":2,"_3":4,"_5":6,"_7":8},"root",{"_9":409},"public-language",{"_9":-5},"PublicListingsLayoutPage",{"_9":175},"PublicListingDetailPage",{"_9":10},"data",{"_11":12,"_13":14,"_15":16,"_17":18,"_19":20,"_21":22,"_23":24,"_25":26},"listing",{"_48":101,"_102":103,"_81":104,"_105":104,"_83":106,"_107":108,"_109":110,"_85":76,"_87":111,"_86":112,"_37":113,"_114":115,"_116":117,"_118":-5,"_119":-5,"_120":121,"_122":61,"_123":124,"_125":126},"descriptionHtml",{"_98":99,"_22":100},"auth",{"_96":61,"_97":26},"walkScore",["P",18],"tenant",{"_27":28,"_29":30,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":41,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"lang","fr","pageUrl","https://rental.summumpm.com/fr/listings/5960-bd-pie-ix/details","noindex",false,"address",{"_81":82,"_83":84,"_85":76,"_86":76,"_87":76,"_88":89,"_90":91,"_92":93,"_94":95},"analytics",{"_75":76,"_77":78,"_79":80},"colors",{"_72":73,"_74":73},"contact",{"_66":67,"_68":69,"_70":67,"_71":67},"customDomains",[63],"description","Appartements à louer dans le Grand Montréal.","emptyImage","features",{"_59":26,"_60":61,"_62":26},"icon","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/icon?v=1787531662636","legalName","Gestion Immobilière Summum","privacyPolicyUrl","https://summumpm.com/politique-de-confidentialite/","slug","summum","templateConfig",{"_55":56,"_57":58},"templateId","editorial","title","showcase",{},"listingSortOrder","smart","buildingVisibilityOverride","hasMarketingEnabled",true,"showUnitAvailability",{"_64":65},"domain","rental.summumpm.com","email","location@summumpm.com","phone","(438) 801-1080","broadcastEmail","agentReplyTo","primary","#182642","secondary","facebookPixel","","google","G-CPWFVW6CCX","googleTagManager","GTM-567KN95S","street","6-77 Rue Omer-Deserres","city","Blainville","neighborhood","latitude","longitude","region","Quebec","postcode","J7C 5V6","country","Canada","country_code","CA","loggedIn","isStaff","en","<p>Default listing</p>","<p>Annonce par défaut</p>","5960-bd-pie-ix","area",0,"5960 Bd Pie-IX","name","Montréal","buildingId","1dfbd281-3427-4d61-97d5-63ecdc0762e2","availabilty",["D",1791331200000],-73.575301,45.560939,{"_98":173,"_22":174},"images",[172],"automatedApplyMode","direct","buildingAutomatedApplyMode","leadFormConfig","buildingFeatures",[],"listed","units",[142,143,144],"cardData",{"_48":101,"_81":104,"_83":106,"_85":76,"_86":112,"_87":111,"_127":-5,"_128":129,"_130":131,"_102":132,"_133":134,"_135":136},"unitId","bedrooms",[141],"bathrooms",[141],[103],"price",[139,140],"availability",[137,138],"2026-10-07T00:00:00.000Z","2027-01-01T00:00:00.000Z",1100,1300,1,{"_48":167,"_102":103,"_146":-5,"_133":139,"_128":141,"_130":141,"_147":168,"_114":169,"_122":61,"_150":151,"_152":153,"_154":155,"_135":170,"_157":-5,"_158":-5,"_159":-5,"_40":171},{"_48":161,"_102":103,"_146":-5,"_133":162,"_128":141,"_130":141,"_147":163,"_114":164,"_122":61,"_150":151,"_152":153,"_154":155,"_135":165,"_157":-5,"_158":-5,"_159":-5,"_40":166},{"_48":145,"_102":103,"_146":-5,"_133":140,"_128":141,"_130":141,"_147":148,"_114":149,"_122":61,"_150":151,"_152":153,"_154":155,"_135":156,"_157":-5,"_158":-5,"_159":-5,"_40":160},"a63936b5-7a0e-4399-9bc8-38cf8c35e855","floor","alias","22",[],"listing_type","Unit","pricing_strategy","per_month","space_type","apartment",["D",1798761600000],"floor_plan_name","floor_plan_image_path","promotion",[],"8bb3690c-8eb0-4ad7-aad0-87789c95da8d",1275,"15",[],["D",1798761600000],[],"34e40d18-7f99-4a6a-8f6a-4381d92cc72e","7",[],["D",1791331200000],[],"/storage/v1/object/public/summum/buildings/1dfbd281-3427-4d61-97d5-63ecdc0762e2/3571df8a-aa27-4687-955e-f1d448a5caba.jpg","Default listing","Annonce par défaut",{"_19":176,"_177":178,"_179":180,"_181":26,"_182":183,"_184":61,"_185":103,"_186":187,"_188":189,"_190":26,"_191":26,"_192":26},{"_27":28,"_29":407,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":408,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"listings",[],"listingsByView",{"_402":178,"_403":404,"_405":406},"explodeProjects","initialFilters",{"_133":312,"_313":314,"_315":316,"_102":317,"_146":318,"_319":26,"_130":320,"_128":321,"_322":26,"_323":61,"_324":325,"_326":327},"defaultView","count","filters",{},"configs",{"_193":194,"_195":196,"_197":198,"_199":200,"_201":194,"_202":203},"isEmbed","widgetMissing","hasSubmissions","analysisProducts",[293,295,297,301,308],"analysisProductsPrice",{"_293":294,"_295":296,"_297":298,"_299":300,"_301":302,"_303":304,"_305":306,"_307":306,"_308":141,"_309":304,"_310":311},"notifications",{"_261":262},"form",{"_254":61,"_255":61,"_256":61,"_257":61,"_258":61,"_259":61,"_260":61},"enabledSkus","submissions",{"_204":205,"_206":207,"_208":209,"_210":211,"_31":212,"_213":-5},"all",[240,241,242,243,244,245,246,250,251,252,253],"steps",[240,241,242,243,244,245,246],"badges",[230,231,232,233,234,235],"statuses",[224,214,216,218,220,222,225,226,227,228,229],{"_214":215,"_216":217,"_218":219,"_220":221,"_222":223},"snoozeStep","pending","bg-pink-500","preapproved","bg-sky-500","approved","bg-purple-500","signature","bg-green-500","accepted","bg-amber-500","draft","chosen","rejected","lead","cancelled","soft_rejected",{"_236":214,"_238":215},{"_236":216,"_238":217},{"_236":218,"_238":219},{"_236":220,"_238":221},{"_236":222,"_238":223},{"_236":237,"_238":239},"id","snoozed","color","bg-teal-500",{"_236":224,"_238":-5,"_247":26},{"_236":214,"_238":215,"_247":61,"_248":26,"_249":26},{"_236":216,"_238":217,"_247":61,"_248":26,"_249":26},{"_236":218,"_238":219,"_247":61,"_248":26,"_249":26},{"_236":220,"_238":221,"_247":61,"_248":26,"_249":26},{"_236":222,"_238":223,"_247":61,"_248":26,"_249":26},{"_236":225,"_238":-5,"_247":61},"isActionable","staffActionnable","visitAgentActionnable",{"_236":226,"_238":-5,"_247":26},{"_236":227,"_238":-5,"_247":26},{"_236":228,"_238":-5,"_247":26},{"_236":229,"_238":-5,"_247":26},"tenant_payments_enabled","tenant_refunds_enabled","require_id_proof","require_payment_proof","allow_co_applicants","require_employment_reference","require_landlord_reference","emails",{"_263":264,"_265":266,"_19":267,"_268":269},"agent",[288,289,290,291,292,274,275,278,279,287],"manager",[287],[273,274,275,276,277,278,279,280,281,282,283,284,285,286,287],"admin",[270,271,272],"daily-recap","auth:role-changed","auth:ownership-transferred","invite-tenant","application-confirm","application-rejected","tenant-endorser-rejected","tenant-application-rejected-with-conditions","application-deadline-reminder","application-deadline-expired","submission-status-update","submission-marked-as-accepted","tenant-approved-with-conditions","tenant-approved-without-conditions","selected-as-new-tenant","submission-snoozed-reminder","submission-snoozed-expired","credit-unlock","agent-approved-with-conditions","agent-approved-without-conditions","agent-submission-snoozed-expired","agent-submission-snoozed-reminder","agent-submission-snoozed","ca_citizen_credit_check",1799,"ca_citizen_public_court_files",500,"qc_citizen_criminal_plumitif_check",1049,"qc_citizen_criminal_plumitif_municipal_check",699,"qc_citizen_rental_board_check",1000,"on_citizen_rental_board_check",999,"ca_citizen_workplace_reference_verification",1499,"ca_citizen_landlord_reference_verification","ca_citizen_rent_affordability_analysis","qc_citizen_lease_generation","qc_citizen_rental_board_extended_check",799,[141,401],"pricePerMonth",[141,401],"pricePerSqft",[103,103],[103,141],[103,103],"hasFloor",[103,141],[103,356],"hasCommercial","hasResidential","availableAmenities",[360,361,362,363,364,365,366],"availableNeighborhoods",[328,329,330,331,332,333,334,335,336,337,338,339,340,341],{"_105":359,"_185":350},{"_105":358,"_185":141},{"_105":357,"_185":141},{"_105":355,"_185":356},{"_105":354,"_185":141},{"_105":353,"_185":141},{"_105":352,"_185":141},{"_105":351,"_185":344},{"_105":349,"_185":350},{"_105":347,"_185":348},{"_105":346,"_185":344},{"_105":345,"_185":344},{"_105":343,"_185":344},{"_105":342,"_185":141},"Villeray—Saint-Michel—Parc-Extension","Ville-Marie",2,"Verdun","Rosemont - La Petite-Patrie","Québec",8,"QC",5,"Mercier - Hochelaga-Maisonneuve","Le Sud-Ouest","Le Plateau-Mont-Royal","Hochelaga-Maisonneuve","Côte-des-Neiges - Notre-Dame-de-Grâce",3,"Côte-des-Neiges","Centre-Sud","Ahuntsic-Cartierville",{"_48":396,"_105":397,"_42":398},{"_48":392,"_105":393,"_42":384},{"_48":387,"_105":388,"_42":389},{"_48":382,"_105":383,"_42":384},{"_48":377,"_105":378,"_42":379},{"_48":372,"_105":373,"_42":374},{"_48":367,"_105":368,"_42":369},"electric-heating",{"_98":370,"_22":371},"lucide:thermometer-sun","Electric Heating","Chauffage Électrique","refrigerator",{"_98":375,"_22":376},"lucide:refrigerator","Refrigerator","Réfrigérateur","cats-allowed",{"_98":380,"_22":381},"lucide:paw-print","Cats Allowed","Chats autorisés","washer",{"_98":385,"_22":386},"lucide:washing-machine","Washer","Laveuse","water",{"_98":390,"_22":391},"lucide:droplet","Water","Eau","dryer",{"_98":394,"_22":395},"Dryer","Sèche-linge","oven",{"_98":399,"_22":400},"lucide:microwave","Oven","Four",2589,"list","map",[],"explode",[],{"_75":76,"_77":78,"_79":80},{"_59":26,"_60":61,"_62":26},{"_410":-5,"_411":-7,"_412":413,"_414":415,"_21":22,"_19":416,"_417":-5,"_418":419,"_188":189,"_420":-5,"_421":-5,"_422":423},"devTools","prefill","impersonate",{},"theme","light",{"_236":441,"_48":49,"_442":443,"_54":45,"_37":38,"_31":32,"_444":445,"_27":28,"_33":34,"_195":446,"_447":448,"_449":-5,"_450":451,"_44":45,"_452":453,"_454":455,"_46":47,"_456":-5,"_457":-5,"_458":-5,"_52":53,"_50":51,"_35":36,"_459":-5,"_460":-5,"_188":189,"_461":462,"_463":464,"_465":466,"_42":43,"_467":468,"_39":-7,"_469":470,"_40":471,"_472":473,"_474":-7,"_475":476,"_29":477,"_193":478,"_479":480,"_481":482},"toast","user",{"_427":26,"_428":-5,"_429":-5,"_430":-5,"_431":-5,"_432":-5,"_433":-5,"_434":-5,"_435":-5,"_436":-5,"_66":-5,"_68":-5,"_437":-5,"_97":26,"_438":26,"_439":-5,"_440":-5},"otpPendingEmail","otpPendingContextEmail","telemetry",{"_424":61,"_418":-5,"_425":426},"recording","group",{"_236":49,"_105":45},"isSignedIn","userId","firstName","lastName","fullName","dateOfBirth","preferredLanguage","orgRole","orgSlug","role","profilePicture","isImpersonated","impersonatorId","ipAddress","rGAcwldRQldzll4TQX9pO","assets",{"_42":574},"social",{"_571":572,"_573":76},{"_293":294,"_295":296,"_297":298,"_299":300,"_301":302,"_303":304,"_305":306,"_307":306,"_308":141,"_309":304,"_310":311},"stripeCustomerId","cus_TSsHw8GIAzdE3E","paymentSetupRequiredAfter","tos",{"_568":-5,"_222":61,"_569":26,"_570":522},"plan",{"_105":547,"_548":76,"_549":550,"_551":552,"_553":554,"_555":556,"_557":558,"_559":560,"_561":356,"_562":563,"_564":565,"_566":567},"metadata",{"_29":477},"consentConditionsText","consentConditionsEn","consentConditionsFr","suspendedAt","archivedAt","billing",{"_539":540,"_447":448,"_541":542,"_44":45,"_543":544,"_545":546},"bucket",{"_536":49,"_537":538},"appUrl","https://rental.summumpm.com","logo",{"_415":533,"_534":535},"tosHistory",[522],{"_490":61,"_491":-7,"_60":61,"_492":26,"_493":61,"_494":61,"_495":26,"_496":26,"_497":-7,"_498":26,"_499":-7,"_500":61,"_501":26,"_502":26,"_503":504,"_505":26,"_506":26,"_507":103,"_508":-7,"_509":26,"_59":26,"_510":61,"_62":26,"_511":512,"_513":61,"_514":26,"_515":26,"_516":141,"_517":26,"_518":26,"_519":26,"_520":26},"disabledModules",[],"rolePermissions","banner",{"_98":488,"_22":489},{"_77":78,"_487":76,"_75":76,"_79":80},[293,295,297,301,308],"payments",{"_483":61,"_484":61,"_485":26,"_486":26},"version","prod-20261027-1707b56","isTenantPayingForCheck","isOrgPaymentSetup","isPrepaid","shouldAskToSetupPayment","googleAds","Contact us at (438) 801-1080 to book your visit!","Contactez-nous au (438) 801-1080 pour planifier votre visite!","tempEquifaxEnabled","whArrayAsObjects","disableAgents","preventInvitation","isBannerEnabled","preventApplyWhenNotListed","hasDynamicLinks","hasAddressVariants","isSinEnforced","isTestMode","hasSubmissionsAssignedEnabled","hasLargeUnitChangeTrigger","hideServiceEstimates","unitChangeThreshold",300,"showAgentPortalButton","hasLegalChecksConfidence","legalChecksConfidenceLevel","automatedPrepayed","hasPerBuildingLeadForm","hasDocumentAiEnabled","partnerOffersEnabled",[521],"showPerMonthPricing","blockOutOfProvinceEndorsers","hasLeaseModificationCheckReuse","leaseModificationCheckReuseMonths","hopemIntegrationEnabled","voltixIntegrationEnabled","leaseGenerationEnabled","hasPerProjectChecks","youset",{"_523":524,"_525":526,"_481":527,"_222":61,"_220":528,"_529":530,"_531":532},"ip","163.123.169.193","url","tos/tos_v1.0.0_1763739934838_H1ii8G.pdf","1.0.0","PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzU4IDE5MiIgd2lkdGg9Ijc1OCIgaGVpZ2h0PSIxOTIiPjxwYXRoIGQ9Ik0gMjcxLjY4NCw4NC45MTQgQyAyNzAuNDIzLDg3LjIxMCAyNzAuNTQxLDg3LjI2MiAyNjkuMzk4LDg5LjYwOSIgc3Ryb2tlLXdpZHRoPSI1LjM4NSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjM5OCw4OS42MDkgQyAyNjcuNzU4LDkzLjk3MSAyNjcuNTcxLDkzLjg5MSAyNjUuOTgwLDk4LjI3NyIgc3Ryb2tlLXdpZHRoPSIzLjk1OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY1Ljk4MCw5OC4yNzcgQyAyNjMuNjM1LDEwMy4zMzMgMjYzLjg1NywxMDMuNDIxIDI2MS41OTgsMTA4LjUwOCIgc3Ryb2tlLXdpZHRoPSIzLjU1MCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYxLjU5OCwxMDguNTA4IEMgMjYwLjIxMywxMTIuMjkyIDI2MC4xMjMsMTEyLjI1MyAyNTguOTU3LDExNi4xMTciIHN0cm9rZS13aWR0aD0iMy43MzIiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1OC45NTcsMTE2LjExNyBDIDI1Ni42MzYsMTIzLjUwNyAyNTcuOTc1LDExOS4xMDggMjU3LjEyMSwxMjIuMTQxIiBzdHJva2Utd2lkdGg9IjQuMzc1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNTcuMTIxLDEyMi4xNDEgQyAyNTkuMDY5LDExMy43MDIgMjU4LjQzMywxMTguNDQzIDI2Mi41NTEsMTA1Ljk4OCIgc3Ryb2tlLXdpZHRoPSI0LjYyOCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYyLjU1MSwxMDUuOTg4IEMgMjY1Ljc3NywxMDAuNjMxIDI2NS4xMDUsMTAwLjMzMCAyNjkuMTkxLDk1LjM5OCIgc3Ryb2tlLXdpZHRoPSIzLjQ5MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjE5MSw5NS4zOTggQyAyNzAuOTQ1LDkyLjM0MyAyNzEuMDk4LDkyLjQ3NyAyNzMuMTkxLDg5LjY4MCIgc3Ryb2tlLXdpZHRoPSIzLjgyNCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjE5MSw4OS42ODAgQyAyNzkuMTYyLDgyLjQ5MSAyNzkuMTgwLDgyLjU3OSAyODUuNjYwLDc1Ljg3MSIgc3Ryb2tlLXdpZHRoPSIyLjg3NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg1LjY2MCw3NS44NzEgQyAyODcuODgzLDczLjk1NCAyODcuNzA1LDczLjc4OCAyOTAuMjc3LDcyLjI3MyIgc3Ryb2tlLXdpZHRoPSIzLjY4MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjkwLjI3Nyw3Mi4yNzMgQyAyOTYuNjQ5LDY3LjU2MCAyOTYuNzM2LDY3Ljc0MSAzMDMuMzY3LDYzLjQ0NSIgc3Ryb2tlLXdpZHRoPSIzLjExMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzAzLjM2Nyw2My40NDUgQyAzMDYuNjc2LDYxLjU5MyAzMDYuNTgwLDYxLjQ3OCAzMTAuMTQxLDYwLjEwOSIgc3Ryb2tlLXdpZHRoPSIzLjU3NiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzEwLjE0MSw2MC4xMDkgQyAzMTMuMjg0LDU4Ljc0MyAzMTMuMjY2LDU4Ljc3MSAzMTYuNTQ3LDU3LjgwMSIgc3Ryb2tlLXdpZHRoPSIzLjg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE2LjU0Nyw1Ny44MDEgQyAzMTkuNDE4LDU2LjIyMSAzMTkuMTY1LDU3LjA0NCAzMjEuOTAyLDU2LjcxMSIgc3Ryb2tlLXdpZHRoPSI0LjQ5NCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIxLjkwMiw1Ni43MTEgQyAzMjYuMzYxLDU3LjQ5MyAzMjQuNTE2LDU3LjIyNyAzMjYuNzQyLDU5LjgxMyIgc3Ryb2tlLXdpZHRoPSI0Ljg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzI2Ljc0Miw1OS44MTMgQyAzMjYuMzM2LDY1LjA4MiAzMjcuNDA0LDYzLjgzMyAzMjMuOTg4LDY5LjM5MSIgc3Ryb2tlLXdpZHRoPSIzLjg2MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIzLjk4OCw2OS4zOTEgQyAzMTkuODE3LDc1Ljk1MyAzMjAuMzU1LDc2LjA1OSAzMTQuNzgxLDgxLjc2NiIgc3Ryb2tlLXdpZHRoPSIzLjEwNSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE0Ljc4MSw4MS43NjYgQyAzMDkuODU0LDg3LjQ0NSAzMDkuOTE2LDg3LjM4MSAzMDQuMTg4LDkyLjI0NiIgc3Ryb2tlLXdpZHRoPSIzLjAyOSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzA0LjE4OCw5Mi4yNDYgQyAyOTguODA2LDk2LjcwMCAyOTguOTE5LDk2LjcxMCAyOTIuOTEwLDEwMC4yOTciIHN0cm9rZS13aWR0aD0iMy4wMTkiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI5Mi45MTAsMTAwLjI5NyBDIDI4Ny44NTQsMTAzLjQ5MyAyODcuOTA4LDEwMy4zNDggMjgyLjM5MSwxMDUuNTQzIiBzdHJva2Utd2lkdGg9IjMuMjI3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODIuMzkxLDEwNS41NDMgQyAyNzguMDg0LDEwNi42NTYgMjc4LjI2MywxMDcuMDkyIDI3My43MjcsMTA3LjQ5NiIgc3Ryb2tlLXdpZHRoPSIzLjU0MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjcyNywxMDcuNDk2IEMgMjcwLjc4OSwxMDguMDY4IDI3MC44MDEsMTA4LjA2MCAyNjcuODI0LDEwOC4zNTIiIHN0cm9rZS13aWR0aD0iMy45MTMiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4NS41MjMsOTEuNjQxIEMgMjg1LjAwOSw5OC4wMzYgMjg0LjcyNyw5Ny45ODIgMjgzLjkzMCwxMDQuMzI0IiBzdHJva2Utd2lkdGg9IjUuMjU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODMuOTMwLDEwNC4zMjQgQyAyODIuMjQ0LDExMS4xNTggMjgzLjMxNCwxMDcuOTEzIDI4Mi4xMzMsMTExLjM5NSIgc3Ryb2tlLXdpZHRoPSI0LjI1NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjgyLjEzMywxMTEuMzk1IEMgMjgyLjA1MCwxMDcuOTc5IDI4Mi4wMzcsMTExLjYwMCAyODMuNTE2LDEwNS4yMDciIHN0cm9rZS13aWR0aD0iNC44NjgiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4My41MTYsMTA1LjIwNyBDIDI4OC4zNjYsOTUuOTk4IDI4OC4yNzgsOTYuMjAwIDI5NC41OTAsODcuODM2IiBzdHJva2Utd2lkdGg9IjIuOTY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTQuNTkwLDg3LjgzNiBDIDMwMS4zMjIsODAuMDM4IDMwMC44MDgsNzkuNjgyIDMwOC4zOTgsNzIuNTc0IiBzdHJva2Utd2lkdGg9IjIuNTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguMzk4LDcyLjU3NCBDIDMxMS42MjYsNjguMzM0IDMxMS45NTUsNjguODIzIDMxNS44NTUsNjUuNDA2IiBzdHJva2Utd2lkdGg9IjMuMTY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTUuODU1LDY1LjQwNiBDIDMyNS44MDYsNTguMzc5IDMyNS43MDEsNTguNTkxIDMzNi41NDcsNTMuMDkwIiBzdHJva2Utd2lkdGg9IjIuNTI5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzYuNTQ3LDUzLjA5MCBDIDM0Mi44NTEsNTAuNTkyIDM0Mi41NTYsNTAuMTMxIDM0OS4zNTUsNDguOTEwIiBzdHJva2Utd2lkdGg9IjIuOTI2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDkuMzU1LDQ4LjkxMCBDIDM1NC4wMTIsNDcuOTM1IDM1My45MzMsNDcuNzI3IDM1OC43MTEsNDcuMzU5IiBzdHJva2Utd2lkdGg9IjMuMzI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTguNzExLDQ3LjM1OSBDIDM2My4yOTEsNDUuNzg1IDM2MS4yODgsNDcuMDQ0IDM2My45MDYsNDcuMTI5IiBzdHJva2Utd2lkdGg9IjMuOTU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjMuOTA2LDQ3LjEyOSBDIDM2My45NzIsNTEuMzM5IDM2NC43MjEsNDguOTEwIDM2MS41NzAsNTMuNjA5IiBzdHJva2Utd2lkdGg9IjQuNDM1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjEuNTcwLDUzLjYwOSBDIDM1NC4xNTgsNTguNzUwIDM1NS4yODUsNTkuNTUwIDM0Ni41MzEsNjMuNTUxIiBzdHJva2Utd2lkdGg9IjMuMDA5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDYuNTMxLDYzLjU1MSBDIDMzNy4wMDUsNjkuMzU0IDMzNy4wOTQsNjkuNDkyIDMyNy40NDEsNzUuMDk0IiBzdHJva2Utd2lkdGg9IjIuNTgxIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjcuNDQxLDc1LjA5NCBDIDMyMi40NDYsNzcuODYzIDMyMi41NTAsNzguMDI5IDMxNy42MjEsODAuOTAyIiBzdHJva2Utd2lkdGg9IjMuMDg1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTcuNjIxLDgwLjkwMiBDIDMxMi44NTMsODMuNjIzIDMxMy4wMjYsODMuNzk3IDMwOC42MDIsODYuOTYxIiBzdHJva2Utd2lkdGg9IjMuMjY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguNjAyLDg2Ljk2MSBDIDMwMy4yNzIsOTAuMDkyIDMwNi4zMDAsODguNzY4IDMwNC41MTYsOTEuMTkxIiBzdHJva2Utd2lkdGg9IjQuMTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDQuNTE2LDkxLjE5MSBDIDMxMC4yNTEsOTIuNjg3IDMwNy4wMTQsOTMuMzk5IDMxNi4wODYsOTMuNTc0IiBzdHJva2Utd2lkdGg9IjMuNTQwIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTYuMDg2LDkzLjU3NCBDIDMyNS41NzgsOTQuNDYyIDMyNS40OTQsOTUuMDA1IDMzNS4wMDAsOTUuODI4IiBzdHJva2Utd2lkdGg9IjIuODY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzUuMDAwLDk1LjgyOCBDIDM0NC40MDEsOTcuMTg1IDM0NC4zODYsOTcuMTg5IDM1My43MDMsOTkuMDI3IiBzdHJva2Utd2lkdGg9IjIuNjU1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTMuNzAzLDk5LjAyNyBDIDM1OS45ODIsMTAwLjI1MiAzNTkuOTU2LDEwMC4yNjUgMzY2LjEwOSwxMDEuOTg4IiBzdHJva2Utd2lkdGg9IjMuMDIzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjYuMTA5LDEwMS45ODggQyAzNzUuNDEzLDEwMi41ODYgMzcwLjA1MiwxMDMuMTA2IDM3My44NDQsMTA0LjczNCIgc3Ryb2tlLXdpZHRoPSIzLjQ3OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzczLjg0NCwxMDQuNzM0IEMgMzY0LjczNiwxMTUuMDg2IDM2OC45OTUsMTExLjM3MCAzNTMuMjczLDExOS41NTUiIHN0cm9rZS13aWR0aD0iMy44NTciIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDM1My4yNzMsMTE5LjU1NSBDIDMzOS44MjksMTIyLjExMiAzNDAuOTQxLDEyNC4zNjMgMzI2LjI1NCwxMjMuMjg5IiBzdHJva2Utd2lkdGg9IjIuNDg4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjYuMjU0LDEyMy4yODkgQyAzMDcuMDA0LDEyNS45MTUgMzA3LjEzNSwxMjQuOTQ3IDI4Ny44ODcsMTI1LjIyNyIgc3Ryb2tlLXdpZHRoPSIxLjkwMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg3Ljg4NywxMjUuMjI3IEMgMjY5Ljk5OSwxMjQuMzM5IDI3MC4zMjcsMTI0LjU5NCAyNTIuODk4LDEyMC42NDgiIHN0cm9rZS13aWR0aD0iMS44NTAiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1Mi44OTgsMTIwLjY0OCBDIDI0NC43NjgsMTE5LjU4NiAyNDUuOTU2LDExOS4xNTAgMjM5LjgwMSwxMTQuODQ4IiBzdHJva2Utd2lkdGg9IjIuNTU0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMzkuODAxLDExNC44NDggQyAyMjYuNjg1LDEwNC41NjMgMjMyLjgwNywxMDguMTc2IDIyOC45NzcsOTcuODI4IiBzdHJva2Utd2lkdGg9IjIuNjIyIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMjguOTc3LDk3LjgyOCBDIDIzOC41NzAsODkuMzAwIDIzMS43NzksODkuNTkyIDI0OS45ODgsODQuOTA2IiBzdHJva2Utd2lkdGg9IjIuMzg0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNDkuOTg4LDg0LjkwNiBDIDI3NC4zNDYsNzUuNDE3IDI3My45MTIsNzUuNzAwIDI5OS42NjAsNzAuNjI5IiBzdHJva2Utd2lkdGg9IjEuNTMzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTkuNjYwLDcwLjYyOSBDIDMzNS43ODYsNjMuNzU5IDMzNS40NjQsNjMuODU3IDM3Mi4yMjMsNjEuNzg1IiBzdHJva2Utd2lkdGg9IjEuMTY5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNzIuMjIzLDYxLjc4NSBDIDQyMi45MDksNjEuMDI3IDQyMi43NDMsNTkuMDQ4IDQ3My41NzQsNjEuMjA3IiBzdHJva2Utd2lkdGg9IjEuMTI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PC9zdmc+","acceptedAt","2025-11-21T15:45:35.398Z","acceptedBy","Philippe Brassard (philippe@summumpm.com)","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/light","dark","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/dark","public","private","summum_private","billingEmail","philippe@summumpm.com","lastDigit","6148","paymentType","visa","kind","configured","Pro","notes","planId","pro_2025_06","startDate","2025-11-21","yearlyPrice",2990,"monthlyPrice",89,"supportLevel","standard","freeTrialDays",14,"includedUsers","billingInterval","monthly","additionalUserPrice",49,"planDurationInMonths",12,"current","shouldAccept","lastAccepted","facebook","https://www.facebook.com/summumpm","youtube",{"_575":576},"updated_at","2026-08-24T00:34:22.636Z"]
2+P18:-5
deleted tests/fixtures/summum/0f5df5b8dff32338ddce.html +0 −620
@@ -1,620 +0,0 @@
1−
2−
3−
4−<!doctype html>
5−<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang=""> <![endif]-->
6−<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang=""> <![endif]-->
7−<!--[if IE 8]> <html class="no-js lt-ie9" lang=""> <![endif]-->
8−<!--[if gt IE 8]><!-->
9−<html class="no-js" lang="fr">
10−<!--<![endif]-->
11−<head>
12− <meta charset="utf-8">
13− <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
14− <title>Gestion Immobili&#232;re Summum</title>
15− <meta name="viewport" content="width=device-width, initial-scale=1">
16− <meta name="description" content="Logements &#224; louer &#224; Montr&#233;al">
17− <meta name="keywords" content="Logement, Location, Montr&#233;al, Tenant, Appartement, Building Stack">
18− <link rel="apple-touch-icon" href="apple-touch-icon.png">
19− <!-- Chrome, Firefox OS, Opera and Vivaldi -->
20− <meta name="theme-color" content="rgba(24,38,66,1)">
21− <!-- Windows Phone -->
22− <meta name="msapplication-navbutton-color" content="rgba(24,38,66,1)">
23− <!-- iOS Safari -->
24− <meta name="apple-mobile-web-app-status-bar-style" content="rgba(24,38,66,1)">
25−
26− <link rel="stylesheet" href="/Content/Stylesheets/listings/normalize.min.css">
27−
28−
29−
30− <script type="text/javascript" class="optanon-category-C0001">
31− var iniframe = false
32− try {
33− iniframe = window.self !== window.top
34− } catch (e) {
35− iniframe = true
36− }
37−
38− if (!iniframe && cookieManagerKey) {
39− const scriptTag = document.createElement("script")
40−
41− scriptTag.type = "text/javascript"
42− scriptTag.src =
43− `https://cdn.cookielaw.org/consent/${cookieManagerKey}/OtAutoBlock.js`
44−
45− const stubTag = document.createElement("script")
46− stubTag.type = "text/javascript"
47− stubTag.src = "https://cdn.cookielaw.org/scripttemplates/otSDKStub.js"
48− stubTag.charset = "UTF-8"
49− stubTag.setAttribute("data-domain-script", cookieManagerKey)
50−
51− const wrapperTag = document.createElement("script")
52− wrapperTag.type = "text/javascript"
53− wrapperTag.innerHTML = "function OptanonWrapper() { }"
54−
55− document.head.appendChild(scriptTag)
56− document.head.appendChild(stubTag)
57− document.head.appendChild(wrapperTag)
58− }
59− </script>
60−
61− <link rel="stylesheet" href="/Content/Stylesheets/listings/main.css">
62−
63−
64− <link href="https://wfiles.buildingstack.com/resources/image/RtTBPamrT6jrGoyRcgiiDZYyMTLP7Syd5" rel="shortcut icon" type="image/x-icon" />
65− <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300,800' rel='stylesheet' type='text/css'>
66−
67− <link rel="stylesheet" href="/Content/LightGallery/css/lightgallery.min.css" />
68− <link rel="stylesheet" href="/Content/LightGallery/css/lightslider.min.css" />
69−
70− <script src="/bundles/jquery?v=v8thH4gSPX5DyN6JlBJ_z2ldPWoOUIuUmdnIz2JydG41"></script>
71−
72− <script src="/bundles/lightgallery?v=aDiV7xUmHD3FR903cMsQIwmP1dy6MT_AvRlLi2mG_X41"></script>
73−
74− <script src="/bundles/listings?v=ACN7ICBuogrPYEmNE-Ty2sea_3KGwQ0r8MDOqXNc3vk1"></script>
75−
76−
77−
78−
79− <script type="text/javascript" id="listingfullstory">
80− window['_fs_debug'] = false;
81− window['_fs_host'] = 'www.fullstory.com';
82− window['_fs_org'] = '1yVu';
83− window['_fs_namespace'] = 'FS';
84− (function (m, n, e, t, l, o, g, y) {
85− if (e in m && m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window["_fs_namespace"].'); return; }
86− g = m[e] = function (a, b) { g.q ? g.q.push([a, b]) : g._api(a, b); }; g.q = [];
87− o = n.createElement(t); o.async = 1; o.src = 'https://' + _fs_host + '/s/fs.js';
88− y = n.getElementsByTagName(t)[0]; y.parentNode.insertBefore(o, y);
89− g.identify = function (i, v) { g(l, { uid: i }); if (v) g(l, v) }; g.setUserVars = function (v) { g(l, v) };
90− g.identifyAccount = function (i, v) { o = 'account'; v = v || {}; v.acctId = i; g(o, v) };
91− g.clearUserCookie = function (c, d, i) {
92− if (!c || document.cookie.match('fs_uid=[`;`]*`[`;`]*`[`;`]*`')) {
93− d = n.domain; while (1) {
94− n.cookie = 'fs_uid=;domain=' + d +
95− ';path=/;expires=' + new Date(0).toUTCString(); i = d.indexOf('.'); if (i < 0) break; d = d.slice(i + 1)
96− }
97− }
98− };
99− })(window, document, window['_fs_namespace'], 'script', 'user');
100− </script>
101−
102−
103−
104−
105−
106− <link href="/Content/WaitMe/waitMe.css" rel="stylesheet" />
107−
108− <script src="/Scripts/WaitMe/waitMe.js"></script>
109−
110− <script src="/Scripts/JQuery.InputMask/min/jquery.inputmask.bundle.min.js"></script>
111− <script src="/Scripts/JQuery.InputMask/min/inputmask/phone-codes/phone.min.js"></script>
112− <script src="/Scripts/GothamCommon/PhoneMaskedEditor.js"></script>
113−
114− <script type="text/javascript">
115− $(function () {
116− Gotham.LoadingIndicator.initGlobal('/Content/Images/loading.gif');
117− Gotham.PhoneMaskedEditor.initialize();
118− if (window.OneTrust) {
119− window.OneTrust.changeLanguage('fr');
120− }
121− });
122− </script>
123−
124−
125−
126−
127− <!-- Global site tag (gtag.js) - Google Analytics -->
128− <script async src="https://www.googletagmanager.com/gtag/js?id=UA-49572274-1"></script>
129− <script>
130− window.dataLayer = window.dataLayer || [];
131− function gtag() { dataLayer.push(arguments); }
132− gtag('js', new Date());
133−
134− gtag('config', 'UA-49572274-1');
135−
136− gtag('config', '&lt;!-- Global site tag (gtag.js) - Google Analytics --&gt; &lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=UA-176051114-1&quot;&gt;&lt;/script&gt; &lt;script&gt; window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag(&#39;js&#39;, new Date()); gtag(&#39;config&#39;, &#39;UA-176051114-1&#39;); &lt;/script&gt;');
137− </script>
138−
139−</head>
140−<body class="fr listing-page building-detail-firstpage">
141− <div class="page-wrapper">
142− <!--[if lt IE 8]>
143− <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
144− <![endif]-->
145−
146−
147−
148−
149−<script src="https://maps.googleapis.com/maps/api/js?key=AIza_CLE_CAVIARDEE_LOUKA_000000000000000&language=fr"></script>
150−
151−<!-- HEADER -->
152−<link href="/Customize/Css" rel="stylesheet" type="text/css" />
153−
154− <div class="header wrapper apply">
155− <div class="page-content clearfix">
156− <div class="logo">
157− <div class="app-logo-with-title">
158− <a href="/">
159− <div class="app-image-logo">
160− <div id="image-logo">
161− <img src="https://wfiles.buildingstack.com/resources/image/K6yPiAIheR4xbxUahA2Zf3OSegCsCvwU1" class="app-logo" />
162− </div>
163− </div>
164− </a>
165− <div class="app-title-name">
166− <h1 id="type-user" class="app-title">Gestion Immobili&#232;re Summum</h1>
167− </div>
168− </div>
169− </div>
170− <div class="apply-now">
171− <a href="https://app.buildingstack.com/application/start?company=summumpm" target="_blank" class="apply-now-button apply-now-button-backgroundColor">Envoyer une demande</a>
172− </div>
173− <div class="login">
174− <a href="https://app.buildingstack.com/" target="_parent" class="login-button login-button-backgroundColor">Se connecter</a>
175− </div>
176−
177−
178− <div id="dd5" class="wrapper-dropdown-3 lang-selector" tabindex="1">
179− <input data-val="true" data-val-required="The [[ListingModel_Language]] field is required." id="Language" name="Language" type="hidden" value="French" />
180− <span>Anglais</span>
181− <ul class="dropdown">
182− <li data-val="English">
183− <a href="/Header/SetLanguage?lang=English">English</a>
184− </li>
185− <li data-val="French">
186− <a href="/Header/SetLanguage?lang=French">Fran&#231;ais</a>
187− </li>
188− </ul>
189− </div>
190− <script type="text/javascript">
191− // LANGUAGE-SELECTOR DROPDOWN
192− $(function () {
193− var dd = new GmListing.DropDown($('#dd5'), {
194− navigateOnClick: true
195− });
196− });
197− </script>
198− </div>
199− </div>
200− <div class="navigation wrapper">
201− <div class="page-content clearfix">
202−
203− <div class="menu-icon">
204− <div class="one"></div>
205− <div class="two"></div>
206− <div class="three"></div>
207− </div>
208− <div class="nav">
209− <ul class="menu">
210−
211− <li class=""><a href="/">ACCUEIL</a></li>
212− <li class="active accent_color_1_border"><a href="/Listing/Listings">ANNONCES</a></li>
213− <li class=""><a href="/ContactUs">CONTACT</a></li>
214− </ul>
215−
216− <a href="tel:+15148191529" class="contact">
217− (514) 819-1529
218− </a>
219− </div>
220− </div>
221− </div>
222−<!-- END HEADER -->
223−<script type="text/javascript">
224− $(function () {
225− $(document).click(function () {
226− // all dropdowns
227− $('.wrapper-dropdown-3').removeClass('active');
228− });
229− });
230−</script>
231−
232−
233−
234−
235−
236−<script src="https://cdn.jsdelivr.net/picturefill/2.3.1/picturefill.min.js"></script>
237−<script src="/Scripts/Clipboard/clipboard.js"></script>
238−
239−<link href="http://vjs.zencdn.net/4.12/video-js.css" rel="stylesheet">
240−<script src="http://vjs.zencdn.net/4.12/video.js"></script>
241−
242−<script type="text/javascript">
243− var hasTouch;
244− window.addEventListener('touchstart', function setHasTouch() {
245− hasTouch = true;
246− // Remove event listener once fired, otherwise it'll kill scrolling
247− // performance
248− window.removeEventListener('touchstart', setHasTouch);
249− }, false);
250− var params = new URLSearchParams(window.location.search);
251− params.delete("lang");
252−</script>
253−<div class="p-content">
254− <div class="banner wrapper">
255− <div id="googleMap" class="banner-map">
256− </div>
257− </div>
258− <script type="text/javascript">
259− $(document).ready(function () {
260− var pin = '/Customize/Svg?name=map-pin&accentColor=2&ver=rgba%2824%2C38%2C66%2C1%29';
261− Gotham.GoogleMaps.setBuildingLocation(document.getElementById("googleMap"), "5912 Québec 335, Saint-Calixte, QC J0K 1Z0, Canada", '45.9468354', '-73.8484319', pin);
262−
263− //TOGGLE STREET VIEW BY CLICKING THE YELLOW STREET VIEW BUTTON
264− $(".street-view-button").click(function () { Gotham.GoogleMaps.togglePanorama("5912 Québec 335, Saint-Calixte, QC J0K 1Z0, Canada", 'Vue de la Rue', 'Retour &#224; la Carte'); });
265− });
266− </script>
267− <!-- END BANNER -->
268− <!-- PROFILE-BAR -->
269− <div class="profile-bar wrapper">
270− <div class="page-content">
271− <div class="profile-image">
272− <img src="https://wfiles.buildingstack.com/resources/image/S5TLPZPdEKL9RcL4LLDpUb1BLoj7Tpqy1/preview" width="170" height="170">
273− </div>
274− <div class="profile-name">
275− <h3 class="accent_color_2">5912 &#224; 5922 RTE 335</h3>
276−
277− <ul>
278− <li class="residential-icon1"></li>
279− </ul>
280− <p>
281−
282−5912 Québec 335, Saint-Calixte, QC J0K 1Z0, Canada</p>
283− </div>
284− <ul class="pull-right">
285− <li>
286−
287− <a class="share-button">Partager</a>
288− <div class="tooltip share-tooltip">
289− <a class="close-tooltip"><img src="/Content/Images/listings/close.png" alt=""></a>
290− <h3 class="accent_color_2">Partager</h3>
291− <form action="#">
292− <input id="share-url" class="share search-input" type="search" placeholder="https://location.summumpm.com/b/202429086504007591619">
293− <input id="share-copy-button" class="copy-url" type="button" name="button" value="COPIER LE LIEN">
294− </form>
295− <ul class="share-social-icons">
296− <li class="fb"><a target="_parent" href="https://www.facebook.com/sharer/sharer.php?u=https://location.summumpm.com/b/202429086504007591619"></a></li>
297− <li class="tw"><a target="_parent" href="https://twitter.com/home?status=https://location.summumpm.com/b/202429086504007591619"></a></li>
298− <li class="gp"><a target="_parent" href="https://plus.google.com/share?url=https://location.summumpm.com/b/202429086504007591619"></a></li>
299− <li class="in"><a target="_parent" href="https://www.linkedin.com/shareArticle?mini=true&url=https://location.summumpm.com/b/202429086504007591619&title=5912 &#224; 5922 RTE 335&summary=&source="></a></li>
300− <li class="sms"><a target="_parent" href="mailto:?subject=Regardez cet unit&#233;!&body=https://location.summumpm.com/b/202429086504007591619"></a></li>
301− </ul>
302− <span class="tooltip-arrow"></span>
303− </div>
304− </li>
305− <li><a class="street-view-button upper-case accent_color_1_background" href="#">Vue de la Rue</a></li>
306− </ul>
307− </div>
308− </div>
309− <!-- END PROFILE-BAR -->
310− <!-- SERVICES-BAR -->
311− <div class="services wrapper">
312− <div class="page-content">
313− <ul class="services-item">
314− <li class="parking-service">
315− <h6>Stationnement</h6>
316− <h4>Disponible</h4>
317− </li>
318− <li class="online-pay-service">
319− <h6>Paiement en ligne</h6>
320− <h4>Disponible</h4>
321− </li>
322− <li class="rent-range-service">
323− <h6>Gamme de prix</h6>
324− <h4 id="price_range-current">$ --</h4>
325− </li>
326− </ul>
327−
328− <div class="contact-numbers">
329− <div class="vertical-middle">
330− <ul>
331− <li>
332− <a href="tel:(438) 801-1080">(438) 801-1080</a>
333− </li>
334−
335− </ul>
336− </div>
337− </div>
338− </div>
339− </div>
340− <!-- END SERVICES -->
341− <!-- CONTENT -->
342− <div class="content wrapper clearfix">
343− <div class="page-content">
344−
345−
346−
347− <script type="text/javascript">
348− function updateGridTitlePosition(scrollTop, topBound) {
349− if (!this.titleHieght) {
350− this.titleHieght = $('.tab-title').height();
351− }
352−
353− // fixed state
354− if (!this.gridTitlePinned && (scrollTop > topBound && scrollTop <= $('.tab-pagination').offset().top)) {
355− this.gridTitlePinned = true;
356− var contentWidth = $('#wpb-tab-container').outerWidth() / 2;
357− $(".tab-title").addClass("tab-title-fixed").width(contentWidth);
358− return;
359− }
360−
361− // initial state
362− if (this.gridTitlePinned && scrollTop <= topBound) {
363− this.gridTitlePinned = false;
364− $('.tab-title').removeClass("tab-title-fixed").attr('style', '');
365−
366− return;
367− }
368−
369− if (this.isMedia768) {
370− // hidden state
371− if (scrollTop > ($('.tab-pagination').offset().top - this.titleHieght)) {
372− $(".tab-title").hide();
373− }
374− else {
375− $(".tab-title").show();
376− }
377− }
378− else {
379− $(".tab-title").show();
380− }
381− };
382−
383− function updateApartmentDetailsPosition(scrollTop, topBound, leftTabHeigh, rightTabHeigh) {
384− // means aparment details haven't been loaded yet
385− if (rightTabHeigh == 0 || $('.contact-button').length == 0) {
386− return;
387− }
388−
389− var canBeFixedState = rightTabHeigh < leftTabHeigh;
390− var detailsTopOffset = $('.contact-button').offset().top + $('.contact-button').height();
391− var scrollValueToBottomPin = topBound + (leftTabHeigh - rightTabHeigh);
392−
393− if (!this.toBottom && canBeFixedState && scrollTop > scrollValueToBottomPin) {
394− $('.wpb-tab-wrapper').removeClass('wpb-tab-fixed').css({ top: leftTabHeigh - rightTabHeigh, width: '' });
395− this.apartmentPinned = false;
396− this.toBottom = true;
397−
398− return;
399− }
400−
401− // fixed state
402− if ((!this.apartmentPinned && canBeFixedState && scrollTop > topBound) && (scrollTop <= scrollValueToBottomPin)) {
403− var widthTab = $('.wpb-tab').outerWidth(true) + 20;
404− $('.wpb-tab-wrapper').addClass('wpb-tab-fixed').css({ 'top': '', width: widthTab });
405−
406− this.apartmentPinned = true;
407− this.toBottom = false;
408− return;
409− }
410−
411− // initial state
412− if ((this.apartmentPinned && scrollTop <= topBound) || !canBeFixedState) {
413− $('.wpb-tab-wrapper').removeClass('wpb-tab-fixed').attr('style', '');
414− this.apartmentPinned = false;
415−
416− return;
417− }
418− };
419−
420− function updateUnitsLayout(listingApartmentType) {
421− var scrollTop = $(window).scrollTop();
422− var leftTabHeigh = $('.tab-left-bar.' + listingApartmentType).outerHeight(true);
423− var rightTabHeigh = $('.' + listingApartmentType + ' .wpb-tab-wrapper').outerHeight(true);
424−
425− if (!this.topBound) {
426− this.topBound = $('.tab-left-bar.' + listingApartmentType).offset().top - 20; // find out with magic number 20
427− this.bottonBound = $('#wpb-tab-container').offset().top + $('#wpb-tab-container').height();
428− //this.contentWidth = $('#wpb-tab-container').outerWidth() / 2;
429− }
430−
431− this.updateGridTitlePosition(scrollTop, this.topBound);
432−
433− if (this.isMedia768) {
434− this.updateApartmentDetailsPosition(scrollTop, this.topBound, leftTabHeigh, rightTabHeigh);
435− }
436− }
437−
438− function updateCurrentLayoutMedia() {
439− if (window.matchMedia('(min-width: 768px)').matches) {
440− this.isMedia768 = true;
441− }
442− else {
443− this.isMedia768 = false;
444− }
445− }
446−
447− $(document).ready(function () {
448− $('#share-copy-button').click(function () {
449− var url = $('#share-url').attr('placeholder');
450− clipboard.copy(url);
451− });
452−
453− var urls = {
454− viewPotentialUrl: '/Listing/ApartmentView',
455− };
456−
457− Gotham.Listings.initialize(urls);
458−
459− var $cs = $(".content-slider");
460− $cs.lightGallery({
461− zoom: false,
462− download: false
463− });
464−
465− $("#main-content-slider").lightSlider({
466− loop: false,
467− keyPress: false,
468− autoWidth: true,
469− enableTouch: true
470− });
471− $(".content-slider").css("opacity", "1");
472−
473− var unitId = "";
474− if (unitId != "") {
475− var tab_id = $(".tab2-content .wpb-mobileHide").find("li a[data-unitId=" + unitId + "]").parent().parent().parent().parent().attr('id');
476− if (tab_id) {
477− $('ul.tabs2').find("li[data-tab=" + tab_id + "]").trigger("click");
478− $(".tab2-content .wpb-mobileHide").find("li a[data-unitId=" + unitId + "]").trigger("click");
479− return;
480− }
481− }
482−
483− $('ul.tabs2').find("li:first-child").trigger("click");
484−
485− });
486− </script>
487−
488− <div id="wpb-tab-container">
489− <h1 class="content-item">Unit&#233;s disponibles</h1>
490− <ul class="tabs2">
491− <li class="tab2 residential-tab" data-tab="tab-9" data-price-range="$1&#160;300">
492− <span class="tab2-icon"></span>
493− R&#233;sidentiel
494− </li>
495− </ul>
496− <div class="tab2-content current" id="tab-9">
497−
498−
499−
500−<script type="text/javascript">
501− $(document).ready(function () {
502− var existUnitsToRender = $('#wpb-tab-container .tab2-content').length > 0;
503−
504− if (existUnitsToRender) {
505− updateCurrentLayoutMedia();
506−
507− $(window).on('scroll.wpbtabscroll', function () {
508− updateUnitsLayout('residential');
509− });
510−
511− $(window).on('resize.wpbtabscroll', function () {
512− updateUnitsLayout('residential');
513− });
514−
515− $('.wpb-tab.residential').on('change.wpbtabscroll', function () {
516− updateUnitsLayout('residential');
517− });
518−
519− $(window).resize(function () {
520− updateCurrentLayoutMedia();
521−
522− if (this.isMedia768) {
523− var containerWidth = $('#wpb-tab-container').outerWidth();
524− var contentWidth = containerWidth / 2;
525− $('.residential .tab-title-fixed').css("width", contentWidth + "px");
526− }
527− });
528− }
529−
530− $(".residential .tab-next").click(function () {
531− $(".residential .wpb-mobileHide .wpb-current").parent().next("li").find("a").trigger("click");
532− });
533−
534− $(".residential .tab-previous").click(function () {
535− $(".residential .wpb-mobileHide .wpb-current").parent().prev("li").find("a").trigger("click");
536− });
537− });
538−</script>
539−<div class="tab-left-bar residential">
540− <div class="tab-title accent_color_2_background">
541− <div class="tab-heading">
542− <span>Unit&#233;</span>
543− <span>Loyer</span>
544− <span>PI.CA</span>
545− <span>CH.</span>
546− <span>SDB</span>
547− <span>Disponible</span>
548− </div>
549− </div>
550− <ul class="wpb-tabs-menu wpb-mobileHide">
551− <li>
552− <a href="#residential-wpb-tab-1" data-unitId="656713" data-lang="fr-CA" class="apartment-view-potential">
553− <span>5920</span>
554− <span>$1&#160;300</span>
555− <span>--</span>
556− <span>2</span>
557− <span>1</span>
558− <span>Disponible d&#232;s maintenant!</span>
559− </a>
560− </li>
561−
562− </ul>
563− <div class="tab-pagination">
564− <div class="tab-previous" href="#">Pr&#233;c&#233;dent</div>
565− <div class="tab-next" href="#">Suivant</div>
566− </div>
567− <p><span class="bold">Note:</span> Les prix indiqu&#233;s peuvent changer sans pr&#233;avis.</p>
568−</div>
569−<div class="wpb-tab residential">
570− <div class="wpb-tab-wrapper">
571− <div id="residential-wpb-tab-1" data-unitid="656713" data-lang="fr-CA" class="wpb-tab-content">
572−
573− </div>
574−
575− </div>
576−</div>
577− </div>
578− </div>
579− <div class="last-content">
580− </div>
581− </div>
582− </div>
583−</div>
584−
585−
586−<!-- FOOTER -->
587−
588− <div class="footer wrapper accent_color_3_background">
589− <div class="page-content section_2 clearfix">
590− <div class="company-info ">
591− <div class="company-title barFontColor">
592− <img src="https://wfiles.buildingstack.com/resources/image/K6yPiAIheR4xbxUahA2Zf3OSegCsCvwU1" alt="" height="30" />Gestion Immobili&#232;re Summum
593− </div>
594− <div class="powered-by barFontColor">
595− R&#233;alis&#233; par
596− <a href="https://www.buildingstack.com/">
597− <img src="/Content/Images/listings/footer-logo-bstk-white.svg" alt="" />
598− </a>
599− </div>
600− <p class="copyrights barFontColor">&#169;2026 BuildingStack™. Tous droits r&#233;serv&#233;s.</p>
601− <ul class="links">
602− <li><a href="/legal/terms" target="_blank">Conditions D&#39;utilisation</a></li>
603− <li><a href="/legal/privacy" target="_blank">Politique de Confidentialit&#233;</a></li>
604−
605− </ul>
606− </div>
607− <div class="contact">
608− <h3 class="upper-case accent_color_1">SI&#200;GE SOCIAL</h3>
609− <p class="address barFontColor">
610−
611−77 Rue Omer Deserres, 6, Blainville, QC J7C5N3, Canada</p>
612− <p class="phone barFontColor">(514) 819-1529</p>
613− </div>
614− </div>
615− </div>
616−<!-- END FOOTER -->
617− </div>
618−
619−</body>
620−</html>
added tests/fixtures/summum/0fc7664573215aa899e3.txt +2 −0
@@ -0,0 +1,2 @@
1+[{"_1":2,"_3":4,"_5":6,"_7":8},"root",{"_9":399},"public-language",{"_9":-5},"PublicListingsLayoutPage",{"_9":166},"PublicListingDetailPage",{"_9":10},"data",{"_11":12,"_13":14,"_15":16,"_17":18,"_19":20,"_21":22,"_23":24,"_25":26},"listing",{"_48":99,"_100":101,"_81":102,"_103":76,"_83":104,"_105":106,"_107":108,"_85":109,"_87":110,"_86":111,"_37":-5,"_112":113,"_114":115,"_116":-5,"_117":-5,"_118":119,"_120":61,"_121":122,"_123":124},"descriptionHtml",{"_98":76,"_22":76},"auth",{"_96":61,"_97":26},"walkScore",["P",18],"tenant",{"_27":28,"_29":30,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":41,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"lang","fr","pageUrl","https://rental.summumpm.com/fr/listings/2560-rue-rachel-e/details","noindex",false,"address",{"_81":82,"_83":84,"_85":76,"_86":76,"_87":76,"_88":89,"_90":91,"_92":93,"_94":95},"analytics",{"_75":76,"_77":78,"_79":80},"colors",{"_72":73,"_74":73},"contact",{"_66":67,"_68":69,"_70":67,"_71":67},"customDomains",[63],"description","Appartements à louer dans le Grand Montréal.","emptyImage","features",{"_59":26,"_60":61,"_62":26},"icon","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/icon?v=1787531662636","legalName","Gestion Immobilière Summum","privacyPolicyUrl","https://summumpm.com/politique-de-confidentialite/","slug","summum","templateConfig",{"_55":56,"_57":58},"templateId","editorial","title","showcase",{},"listingSortOrder","smart","buildingVisibilityOverride","hasMarketingEnabled",true,"showUnitAvailability",{"_64":65},"domain","rental.summumpm.com","email","location@summumpm.com","phone","(438) 801-1080","broadcastEmail","agentReplyTo","primary","#182642","secondary","facebookPixel","","google","G-CPWFVW6CCX","googleTagManager","GTM-567KN95S","street","6-77 Rue Omer-Deserres","city","Blainville","neighborhood","latitude","longitude","region","Quebec","postcode","J7C 5V6","country","Canada","country_code","CA","loggedIn","isStaff","en","2560-rue-rachel-e","area",0,"2560 Rue Rachel E","name","Montréal","buildingId","1843712e-8e8e-45b2-974d-6065c69ffd2f","availabilty",["D",1798761600000],"Québec",-73.562592,45.537496,"images",[165],"automatedApplyMode","direct","buildingAutomatedApplyMode","leadFormConfig","buildingFeatures",[],"listed","units",[139,140],"cardData",{"_48":99,"_81":102,"_83":104,"_85":109,"_86":111,"_87":110,"_125":-5,"_126":127,"_128":129,"_100":130,"_131":132,"_133":134},"unitId","bedrooms",[101],"bathrooms",[138],[101],"price",[137],"availability",[135,136],"2026-07-01T00:00:00.000Z","2027-01-01T00:00:00.000Z",970,1,{"_48":160,"_100":101,"_142":-5,"_131":137,"_126":101,"_128":138,"_143":161,"_112":162,"_120":61,"_146":147,"_148":149,"_150":151,"_133":163,"_153":-5,"_154":-5,"_155":-5,"_40":164},{"_48":141,"_100":101,"_142":-5,"_131":137,"_126":101,"_128":138,"_143":144,"_112":145,"_120":61,"_146":147,"_148":149,"_150":151,"_133":152,"_153":-5,"_154":-5,"_155":-5,"_40":156},"9773c76e-c420-4014-809b-0c27a10cc941","floor","alias","2",[157,158,159],"listing_type","Unit","pricing_strategy","per_month","space_type","apartment",["D",1782864000000],"floor_plan_name","floor_plan_image_path","promotion",[],"/storage/v1/object/public/summum/units/9773c76e-c420-4014-809b-0c27a10cc941/afcc5a59-e9dd-408d-bda8-01c14581b636.jpg","/storage/v1/object/public/summum/units/9773c76e-c420-4014-809b-0c27a10cc941/29b2f0af-be29-4972-b673-dc2d8e07c7a4.jpg","/storage/v1/object/public/summum/units/9773c76e-c420-4014-809b-0c27a10cc941/86f83af2-acad-4644-8df0-f0233955d1f0.jpg","11009910-e4d7-483a-a7fa-a6b4b9ab2f84","8",[],["D",1798761600000],[],"/storage/v1/object/public/summum/buildings/1843712e-8e8e-45b2-974d-6065c69ffd2f/6b90b4b4-4864-4f9b-abbd-0e6eb0e3c309.jpg",{"_19":167,"_168":169,"_170":171,"_172":26,"_173":174,"_175":61,"_176":101,"_177":178,"_179":180,"_181":26,"_182":26,"_183":26},{"_27":28,"_29":397,"_31":32,"_33":34,"_35":36,"_37":38,"_39":-7,"_40":398,"_42":43,"_44":45,"_46":47,"_48":49,"_50":51,"_52":53,"_54":45},"listings",[],"listingsByView",{"_392":169,"_393":394,"_395":396},"explodeProjects","initialFilters",{"_131":303,"_304":305,"_306":307,"_100":308,"_142":309,"_310":26,"_128":311,"_126":312,"_313":26,"_314":61,"_315":316,"_317":318},"defaultView","count","filters",{},"configs",{"_184":185,"_186":187,"_188":189,"_190":191,"_192":185,"_193":194},"isEmbed","widgetMissing","hasSubmissions","analysisProducts",[284,286,288,292,299],"analysisProductsPrice",{"_284":285,"_286":287,"_288":289,"_290":291,"_292":293,"_294":295,"_296":297,"_298":297,"_299":138,"_300":295,"_301":302},"notifications",{"_252":253},"form",{"_245":61,"_246":61,"_247":61,"_248":61,"_249":61,"_250":61,"_251":61},"enabledSkus","submissions",{"_195":196,"_197":198,"_199":200,"_201":202,"_31":203,"_204":-5},"all",[231,232,233,234,235,236,237,241,242,243,244],"steps",[231,232,233,234,235,236,237],"badges",[221,222,223,224,225,226],"statuses",[215,205,207,209,211,213,216,217,218,219,220],{"_205":206,"_207":208,"_209":210,"_211":212,"_213":214},"snoozeStep","pending","bg-pink-500","preapproved","bg-sky-500","approved","bg-purple-500","signature","bg-green-500","accepted","bg-amber-500","draft","chosen","rejected","lead","cancelled","soft_rejected",{"_227":205,"_229":206},{"_227":207,"_229":208},{"_227":209,"_229":210},{"_227":211,"_229":212},{"_227":213,"_229":214},{"_227":228,"_229":230},"id","snoozed","color","bg-teal-500",{"_227":215,"_229":-5,"_238":26},{"_227":205,"_229":206,"_238":61,"_239":26,"_240":26},{"_227":207,"_229":208,"_238":61,"_239":26,"_240":26},{"_227":209,"_229":210,"_238":61,"_239":26,"_240":26},{"_227":211,"_229":212,"_238":61,"_239":26,"_240":26},{"_227":213,"_229":214,"_238":61,"_239":26,"_240":26},{"_227":216,"_229":-5,"_238":61},"isActionable","staffActionnable","visitAgentActionnable",{"_227":217,"_229":-5,"_238":26},{"_227":218,"_229":-5,"_238":26},{"_227":219,"_229":-5,"_238":26},{"_227":220,"_229":-5,"_238":26},"tenant_payments_enabled","tenant_refunds_enabled","require_id_proof","require_payment_proof","allow_co_applicants","require_employment_reference","require_landlord_reference","emails",{"_254":255,"_256":257,"_19":258,"_259":260},"agent",[279,280,281,282,283,265,266,269,270,278],"manager",[278],[264,265,266,267,268,269,270,271,272,273,274,275,276,277,278],"admin",[261,262,263],"daily-recap","auth:role-changed","auth:ownership-transferred","invite-tenant","application-confirm","application-rejected","tenant-endorser-rejected","tenant-application-rejected-with-conditions","application-deadline-reminder","application-deadline-expired","submission-status-update","submission-marked-as-accepted","tenant-approved-with-conditions","tenant-approved-without-conditions","selected-as-new-tenant","submission-snoozed-reminder","submission-snoozed-expired","credit-unlock","agent-approved-with-conditions","agent-approved-without-conditions","agent-submission-snoozed-expired","agent-submission-snoozed-reminder","agent-submission-snoozed","ca_citizen_credit_check",1799,"ca_citizen_public_court_files",500,"qc_citizen_criminal_plumitif_check",1049,"qc_citizen_criminal_plumitif_municipal_check",699,"qc_citizen_rental_board_check",1000,"on_citizen_rental_board_check",999,"ca_citizen_workplace_reference_verification",1499,"ca_citizen_landlord_reference_verification","ca_citizen_rent_affordability_analysis","qc_citizen_lease_generation","qc_citizen_rental_board_extended_check",799,[138,391],"pricePerMonth",[138,391],"pricePerSqft",[101,101],[101,138],[101,101],"hasFloor",[101,138],[101,346],"hasCommercial","hasResidential","availableAmenities",[350,351,352,353,354,355,356],"availableNeighborhoods",[319,320,321,322,323,324,325,326,327,328,329,330,331,332],{"_103":349,"_176":340},{"_103":348,"_176":138},{"_103":347,"_176":138},{"_103":345,"_176":346},{"_103":344,"_176":138},{"_103":343,"_176":138},{"_103":342,"_176":138},{"_103":341,"_176":335},{"_103":339,"_176":340},{"_103":109,"_176":338},{"_103":337,"_176":335},{"_103":336,"_176":335},{"_103":334,"_176":335},{"_103":333,"_176":138},"Villeray—Saint-Michel—Parc-Extension","Ville-Marie",2,"Verdun","Rosemont - La Petite-Patrie",8,"QC",5,"Mercier - Hochelaga-Maisonneuve","Le Sud-Ouest","Le Plateau-Mont-Royal","Hochelaga-Maisonneuve","Côte-des-Neiges - Notre-Dame-de-Grâce",3,"Côte-des-Neiges","Centre-Sud","Ahuntsic-Cartierville",{"_48":386,"_103":387,"_42":388},{"_48":382,"_103":383,"_42":374},{"_48":377,"_103":378,"_42":379},{"_48":372,"_103":373,"_42":374},{"_48":367,"_103":368,"_42":369},{"_48":362,"_103":363,"_42":364},{"_48":357,"_103":358,"_42":359},"electric-heating",{"_98":360,"_22":361},"lucide:thermometer-sun","Electric Heating","Chauffage Électrique","refrigerator",{"_98":365,"_22":366},"lucide:refrigerator","Refrigerator","Réfrigérateur","cats-allowed",{"_98":370,"_22":371},"lucide:paw-print","Cats Allowed","Chats autorisés","washer",{"_98":375,"_22":376},"lucide:washing-machine","Washer","Laveuse","water",{"_98":380,"_22":381},"lucide:droplet","Water","Eau","dryer",{"_98":384,"_22":385},"Dryer","Sèche-linge","oven",{"_98":389,"_22":390},"lucide:microwave","Oven","Four",2589,"list","map",[],"explode",[],{"_75":76,"_77":78,"_79":80},{"_59":26,"_60":61,"_62":26},{"_400":-5,"_401":-7,"_402":403,"_404":405,"_21":22,"_19":406,"_407":-5,"_408":409,"_179":180,"_410":-5,"_411":-5,"_412":413},"devTools","prefill","impersonate",{},"theme","light",{"_227":431,"_48":49,"_432":433,"_54":45,"_37":38,"_31":32,"_434":435,"_27":28,"_33":34,"_186":436,"_437":438,"_439":-5,"_440":441,"_44":45,"_442":443,"_444":445,"_46":47,"_446":-5,"_447":-5,"_448":-5,"_52":53,"_50":51,"_35":36,"_449":-5,"_450":-5,"_179":180,"_451":452,"_453":454,"_455":456,"_42":43,"_457":458,"_39":-7,"_459":460,"_40":461,"_462":463,"_464":-7,"_465":466,"_29":467,"_184":468,"_469":470,"_471":472},"toast","user",{"_417":26,"_418":-5,"_419":-5,"_420":-5,"_421":-5,"_422":-5,"_423":-5,"_424":-5,"_425":-5,"_426":-5,"_66":-5,"_68":-5,"_427":-5,"_97":26,"_428":26,"_429":-5,"_430":-5},"otpPendingEmail","otpPendingContextEmail","telemetry",{"_414":61,"_408":-5,"_415":416},"recording","group",{"_227":49,"_103":45},"isSignedIn","userId","firstName","lastName","fullName","dateOfBirth","preferredLanguage","orgRole","orgSlug","role","profilePicture","isImpersonated","impersonatorId","ipAddress","rGAcwldRQldzll4TQX9pO","assets",{"_42":564},"social",{"_561":562,"_563":76},{"_284":285,"_286":287,"_288":289,"_290":291,"_292":293,"_294":295,"_296":297,"_298":297,"_299":138,"_300":295,"_301":302},"stripeCustomerId","cus_TSsHw8GIAzdE3E","paymentSetupRequiredAfter","tos",{"_558":-5,"_213":61,"_559":26,"_560":512},"plan",{"_103":537,"_538":76,"_539":540,"_541":542,"_543":544,"_545":546,"_547":548,"_549":550,"_551":346,"_552":553,"_554":555,"_556":557},"metadata",{"_29":467},"consentConditionsText","consentConditionsEn","consentConditionsFr","suspendedAt","archivedAt","billing",{"_529":530,"_437":438,"_531":532,"_44":45,"_533":534,"_535":536},"bucket",{"_526":49,"_527":528},"appUrl","https://rental.summumpm.com","logo",{"_405":523,"_524":525},"tosHistory",[512],{"_480":61,"_481":-7,"_60":61,"_482":26,"_483":61,"_484":61,"_485":26,"_486":26,"_487":-7,"_488":26,"_489":-7,"_490":61,"_491":26,"_492":26,"_493":494,"_495":26,"_496":26,"_497":101,"_498":-7,"_499":26,"_59":26,"_500":61,"_62":26,"_501":502,"_503":61,"_504":26,"_505":26,"_506":138,"_507":26,"_508":26,"_509":26,"_510":26},"disabledModules",[],"rolePermissions","banner",{"_98":478,"_22":479},{"_77":78,"_477":76,"_75":76,"_79":80},[284,286,288,292,299],"payments",{"_473":61,"_474":61,"_475":26,"_476":26},"version","prod-20261027-1707b56","isTenantPayingForCheck","isOrgPaymentSetup","isPrepaid","shouldAskToSetupPayment","googleAds","Contact us at (438) 801-1080 to book your visit!","Contactez-nous au (438) 801-1080 pour planifier votre visite!","tempEquifaxEnabled","whArrayAsObjects","disableAgents","preventInvitation","isBannerEnabled","preventApplyWhenNotListed","hasDynamicLinks","hasAddressVariants","isSinEnforced","isTestMode","hasSubmissionsAssignedEnabled","hasLargeUnitChangeTrigger","hideServiceEstimates","unitChangeThreshold",300,"showAgentPortalButton","hasLegalChecksConfidence","legalChecksConfidenceLevel","automatedPrepayed","hasPerBuildingLeadForm","hasDocumentAiEnabled","partnerOffersEnabled",[511],"showPerMonthPricing","blockOutOfProvinceEndorsers","hasLeaseModificationCheckReuse","leaseModificationCheckReuseMonths","hopemIntegrationEnabled","voltixIntegrationEnabled","leaseGenerationEnabled","hasPerProjectChecks","youset",{"_513":514,"_515":516,"_471":517,"_213":61,"_211":518,"_519":520,"_521":522},"ip","163.123.169.193","url","tos/tos_v1.0.0_1763739934838_H1ii8G.pdf","1.0.0","PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzU4IDE5MiIgd2lkdGg9Ijc1OCIgaGVpZ2h0PSIxOTIiPjxwYXRoIGQ9Ik0gMjcxLjY4NCw4NC45MTQgQyAyNzAuNDIzLDg3LjIxMCAyNzAuNTQxLDg3LjI2MiAyNjkuMzk4LDg5LjYwOSIgc3Ryb2tlLXdpZHRoPSI1LjM4NSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjM5OCw4OS42MDkgQyAyNjcuNzU4LDkzLjk3MSAyNjcuNTcxLDkzLjg5MSAyNjUuOTgwLDk4LjI3NyIgc3Ryb2tlLXdpZHRoPSIzLjk1OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY1Ljk4MCw5OC4yNzcgQyAyNjMuNjM1LDEwMy4zMzMgMjYzLjg1NywxMDMuNDIxIDI2MS41OTgsMTA4LjUwOCIgc3Ryb2tlLXdpZHRoPSIzLjU1MCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYxLjU5OCwxMDguNTA4IEMgMjYwLjIxMywxMTIuMjkyIDI2MC4xMjMsMTEyLjI1MyAyNTguOTU3LDExNi4xMTciIHN0cm9rZS13aWR0aD0iMy43MzIiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1OC45NTcsMTE2LjExNyBDIDI1Ni42MzYsMTIzLjUwNyAyNTcuOTc1LDExOS4xMDggMjU3LjEyMSwxMjIuMTQxIiBzdHJva2Utd2lkdGg9IjQuMzc1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNTcuMTIxLDEyMi4xNDEgQyAyNTkuMDY5LDExMy43MDIgMjU4LjQzMywxMTguNDQzIDI2Mi41NTEsMTA1Ljk4OCIgc3Ryb2tlLXdpZHRoPSI0LjYyOCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjYyLjU1MSwxMDUuOTg4IEMgMjY1Ljc3NywxMDAuNjMxIDI2NS4xMDUsMTAwLjMzMCAyNjkuMTkxLDk1LjM5OCIgc3Ryb2tlLXdpZHRoPSIzLjQ5MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjY5LjE5MSw5NS4zOTggQyAyNzAuOTQ1LDkyLjM0MyAyNzEuMDk4LDkyLjQ3NyAyNzMuMTkxLDg5LjY4MCIgc3Ryb2tlLXdpZHRoPSIzLjgyNCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjE5MSw4OS42ODAgQyAyNzkuMTYyLDgyLjQ5MSAyNzkuMTgwLDgyLjU3OSAyODUuNjYwLDc1Ljg3MSIgc3Ryb2tlLXdpZHRoPSIyLjg3NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg1LjY2MCw3NS44NzEgQyAyODcuODgzLDczLjk1NCAyODcuNzA1LDczLjc4OCAyOTAuMjc3LDcyLjI3MyIgc3Ryb2tlLXdpZHRoPSIzLjY4MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjkwLjI3Nyw3Mi4yNzMgQyAyOTYuNjQ5LDY3LjU2MCAyOTYuNzM2LDY3Ljc0MSAzMDMuMzY3LDYzLjQ0NSIgc3Ryb2tlLXdpZHRoPSIzLjExMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzAzLjM2Nyw2My40NDUgQyAzMDYuNjc2LDYxLjU5MyAzMDYuNTgwLDYxLjQ3OCAzMTAuMTQxLDYwLjEwOSIgc3Ryb2tlLXdpZHRoPSIzLjU3NiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzEwLjE0MSw2MC4xMDkgQyAzMTMuMjg0LDU4Ljc0MyAzMTMuMjY2LDU4Ljc3MSAzMTYuNTQ3LDU3LjgwMSIgc3Ryb2tlLXdpZHRoPSIzLjg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE2LjU0Nyw1Ny44MDEgQyAzMTkuNDE4LDU2LjIyMSAzMTkuMTY1LDU3LjA0NCAzMjEuOTAyLDU2LjcxMSIgc3Ryb2tlLXdpZHRoPSI0LjQ5NCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIxLjkwMiw1Ni43MTEgQyAzMjYuMzYxLDU3LjQ5MyAzMjQuNTE2LDU3LjIyNyAzMjYuNzQyLDU5LjgxMyIgc3Ryb2tlLXdpZHRoPSI0Ljg3MyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzI2Ljc0Miw1OS44MTMgQyAzMjYuMzM2LDY1LjA4MiAzMjcuNDA0LDYzLjgzMyAzMjMuOTg4LDY5LjM5MSIgc3Ryb2tlLXdpZHRoPSIzLjg2MiIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzIzLjk4OCw2OS4zOTEgQyAzMTkuODE3LDc1Ljk1MyAzMjAuMzU1LDc2LjA1OSAzMTQuNzgxLDgxLjc2NiIgc3Ryb2tlLXdpZHRoPSIzLjEwNSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzE0Ljc4MSw4MS43NjYgQyAzMDkuODU0LDg3LjQ0NSAzMDkuOTE2LDg3LjM4MSAzMDQuMTg4LDkyLjI0NiIgc3Ryb2tlLXdpZHRoPSIzLjAyOSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzA0LjE4OCw5Mi4yNDYgQyAyOTguODA2LDk2LjcwMCAyOTguOTE5LDk2LjcxMCAyOTIuOTEwLDEwMC4yOTciIHN0cm9rZS13aWR0aD0iMy4wMTkiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI5Mi45MTAsMTAwLjI5NyBDIDI4Ny44NTQsMTAzLjQ5MyAyODcuOTA4LDEwMy4zNDggMjgyLjM5MSwxMDUuNTQzIiBzdHJva2Utd2lkdGg9IjMuMjI3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODIuMzkxLDEwNS41NDMgQyAyNzguMDg0LDEwNi42NTYgMjc4LjI2MywxMDcuMDkyIDI3My43MjcsMTA3LjQ5NiIgc3Ryb2tlLXdpZHRoPSIzLjU0MSIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjczLjcyNywxMDcuNDk2IEMgMjcwLjc4OSwxMDguMDY4IDI3MC44MDEsMTA4LjA2MCAyNjcuODI0LDEwOC4zNTIiIHN0cm9rZS13aWR0aD0iMy45MTMiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4NS41MjMsOTEuNjQxIEMgMjg1LjAwOSw5OC4wMzYgMjg0LjcyNyw5Ny45ODIgMjgzLjkzMCwxMDQuMzI0IiBzdHJva2Utd2lkdGg9IjUuMjU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyODMuOTMwLDEwNC4zMjQgQyAyODIuMjQ0LDExMS4xNTggMjgzLjMxNCwxMDcuOTEzIDI4Mi4xMzMsMTExLjM5NSIgc3Ryb2tlLXdpZHRoPSI0LjI1NyIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjgyLjEzMywxMTEuMzk1IEMgMjgyLjA1MCwxMDcuOTc5IDI4Mi4wMzcsMTExLjYwMCAyODMuNTE2LDEwNS4yMDciIHN0cm9rZS13aWR0aD0iNC44NjgiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI4My41MTYsMTA1LjIwNyBDIDI4OC4zNjYsOTUuOTk4IDI4OC4yNzgsOTYuMjAwIDI5NC41OTAsODcuODM2IiBzdHJva2Utd2lkdGg9IjIuOTY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTQuNTkwLDg3LjgzNiBDIDMwMS4zMjIsODAuMDM4IDMwMC44MDgsNzkuNjgyIDMwOC4zOTgsNzIuNTc0IiBzdHJva2Utd2lkdGg9IjIuNTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguMzk4LDcyLjU3NCBDIDMxMS42MjYsNjguMzM0IDMxMS45NTUsNjguODIzIDMxNS44NTUsNjUuNDA2IiBzdHJva2Utd2lkdGg9IjMuMTY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTUuODU1LDY1LjQwNiBDIDMyNS44MDYsNTguMzc5IDMyNS43MDEsNTguNTkxIDMzNi41NDcsNTMuMDkwIiBzdHJva2Utd2lkdGg9IjIuNTI5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzYuNTQ3LDUzLjA5MCBDIDM0Mi44NTEsNTAuNTkyIDM0Mi41NTYsNTAuMTMxIDM0OS4zNTUsNDguOTEwIiBzdHJva2Utd2lkdGg9IjIuOTI2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDkuMzU1LDQ4LjkxMCBDIDM1NC4wMTIsNDcuOTM1IDM1My45MzMsNDcuNzI3IDM1OC43MTEsNDcuMzU5IiBzdHJva2Utd2lkdGg9IjMuMzI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTguNzExLDQ3LjM1OSBDIDM2My4yOTEsNDUuNzg1IDM2MS4yODgsNDcuMDQ0IDM2My45MDYsNDcuMTI5IiBzdHJva2Utd2lkdGg9IjMuOTU3IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjMuOTA2LDQ3LjEyOSBDIDM2My45NzIsNTEuMzM5IDM2NC43MjEsNDguOTEwIDM2MS41NzAsNTMuNjA5IiBzdHJva2Utd2lkdGg9IjQuNDM1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjEuNTcwLDUzLjYwOSBDIDM1NC4xNTgsNTguNzUwIDM1NS4yODUsNTkuNTUwIDM0Ni41MzEsNjMuNTUxIiBzdHJva2Utd2lkdGg9IjMuMDA5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNDYuNTMxLDYzLjU1MSBDIDMzNy4wMDUsNjkuMzU0IDMzNy4wOTQsNjkuNDkyIDMyNy40NDEsNzUuMDk0IiBzdHJva2Utd2lkdGg9IjIuNTgxIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjcuNDQxLDc1LjA5NCBDIDMyMi40NDYsNzcuODYzIDMyMi41NTAsNzguMDI5IDMxNy42MjEsODAuOTAyIiBzdHJva2Utd2lkdGg9IjMuMDg1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTcuNjIxLDgwLjkwMiBDIDMxMi44NTMsODMuNjIzIDMxMy4wMjYsODMuNzk3IDMwOC42MDIsODYuOTYxIiBzdHJva2Utd2lkdGg9IjMuMjY2IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDguNjAyLDg2Ljk2MSBDIDMwMy4yNzIsOTAuMDkyIDMwNi4zMDAsODguNzY4IDMwNC41MTYsOTEuMTkxIiBzdHJva2Utd2lkdGg9IjQuMTkzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMDQuNTE2LDkxLjE5MSBDIDMxMC4yNTEsOTIuNjg3IDMwNy4wMTQsOTMuMzk5IDMxNi4wODYsOTMuNTc0IiBzdHJva2Utd2lkdGg9IjMuNTQwIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMTYuMDg2LDkzLjU3NCBDIDMyNS41NzgsOTQuNDYyIDMyNS40OTQsOTUuMDA1IDMzNS4wMDAsOTUuODI4IiBzdHJva2Utd2lkdGg9IjIuODY4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMzUuMDAwLDk1LjgyOCBDIDM0NC40MDEsOTcuMTg1IDM0NC4zODYsOTcuMTg5IDM1My43MDMsOTkuMDI3IiBzdHJva2Utd2lkdGg9IjIuNjU1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNTMuNzAzLDk5LjAyNyBDIDM1OS45ODIsMTAwLjI1MiAzNTkuOTU2LDEwMC4yNjUgMzY2LjEwOSwxMDEuOTg4IiBzdHJva2Utd2lkdGg9IjMuMDIzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNjYuMTA5LDEwMS45ODggQyAzNzUuNDEzLDEwMi41ODYgMzcwLjA1MiwxMDMuMTA2IDM3My44NDQsMTA0LjczNCIgc3Ryb2tlLXdpZHRoPSIzLjQ3OCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMzczLjg0NCwxMDQuNzM0IEMgMzY0LjczNiwxMTUuMDg2IDM2OC45OTUsMTExLjM3MCAzNTMuMjczLDExOS41NTUiIHN0cm9rZS13aWR0aD0iMy44NTciIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDM1My4yNzMsMTE5LjU1NSBDIDMzOS44MjksMTIyLjExMiAzNDAuOTQxLDEyNC4zNjMgMzI2LjI1NCwxMjMuMjg5IiBzdHJva2Utd2lkdGg9IjIuNDg4IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzMjYuMjU0LDEyMy4yODkgQyAzMDcuMDA0LDEyNS45MTUgMzA3LjEzNSwxMjQuOTQ3IDI4Ny44ODcsMTI1LjIyNyIgc3Ryb2tlLXdpZHRoPSIxLjkwMCIgc3Ryb2tlPSJyZ2JhKDAsIDAsIDAsIDAuOCkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Ik0gMjg3Ljg4NywxMjUuMjI3IEMgMjY5Ljk5OSwxMjQuMzM5IDI3MC4zMjcsMTI0LjU5NCAyNTIuODk4LDEyMC42NDgiIHN0cm9rZS13aWR0aD0iMS44NTAiIHN0cm9rZT0icmdiYSgwLCAwLCAwLCAwLjgpIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNIDI1Mi44OTgsMTIwLjY0OCBDIDI0NC43NjgsMTE5LjU4NiAyNDUuOTU2LDExOS4xNTAgMjM5LjgwMSwxMTQuODQ4IiBzdHJva2Utd2lkdGg9IjIuNTU0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMzkuODAxLDExNC44NDggQyAyMjYuNjg1LDEwNC41NjMgMjMyLjgwNywxMDguMTc2IDIyOC45NzcsOTcuODI4IiBzdHJva2Utd2lkdGg9IjIuNjIyIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyMjguOTc3LDk3LjgyOCBDIDIzOC41NzAsODkuMzAwIDIzMS43NzksODkuNTkyIDI0OS45ODgsODQuOTA2IiBzdHJva2Utd2lkdGg9IjIuMzg0IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyNDkuOTg4LDg0LjkwNiBDIDI3NC4zNDYsNzUuNDE3IDI3My45MTIsNzUuNzAwIDI5OS42NjAsNzAuNjI5IiBzdHJva2Utd2lkdGg9IjEuNTMzIiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAyOTkuNjYwLDcwLjYyOSBDIDMzNS43ODYsNjMuNzU5IDMzNS40NjQsNjMuODU3IDM3Mi4yMjMsNjEuNzg1IiBzdHJva2Utd2lkdGg9IjEuMTY5IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTSAzNzIuMjIzLDYxLjc4NSBDIDQyMi45MDksNjEuMDI3IDQyMi43NDMsNTkuMDQ4IDQ3My41NzQsNjEuMjA3IiBzdHJva2Utd2lkdGg9IjEuMTI1IiBzdHJva2U9InJnYmEoMCwgMCwgMCwgMC44KSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+PC9zdmc+","acceptedAt","2025-11-21T15:45:35.398Z","acceptedBy","Philippe Brassard (philippe@summumpm.com)","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/light","dark","https://nykxxjptujeqkwefdxxg.supabase.co/storage/v1/object/public/summum/logo/dark","public","private","summum_private","billingEmail","philippe@summumpm.com","lastDigit","6148","paymentType","visa","kind","configured","Pro","notes","planId","pro_2025_06","startDate","2025-11-21","yearlyPrice",2990,"monthlyPrice",89,"supportLevel","standard","freeTrialDays",14,"includedUsers","billingInterval","monthly","additionalUserPrice",49,"planDurationInMonths",12,"current","shouldAccept","lastAccepted","facebook","https://www.facebook.com/summumpm","youtube",{"_565":566},"updated_at","2026-08-24T00:34:22.636Z"]
2+P18:-5
deleted tests/fixtures/summum/102e074d21e3d0a0f0c8.html +0 −618
@@ -1,618 +0,0 @@
1−
2−
3−
4−<!doctype html>
5−<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang=""> <![endif]-->
6−<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang=""> <![endif]-->
7−<!--[if IE 8]> <html class="no-js lt-ie9" lang=""> <![endif]-->
8−<!--[if gt IE 8]><!-->
9−<html class="no-js" lang="fr">
10−<!--<![endif]-->
11−<head>
12− <meta charset="utf-8">
13− <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
14− <title>Affichages</title>
15− <meta name="viewport" content="width=device-width, initial-scale=1">
16− <meta name="description" content="Logements &#224; louer &#224; Montr&#233;al">
17− <meta name="keywords" content="Logement, Location, Montr&#233;al, Tenant, Appartement, Building Stack">
18− <link rel="apple-touch-icon" href="apple-touch-icon.png">
19− <!-- Chrome, Firefox OS, Opera and Vivaldi -->
20− <meta name="theme-color" content="rgba(24,38,66,1)">
21− <!-- Windows Phone -->
22− <meta name="msapplication-navbutton-color" content="rgba(24,38,66,1)">
23− <!-- iOS Safari -->
24− <meta name="apple-mobile-web-app-status-bar-style" content="rgba(24,38,66,1)">
25−
26− <link rel="stylesheet" href="/Content/Stylesheets/listings/normalize.min.css">
27−
28−
29−
30− <script type="text/javascript" class="optanon-category-C0001">
31− var iniframe = false
32− try {
33− iniframe = window.self !== window.top
34− } catch (e) {
35− iniframe = true
36− }
37−
38− if (!iniframe && cookieManagerKey) {
39− const scriptTag = document.createElement("script")
40−
41− scriptTag.type = "text/javascript"
42− scriptTag.src =
43− `https://cdn.cookielaw.org/consent/${cookieManagerKey}/OtAutoBlock.js`
44−
45− const stubTag = document.createElement("script")
46− stubTag.type = "text/javascript"
47− stubTag.src = "https://cdn.cookielaw.org/scripttemplates/otSDKStub.js"
48− stubTag.charset = "UTF-8"
49− stubTag.setAttribute("data-domain-script", cookieManagerKey)
50−
51− const wrapperTag = document.createElement("script")
52− wrapperTag.type = "text/javascript"
53− wrapperTag.innerHTML = "function OptanonWrapper() { }"
54−
55− document.head.appendChild(scriptTag)
56− document.head.appendChild(stubTag)
57− document.head.appendChild(wrapperTag)
58− }
59− </script>
60−
61− <link rel="stylesheet" href="/Content/Stylesheets/listings/main.css">
62−
63−
64− <link href="https://wfiles.buildingstack.com/resources/image/RtTBPamrT6jrGoyRcgiiDZYyMTLP7Syd5" rel="shortcut icon" type="image/x-icon" />
65− <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300,800' rel='stylesheet' type='text/css'>
66−
67− <link rel="stylesheet" href="/Content/LightGallery/css/lightgallery.min.css" />
68− <link rel="stylesheet" href="/Content/LightGallery/css/lightslider.min.css" />
69−
70− <script src="/bundles/jquery?v=v8thH4gSPX5DyN6JlBJ_z2ldPWoOUIuUmdnIz2JydG41"></script>
71−
72− <script src="/bundles/lightgallery?v=aDiV7xUmHD3FR903cMsQIwmP1dy6MT_AvRlLi2mG_X41"></script>
73−
74− <script src="/bundles/listings?v=ACN7ICBuogrPYEmNE-Ty2sea_3KGwQ0r8MDOqXNc3vk1"></script>
75−
76−
77−
78−
79− <script type="text/javascript" id="listingfullstory">
80− window['_fs_debug'] = false;
81− window['_fs_host'] = 'www.fullstory.com';
82− window['_fs_org'] = '1yVu';
83− window['_fs_namespace'] = 'FS';
84− (function (m, n, e, t, l, o, g, y) {
85− if (e in m && m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window["_fs_namespace"].'); return; }
86− g = m[e] = function (a, b) { g.q ? g.q.push([a, b]) : g._api(a, b); }; g.q = [];
87− o = n.createElement(t); o.async = 1; o.src = 'https://' + _fs_host + '/s/fs.js';
88− y = n.getElementsByTagName(t)[0]; y.parentNode.insertBefore(o, y);
89− g.identify = function (i, v) { g(l, { uid: i }); if (v) g(l, v) }; g.setUserVars = function (v) { g(l, v) };
90− g.identifyAccount = function (i, v) { o = 'account'; v = v || {}; v.acctId = i; g(o, v) };
91− g.clearUserCookie = function (c, d, i) {
92− if (!c || document.cookie.match('fs_uid=[`;`]*`[`;`]*`[`;`]*`')) {
93− d = n.domain; while (1) {
94− n.cookie = 'fs_uid=;domain=' + d +
95− ';path=/;expires=' + new Date(0).toUTCString(); i = d.indexOf('.'); if (i < 0) break; d = d.slice(i + 1)
96− }
97− }
98− };
99− })(window, document, window['_fs_namespace'], 'script', 'user');
100− </script>
101−
102−
103−
104−
105−
106− <link href="/Content/WaitMe/waitMe.css" rel="stylesheet" />
107−
108− <script src="/Scripts/WaitMe/waitMe.js"></script>
109−
110− <script src="/Scripts/JQuery.InputMask/min/jquery.inputmask.bundle.min.js"></script>
111− <script src="/Scripts/JQuery.InputMask/min/inputmask/phone-codes/phone.min.js"></script>
112− <script src="/Scripts/GothamCommon/PhoneMaskedEditor.js"></script>
113−
114− <script type="text/javascript">
115− $(function () {
116− Gotham.LoadingIndicator.initGlobal('/Content/Images/loading.gif');
117− Gotham.PhoneMaskedEditor.initialize();
118− if (window.OneTrust) {
119− window.OneTrust.changeLanguage('fr');
120− }
121− });
122− </script>
123−
124−
125−
126−
127− <!-- Global site tag (gtag.js) - Google Analytics -->
128− <script async src="https://www.googletagmanager.com/gtag/js?id=UA-49572274-1"></script>
129− <script>
130− window.dataLayer = window.dataLayer || [];
131− function gtag() { dataLayer.push(arguments); }
132− gtag('js', new Date());
133−
134− gtag('config', 'UA-49572274-1');
135−
136− gtag('config', '&lt;!-- Global site tag (gtag.js) - Google Analytics --&gt; &lt;script async src=&quot;https://www.googletagmanager.com/gtag/js?id=UA-176051114-1&quot;&gt;&lt;/script&gt; &lt;script&gt; window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag(&#39;js&#39;, new Date()); gtag(&#39;config&#39;, &#39;UA-176051114-1&#39;); &lt;/script&gt;');
137− </script>
138−
139−</head>
140−<body class="fr search-page">
141− <div class="page-wrapper">
142− <!--[if lt IE 8]>
143− <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
144− <![endif]-->
145−
146−
147−
148−
149−<script src="https://maps.googleapis.com/maps/api/js?key=AIza_CLE_CAVIARDEE_LOUKA_000000000000000&language=fr"></script>
150−
151−<!-- HEADER -->
152−<link href="/Customize/Css" rel="stylesheet" type="text/css" />
153−
154− <div class="header wrapper apply">
155− <div class="page-content clearfix">
156− <div class="logo">
157− <div class="app-logo-with-title">
158− <a href="/">
159− <div class="app-image-logo">
160− <div id="image-logo">
161− <img src="https://wfiles.buildingstack.com/resources/image/K6yPiAIheR4xbxUahA2Zf3OSegCsCvwU1" class="app-logo" />
162− </div>
163− </div>
164− </a>
165− <div class="app-title-name">
166− <h1 id="type-user" class="app-title">Gestion Immobili&#232;re Summum</h1>
167− </div>
168− </div>
169− </div>
170− <div class="apply-now">
171− <a href="https://app.buildingstack.com/application/start?company=summumpm" target="_blank" class="apply-now-button apply-now-button-backgroundColor">Envoyer une demande</a>
172− </div>
173− <div class="login">
174− <a href="https://app.buildingstack.com/" target="_parent" class="login-button login-button-backgroundColor">Se connecter</a>
175− </div>
176−
177−
178− <div id="dd5" class="wrapper-dropdown-3 lang-selector" tabindex="1">
179− <input data-val="true" data-val-required="The [[ListingModel_Language]] field is required." id="Language" name="Language" type="hidden" value="French" />
180− <span>Anglais</span>
181− <ul class="dropdown">
182− <li data-val="English">
183− <a href="/Header/SetLanguage?lang=English">English</a>
184− </li>
185− <li data-val="French">
186− <a href="/Header/SetLanguage?lang=French">Fran&#231;ais</a>
187− </li>
188− </ul>
189− </div>
190− <script type="text/javascript">
191− // LANGUAGE-SELECTOR DROPDOWN
192− $(function () {
193− var dd = new GmListing.DropDown($('#dd5'), {
194− navigateOnClick: true
195− });
196− });
197− </script>
198− </div>
199− </div>
200− <div class="navigation wrapper">
201− <div class="page-content clearfix">
202−
203− <div class="menu-icon">
204− <div class="one"></div>
205− <div class="two"></div>
206− <div class="three"></div>
207− </div>
208− <div class="nav">
209− <ul class="menu">
210−
211− <li class=""><a href="/">ACCUEIL</a></li>
212− <li class="active accent_color_1_border"><a href="/Listing/Listings">ANNONCES</a></li>
213− <li class=""><a href="/ContactUs">CONTACT</a></li>
214− </ul>
215−
216− <a href="tel:+15148191529" class="contact">
217− (514) 819-1529
218− </a>
219− </div>
220− </div>
221− </div>
222−<!-- END HEADER -->
223−<script type="text/javascript">
224− $(function () {
225− $(document).click(function () {
226− // all dropdowns
227− $('.wrapper-dropdown-3').removeClass('active');
228− });
229− });
230−</script>
231−
232−
233−
234−
235−<script src="https://cdn.jsdelivr.net/picturefill/2.3.1/picturefill.min.js"></script>
236−
237−<!-- SEARCH-BAR -->
238−<div class="searchbar-tab wrapper">
239− <div class="page-content clearfix">
240−
241−
242−
243−
244− <input class="tab-input" type="radio" name="nav" id="one" checked=&#39;checked&#39; autocomplete="off" />
245− <label class="tab-trigger-btn residential-label" for="one" data-tab="0">R&#233;sidentiel <span class="residential-icon"></span></label>
246−<article class="searchbar-tab-content one search-bar clearfix">
247−<form action="/Listing/Listings" data-filters="True" data-name="Listings" method="post"><input id="ConcreteTypeAssemblyQualifiedName" name="ConcreteTypeAssemblyQualifiedName" type="hidden" value="Gotham.Service.Model.ResidentialListingFilter, Gotham.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <div id="dd" class="wrapper-dropdown-3 selector location" tabindex="1">
248− <input autocomplete="off" id="City" name="City" type="hidden" value="" />
249− <span>N&#39;importe quelle ville</span>
250− <ul class="dropdown">
251− <li><a href="#">N&#39;importe quelle ville</a></li>
252− <li data-val="Blainville"><a href="#">Blainville</a></li>
253− <li data-val="Brossard"><a href="#">Brossard</a></li>
254− <li data-val="Dollard-des-Ormeaux"><a href="#">Dollard-des-Ormeaux</a></li>
255− <li data-val="Granby"><a href="#">Granby</a></li>
256− <li data-val="La Prairie"><a href="#">La Prairie</a></li>
257− <li data-val="Lachine"><a href="#">Lachine</a></li>
258− <li data-val="Laval"><a href="#">Laval</a></li>
259− <li data-val="Longueuil"><a href="#">Longueuil</a></li>
260− <li data-val="Mascouche"><a href="#">Mascouche</a></li>
261− <li data-val="Mirabel"><a href="#">Mirabel</a></li>
262− <li data-val="Montr&#233;al"><a href="#">Montr&#233;al</a></li>
263− <li data-val="Mont-Royal"><a href="#">Mont-Royal</a></li>
264− <li data-val="Saint-Calixte"><a href="#">Saint-Calixte</a></li>
265− <li data-val="Sainte-Th&#233;r&#232;se"><a href="#">Sainte-Th&#233;r&#232;se</a></li>
266− <li data-val="Saint-Eustache"><a href="#">Saint-Eustache</a></li>
267− <li data-val="Saint-Hippolyte"><a href="#">Saint-Hippolyte</a></li>
268− <li data-val="Saint-J&#233;r&#244;me"><a href="#">Saint-J&#233;r&#244;me</a></li>
269− <li data-val="Saint-Lin-Laurentides"><a href="#">Saint-Lin-Laurentides</a></li>
270− <li data-val="Saint-Sauveur"><a href="#">Saint-Sauveur</a></li>
271− <li data-val="Terrebonne"><a href="#">Terrebonne</a></li>
272− <li data-val="Westmount"><a href="#">Westmount</a></li>
273−
274− </ul>
275− </div>
276− <div id="dd2" class="wrapper-dropdown-3 selector size" tabindex="2">
277− <input autocomplete="off" id="AreaRangeFilterId" name="AreaRangeFilterId" type="hidden" value="" />
278− <span>N&#39;importe quelle taille</span>
279− <ul class="dropdown">
280− <li data-val="Any"><a href="#">N&#39;importe quelle taille</a></li>
281− <li class="separator" data-separator="true">Chambres &#224; coucher</li>
282− <li data-val="Bedrooms_Studio"><a href="#">Studio / Bachelor</a></li>
283− <li data-val="Bedroom1"><a href="#">1 Chambre &#224; Coucher</a></li>
284− <li data-val="Bedroom2"><a href="#">2 Chambres &#224; Coucher</a></li>
285− <li data-val="Bedroom3"><a href="#">3 Chambres &#224; Coucher</a></li>
286− <li data-val="Bedroom4"><a href="#">4 Chambres &#224; Coucher</a></li>
287− <li data-val="Bedroom5_more"><a href="#">5 Chambres &#224; Coucher ou plus</a></li>
288−
289− <li class="separator" data-separator="true">Grandeur</li>
290− <li data-val="Area_0_500"><a href="#">0 - 500 Pi. Ca.</a></li>
291− <li data-val="Area_501_750"><a href="#">501 - 750 Pi. Ca. </a></li>
292− <li data-val="Area_751_1000"><a href="#">751 - 1000 Pi. Ca.</a></li>
293− <li data-val="Area_1001_1500"><a href="#">1001 - 1500 Pi. Ca.</a></li>
294− <li data-val="Area_1501_2000"><a href="#">1501 - 2000 Pi. Ca.</a></li>
295− <li data-val="Area_2001_more"><a href="#">2001 Pi. Ca. ou plus</a></li>
296−
297− </ul>
298− </div>
299− <div id="dd3" class="wrapper-dropdown-3 selector price-range" tabindex="3">
300− <input autocomplete="off" id="PriceRangeFilterId" name="PriceRangeFilterId" type="hidden" value="" />
301− <span>N&#39;importe quel prix</span>
302− <ul class="dropdown">
303− <li data-val="Any"><a href="#">N&#39;importe quel prix</a></li>
304− <li data-val="Price_0_500"><a href="#">$500 ou moins</a></li>
305− <li data-val="Price_501_800"><a href="#">$501 &#224; $800</a></li>
306− <li data-val="Price_801_1000"><a href="#">$801 &#224; $1000</a></li>
307− <li data-val="Price_1001_1200"><a href="#">$1001 &#224; $1200</a></li>
308− <li data-val="Price_1201_1500"><a href="#">$1201 &#224; $1500</a></li>
309− <li data-val="Price_1501_1800"><a href="#">$1501 &#224; $1800</a></li>
310− <li data-val="Price_1801_2200"><a href="#">$1801 &#224; $2200</a></li>
311− <li data-val="Price_2201_2500"><a href="#">$2201 &#224; $2500</a></li>
312− <li data-val="Price_2501_more"><a href="#">$2501 ou plus</a></li>
313−
314− </ul>
315− </div>
316− <div id="dd4" class="wrapper-dropdown-4 selector options">
317− <span>Options</span>
318− <ul class="dropdown">
319− <li data-val="PetAllowed">
320−
321− <input type="checkbox" id="el-PetAllowed" name="Options" autocomplete="off" value="PetAllowed" ><label for="el-PetAllowed" title="Animaux Accept&#233;s">Animaux Accept&#233;s</label>
322− </li>
323− <li data-val="Furnished">
324−
325− <input type="checkbox" id="el-Furnished" name="Options" autocomplete="off" value="Furnished" ><label for="el-Furnished" title="Meubl&#233;">Meubl&#233;</label>
326− </li>
327−
328− </ul>
329− </div>
330− <a class="search-button accent_color_1_background_color" href="#"></a>
331−</form></article>
332−
333−
334−<script type="text/javascript">
335− // LOCATION DROPDOWN
336−
337− $(function () {
338− //residential
339− var dd = new GmListing.DropDown($('#dd'));
340− var dd = new GmListing.DropDown($('#dd2'));
341− var dd = new GmListing.DropDown($('#dd3'));
342− //senior
343− var dd = new GmListing.DropDown($('#dd14'));
344− var dd = new GmListing.DropDown($('#dd16'));
345− var dd = new GmListing.DropDown($('#dd17'));
346− //commercial
347− var dd = new GmListing.DropDown($('#dd6'));
348− var dd = new GmListing.DropDown($('#dd7'));
349− var dd = new GmListing.DropDown($('#dd8'));
350− var dd = new GmListing.DropDown($('#dd9'));
351− //industrial
352− var dd = new GmListing.DropDown($('#dd10'));
353− var dd = new GmListing.DropDown($('#dd12'));
354− var dd = new GmListing.DropDown($('#dd13'));
355−
356− $(document).click(function () {
357− // all dropdowns
358− $('.wrapper-dropdown-3').removeClass('active');
359− });
360−
361− });
362−
363−</script>
364− </div>
365−</div>
366−<!-- END SEARCHBAR -->
367−
368−<div id="listing-content" class="content wrapper">
369− <div id="googleMap" class="map-area"></div>
370− <div class="tab-slider-2">
371− <div class="result-show"></div>
372− <div class="tab-wrapper clearfix">
373− <div class="tab-trigger">
374− <div class="item" id="citySlider">
375− <ul id="tab-slide" class="content-slider"></ul>
376− <div id="slider-controls">
377− </div>
378− </div>
379− </div>
380− <div id="buildings-placeholder" class="main">
381− </div>
382− </div>
383− </div>
384−
385− <script>
386− $(document).ready(function () {
387− createOrRefreshSlider();
388−
389− var units = [{"ApartmentId":287081,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":45356,"PublicListBuildingName":"202029066007004535622","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9312,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"2","Price":970.00,"PriceFormatted":"$970","Area":200,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.537562","Longitude":"-73.562675","AddressLocation":"2560 Rue Rachel Est, Montréal, QC, Canada","AddressLine1":"2560 Rue Rachel Est","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 1S4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"2560 Rue Rachel Est, Montréal, QC H2H 1S4, Canada"},"BuildingUrl":"/b/202029066007004535622/287081","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/Lq9HKcvJEIyqj38QhBecAYYY9YixivwU1/medium","BuildingPreviewUrl":"/Content/Images/building_holder.svg","BuildingName":"2560 Rachel","PriceAndDetailsVisible":true},{"ApartmentId":287094,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":45356,"PublicListBuildingName":"202029066007004535622","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9312,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"17","Price":970.00,"PriceFormatted":"$970","Area":200,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.537562","Longitude":"-73.562675","AddressLocation":"2560 Rue Rachel Est, Montréal, QC, Canada","AddressLine1":"2560 Rue Rachel Est","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 1S4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"2560 Rue Rachel Est, Montréal, QC H2H 1S4, Canada"},"BuildingUrl":"/b/202029066007004535622/287094","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/KcfjJ7LIPaX9P6bvJYjoEKvIQ3X9Ppqy1/medium","BuildingPreviewUrl":"/Content/Images/building_holder.svg","BuildingName":"2560 Rachel","PriceAndDetailsVisible":true},{"ApartmentId":298455,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":46361,"PublicListBuildingName":"202029086509004636115","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":7998,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"10","Price":725.00,"PriceFormatted":"$725","Area":180,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.55140249999999","Longitude":"-73.57978829999999","AddressLocation":"3143 Rue Holt, Montréal, QC, Canada","AddressLine1":"3143 Rue Holt","AddressLine2":null,"City":"Montréal","ZipCode":"H1Y 1R4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"3143 Rue Holt, Montréal, QC H1Y 1R4, Canada"},"BuildingUrl":"/b/202029086509004636115/298455","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/OpHaCbGsOaKqR4uoIMvPJ71ABtHaPpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/CMDMM69vRb9qLMfhQNXECqHtJajePpqy1/medium","BuildingName":"3143 Holt","PriceAndDetailsVisible":true},{"ApartmentId":410468,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"206","Price":1000.00,"PriceFormatted":"$1 000","Area":298,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410468","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/CtXqGLXNMJDbJ5PGGKHPRL5PMNLpPpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":410469,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"207","Price":1325.00,"PriceFormatted":"$1 325","Area":437,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410469","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":410484,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"402","Price":1575.00,"PriceFormatted":"$1 575","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410484","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":410492,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"410","Price":1575.00,"PriceFormatted":"$1 575","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410492","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/KcqvLMXlPsfcQKWnOK9OP38rIabFPpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":410504,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"602","Price":1695.00,"PriceFormatted":"$1 695","Area":650,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410504","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/E7DeHdD5HsfGS3SnPdPFUc5PUZbiTpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":410506,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"604","Price":1425.00,"PriceFormatted":"$1 425","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410506","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/SLToTa9bR6GsJLGnLsPnLNfZHbbhPpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":410507,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"605","Price":1050.00,"PriceFormatted":"$1 050","Area":298,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410507","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":410509,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":56174,"PublicListBuildingName":"202229086501005617429","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":9874,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"607","Price":1425.00,"PriceFormatted":"$1 425","Area":437,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.541286","Longitude":"-73.60775009999999","AddressLocation":"1150 Rue Bélanger, Montréal, QC, Canada","AddressLine1":"1150 Rue Bélanger","AddressLine2":"","City":"Montréal","ZipCode":"H2S 1H5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1150 Rue Bélanger, Montréal, QC H2S 1H5, Canada"},"BuildingUrl":"/b/202229086501005617429/410509","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/BsffC4LcIb13E6yudAESiPiQ6QAyMSyd5/medium","BuildingName":"1150 Bélanger - Tour Andrea","PriceAndDetailsVisible":true},{"ApartmentId":465598,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"1","Price":1195.00,"PriceFormatted":"$1 195","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465598","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/CNfCKb5IBqr6HZTwM6rZJ4jJKIilTpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":465601,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"4","Price":1195.00,"PriceFormatted":"$1 195","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465601","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":465611,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"111","Price":1245.00,"PriceFormatted":"$1 245","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465611","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/PN9OUMvAE6nwStHPDtbiT6utHJbOGJqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":465614,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"202","Price":1275.00,"PriceFormatted":"$1 275","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465614","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":465619,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"207","Price":1265.00,"PriceFormatted":"$1 265","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465619","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/OMepK6PKC74qCYj6CqXpK6LaPZXvTpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":465632,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"308","Price":1265.00,"PriceFormatted":"$1 265","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465632","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":465634,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"310","Price":1095.00,"PriceFormatted":"$1 095","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465634","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/SZ1aT6mhMcCnSpDgKt4nJqfiLaDpGJqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":465640,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":8,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":60037,"PublicListBuildingName":"202250434210006003704","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":10854,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"404","Price":1285.00,"PriceFormatted":"$1 285","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.52495099999999","Longitude":"-73.5835781","AddressLocation":"4550 Rue Rivard, Montréal, QC, Canada","AddressLine1":"4550 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2N3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4550 Rue Rivard, Montréal, QC H2J 2N3, Canada"},"BuildingUrl":"/b/202250434210006003704/465640","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/GJTuRtPGJ4n6QaDsUZHdLJL9MMD8Tpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtLYT3HOC59AQKPwK6nuC3DESq4sGJqy1/medium","BuildingName":"4550 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":534089,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":63837,"PublicListBuildingName":"202329086505006383724","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":11641,"Title":"Agemt de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"5727R02","Price":900.00,"PriceFormatted":"$900","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.50528610000001","Longitude":"-73.6226861","AddressLocation":"5727 Avenue Northmount, Montréal, QC, Canada","AddressLine1":"5727 Avenue Northmount","AddressLine2":null,"City":"Montréal","ZipCode":"H3S 2H4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5727 Avenue Northmount, Montréal, QC H3S 2H4, Canada"},"BuildingUrl":"/b/202329086505006383724/534089","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/HJ9iDs5OTJ12P6yuFBijFBkv8Q6oCvwU1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/ONH9DZ9lQ7XpGqTBUZ1aKLWsI3LkTpqy1/medium","BuildingName":"5727-5729 Avenue Northmount","PriceAndDetailsVisible":true},{"ApartmentId":534090,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":63837,"PublicListBuildingName":"202329086505006383724","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":11641,"Title":"Agemt de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"5727R03","Price":900.00,"PriceFormatted":"$900","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.50528610000001","Longitude":"-73.6226861","AddressLocation":"5727 Avenue Northmount, Montréal, QC, Canada","AddressLine1":"5727 Avenue Northmount","AddressLine2":null,"City":"Montréal","ZipCode":"H3S 2H4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5727 Avenue Northmount, Montréal, QC H3S 2H4, Canada"},"BuildingUrl":"/b/202329086505006383724/534090","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/OJOmC4X3GojOQ5LnK4bFPs5qOcyYkvwU1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/ONH9DZ9lQ7XpGqTBUZ1aKLWsI3LkTpqy1/medium","BuildingName":"5727-5729 Avenue Northmount","PriceAndDetailsVisible":true},{"ApartmentId":534093,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":63837,"PublicListBuildingName":"202329086505006383724","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":11641,"Title":"Agemt de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"5729R07","Price":900.00,"PriceFormatted":"$900","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.50528610000001","Longitude":"-73.6226861","AddressLocation":"5727 Avenue Northmount, Montréal, QC, Canada","AddressLine1":"5727 Avenue Northmount","AddressLine2":null,"City":"Montréal","ZipCode":"H3S 2H4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5727 Avenue Northmount, Montréal, QC H3S 2H4, Canada"},"BuildingUrl":"/b/202329086505006383724/534093","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/Rb1aMbfaOt9pGtWtRbbwGdDQH6rCKJqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/ONH9DZ9lQ7XpGqTBUZ1aKLWsI3LkTpqy1/medium","BuildingName":"5727-5729 Avenue Northmount","PriceAndDetailsVisible":true},{"ApartmentId":556711,"City":"Laval","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":65604,"PublicListBuildingName":"202359579409006560414","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":11966,"Title":"Agent de location","FullName":"Pierre-Olivier Guindon","FirstName":"Pierre-Olivier","LastName":"Guindon","Email":"pierre-olivier@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"304","Price":1745.00,"PriceFormatted":"$1 745","Area":1400,"NumberOfBathrooms":2,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.56715250000001","Longitude":"-73.7466729","AddressLocation":"2910 Rue Édouard-Montpetit, Laval, QC, Canada","AddressLine1":"2910 Rue Édouard-Montpetit","AddressLine2":null,"City":"Laval","ZipCode":"H7T 2T5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"2910 Rue Édouard-Montpetit, Laval, QC H7T 2T5, Canada"},"BuildingUrl":"/b/202359579409006560414/556711","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/CcPBC6CuIZbIR2ywgPicgoUc6xIikvwU1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtasMZ1iDrbqOM53OajXRMLLQKv2Ppqy1/medium","BuildingName":"2910 Edouard Montpetit","PriceAndDetailsVisible":true},{"ApartmentId":581897,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":67401,"PublicListBuildingName":"202340221812006740112","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14515,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"2","Price":1600.00,"PriceFormatted":"$1 600","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.54282660000001","Longitude":"-73.5954299","AddressLocation":"6365 Avenue Papineau, Montréal, QC, Canada","AddressLine1":"6365 Avenue Papineau","AddressLine2":null,"City":"Montréal","ZipCode":"H2G 2X1","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6365 Avenue Papineau, Montréal, QC H2G 2X1, Canada"},"BuildingUrl":"/b/202340221812006740112/581897","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/U3DdE4jJHbboTM9lI3arTcXeQL1eTpqy1/medium","BuildingName":"6365 Papineau","PriceAndDetailsVisible":true},{"ApartmentId":625387,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":74831,"PublicListBuildingName":"202440221801007483125","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":12825,"Title":"Agent de location","FullName":"Kanvaly Diomande","FirstName":"Kanvaly","LastName":"Diomande","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"5","Price":1200.00,"PriceFormatted":"$1 200","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.55881120000001","Longitude":"-73.5689795","AddressLocation":"4033 Rue Masson, Montréal, QC, Canada","AddressLine1":"4033 Rue Masson","AddressLine2":null,"City":"Montréal","ZipCode":"H1X 1T7","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4033 Rue Masson, Montréal, QC H1X 1T7, Canada"},"BuildingUrl":"/b/202440221801007483125/625387","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/HrKpRtSlHsKtU4LwPt9sJcOpP59CPpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/OrH2HcfIJd0nDKruT6GhAp98QZHdKJqy1/medium","BuildingName":"4033 Masson","PriceAndDetailsVisible":true},{"ApartmentId":642433,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":75610,"PublicListBuildingName":"202429086503007561028","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14086,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"305","Price":1495.00,"PriceFormatted":"$1 495","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5022257","Longitude":"-73.6610074","AddressLocation":"5105 Rue Sax, Montréal, QC, Canada","AddressLine1":"5105 Rue Sax","AddressLine2":null,"City":"Montréal","ZipCode":"H4P 1C7","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5105 Rue Sax, Montréal, QC H4P 1C7, Canada"},"BuildingUrl":"/b/202429086503007561028/642433","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/RsfoTYybD2qvkZQRCp6PBImcE2cfA9wU1/medium","BuildingName":"5105 Rue Sax","PriceAndDetailsVisible":true},{"ApartmentId":653034,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":75618,"PublicListBuildingName":"202429086503007561828","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14095,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary ","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"4","Price":900.00,"PriceFormatted":"$900","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5252093","Longitude":"-73.6238706","AddressLocation":"7000 Av. Wiseman, Montréal, QC, Canada","AddressLine1":"7000 Avenue Wiseman","AddressLine2":null,"City":"Montréal","ZipCode":"H3N 2N2","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"7000 Avenue Wiseman, Montréal, QC H3N 2N2, Canada"},"BuildingUrl":"/b/202429086503007561828/653034","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/RN8qLMrLIaXwGKHfTKn9UM5CUcvhKJqy1/medium","BuildingName":"7000 Av. Wiseman","PriceAndDetailsVisible":true},{"ApartmentId":653278,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":true,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":75724,"PublicListBuildingName":"202440221804007572410","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14431,"Title":"Agent de Location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"210","Price":2295.00,"PriceFormatted":"$2 295","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.534312","Longitude":"-73.62127989999999","AddressLocation":"75 Rue de Castelnau Ouest, Montréal, QC, Canada","AddressLine1":"75 Rue de Castelnau Ouest","AddressLine2":null,"City":"Montréal","ZipCode":"H2R 0B9","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"75 Rue de Castelnau Ouest, Montréal, QC H2R 0B9, Canada"},"BuildingUrl":"/b/202440221804007572410/653278","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/JqT9Kqn4IKarRpTDDpGlCoyqEJ4SivwU1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/T6PACsSnU6WsGJDwS71mTIyvepoRA9wU1/medium","BuildingName":"75 Castelnau","PriceAndDetailsVisible":true},{"ApartmentId":653281,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":75725,"PublicListBuildingName":"202440221804007572510","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":15214,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"313","Price":1750.00,"PriceFormatted":"$1 750","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.51251870000001","Longitude":"-73.5561792","AddressLocation":"440 Rue de la Gauchetière Est, Montréal, QC, Canada","AddressLine1":"440 Rue de la Gauchetière Est","AddressLine2":null,"City":"Montréal","ZipCode":"H2L 2M5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"440 Rue de la Gauchetière Est, Montréal, QC H2L 2M5, Canada"},"BuildingUrl":"/b/202440221804007572510/653281","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/QtXOKaXuDJ4mCZHELcWmR4fKT7fkPpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PJXmGdfEIdPKQ6nuTt5iU75GD3bYGJqy1/medium","BuildingName":"440 Gauchetière","PriceAndDetailsVisible":true},{"ApartmentId":666612,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":75726,"PublicListBuildingName":"202440221804007572610","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"1","Price":1295.00,"PriceFormatted":"$1 295","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.54371039999999","Longitude":"-73.5889029","AddressLocation":"2149 Boulevard Rosemont, Montréal, QC, Canada","AddressLine1":"2149 Boulevard Rosemont","AddressLine2":null,"City":"Montréal","ZipCode":"H2G 1T3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"2149 Boulevard Rosemont, Montréal, QC H2G 1T3, Canada"},"BuildingUrl":"/b/202440221804007572610/666612","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/S65BGbHGD6HbHKHfC5bGD2yokpaie9wU1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P6PqJdTMRZPnCbKhJdXEQ3DDGKutTpqy1/medium","BuildingName":"2149 Rosemont","PriceAndDetailsVisible":true},{"ApartmentId":656713,"City":"Saint-Calixte","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":75916,"PublicListBuildingName":"202429086504007591619","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":12730,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"5920","Price":1300.00,"PriceFormatted":"$1 300","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.9468354","Longitude":"-73.8484319","AddressLocation":"5912 Route 335, Saint-Calixte, QC, Canada","AddressLine1":"5912 Québec 335","AddressLine2":null,"City":"Saint-Calixte","ZipCode":"J0K 1Z0","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5912 Québec 335, Saint-Calixte, QC J0K 1Z0, Canada"},"BuildingUrl":"/b/202429086504007591619/656713","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/S5TLPZPdEKL9RcL4LLDpUb1BLoj7Tpqy1/medium","BuildingName":"5912 à 5922 RTE 335","PriceAndDetailsVisible":true},{"ApartmentId":658939,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":true,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":76006,"PublicListBuildingName":"202429086505007600602","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":12795,"Title":"Agent de location","FullName":"Kanvaly Diomande","FirstName":"Kanvaly","LastName":"Diomande","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"2","Price":1295.00,"PriceFormatted":"$1 295","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5588511","Longitude":"-73.54664679999999","AddressLocation":"2615 Avenue Aird, Montréal, QC, Canada","AddressLine1":"2615 Avenue Aird","AddressLine2":null,"City":"Montréal","ZipCode":"H1V 2W8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"2615 Avenue Aird, Montréal, QC H1V 2W8, Canada"},"BuildingUrl":"/b/202429086505007600602/658939","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/LtPICKnNR71KHaj9R597E7DGKKbYTpqy1/medium","BuildingName":"2615 Av Aird","PriceAndDetailsVisible":true},{"ApartmentId":658955,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":true,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":76006,"PublicListBuildingName":"202429086505007600602","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":12795,"Title":"Agent de location","FullName":"Kanvaly Diomande","FirstName":"Kanvaly","LastName":"Diomande","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"19","Price":1495.00,"PriceFormatted":"$1 495","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5588511","Longitude":"-73.54664679999999","AddressLocation":"2615 Avenue Aird, Montréal, QC, Canada","AddressLine1":"2615 Avenue Aird","AddressLine2":null,"City":"Montréal","ZipCode":"H1V 2W8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"2615 Avenue Aird, Montréal, QC H1V 2W8, Canada"},"BuildingUrl":"/b/202429086505007600602/658955","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/LtPICKnNR71KHaj9R597E7DGKKbYTpqy1/medium","BuildingName":"2615 Av Aird","PriceAndDetailsVisible":true},{"ApartmentId":667174,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":76207,"PublicListBuildingName":"202429086505007620724","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2","Price":1150.00,"PriceFormatted":"$1 150","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5438479","Longitude":"-73.5891329","AddressLocation":"5910 Avenue des Érables, Montréal, QC, Canada","AddressLine1":"5910 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2G 2M5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5910 Avenue des Érables, Montréal, QC H2G 2M5, Canada"},"BuildingUrl":"/b/202429086505007620724/667174","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/R6HFJKCnLKmpBsXnLtXjD6LpIabZKJqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/HrbLQ3WoELXvOs4mCIjMJdfvJ3HOKJqy1/medium","BuildingName":"5910 des Érables","PriceAndDetailsVisible":true},{"ApartmentId":680780,"City":"Blainville","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":76772,"PublicListBuildingName":"202440221807007677211","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2","Price":1200.00,"PriceFormatted":"$1 200","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.6745184","Longitude":"-73.88718779999999","AddressLocation":"Blainville, QC J7C 3E8, Canada","AddressLine1":"13 Royale","AddressLine2":null,"City":"Blainville","ZipCode":"J7C 3E8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"13 Royale, Blainville, QC J7C 3E8, Canada"},"BuildingUrl":"/b/202440221807007677211/680780","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/CJPZQaTCOt0rEMPFHqyrDogriRWgEvwU1/medium","BuildingName":"13 Royale","PriceAndDetailsVisible":true},{"ApartmentId":680785,"City":"Blainville","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":76772,"PublicListBuildingName":"202440221807007677211","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"7","Price":1600.00,"PriceFormatted":"$1 600","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.6745184","Longitude":"-73.88718779999999","AddressLocation":"Blainville, QC J7C 3E8, Canada","AddressLine1":"13 Royale","AddressLine2":null,"City":"Blainville","ZipCode":"J7C 3E8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"13 Royale, Blainville, QC J7C 3E8, Canada"},"BuildingUrl":"/b/202440221807007677211/680785","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/CJPZQaTCOt0rEMPFHqyrDogriRWgEvwU1/medium","BuildingName":"13 Royale","PriceAndDetailsVisible":true},{"ApartmentId":687631,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":77045,"PublicListBuildingName":"202429086508007704505","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":12969,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"212","Price":1375.00,"PriceFormatted":"$1 375","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5534762","Longitude":"-73.5715673","AddressLocation":"3530 Rue Masson, Montréal, QC, Canada","AddressLine1":"3530 Rue Masson","AddressLine2":null,"City":"Montréal","ZipCode":"H1X 1R9","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"3530 Rue Masson, Montréal, QC H1X 1R9, Canada"},"BuildingUrl":"/b/202429086508007704505/687631","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/M5CtINLLL5HNGN17HqTPHpTEPqfHKJqy1/medium","BuildingName":"3530 Masson","PriceAndDetailsVisible":true},{"ApartmentId":725121,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":79330,"PublicListBuildingName":"202440221812007933017","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"3","Price":1875.00,"PriceFormatted":"$1 875","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5297978","Longitude":"-73.6107164","AddressLocation":"6535 Rue Saint-Urbain, Montréal, QC, Canada","AddressLine1":"6535 Rue Saint-Urbain","AddressLine2":null,"City":"Montréal","ZipCode":"H2S 3G6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6535 Rue Saint-Urbain, Montréal, QC H2S 3G6, Canada"},"BuildingUrl":"/b/202440221812007933017/725121","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QKvIQqSqTZPnMKTbMaHFGrHPJtWqKJqy1/medium","BuildingName":"6535 Saint-Urbain","PriceAndDetailsVisible":true},{"ApartmentId":749213,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":80889,"PublicListBuildingName":"202529086503008088913","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14576,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"594","Price":1400.00,"PriceFormatted":"$1 400","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5865771","Longitude":"-73.50952199999999","AddressLocation":"588 Rue Lepailleur, Montréal, QC, Canada","AddressLine1":"588 Rue Lepailleur","AddressLine2":null,"City":"Montréal","ZipCode":"H1L 6C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"588 Rue Lepailleur, Montréal, QC H1L 6C6, Canada"},"BuildingUrl":"/b/202529086503008088913/749213","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/KNLlD7fEQ3D2TaCvLaaqMNXDTMLBPpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/CrfsPKDNKt5eKqr8HsvkQbLfAsHXGJqy1/medium","BuildingName":"588-594 Lepailleur","PriceAndDetailsVisible":true},{"ApartmentId":749226,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":80891,"PublicListBuildingName":"202529086503008089113","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":15021,"Title":"agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"16","Price":995.00,"PriceFormatted":"$995","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.528533","Longitude":"-73.5908226","AddressLocation":"5255 Rivard Street, Montréal, QC, Canada","AddressLine1":"5255 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2P5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5255 Rue Rivard, Montréal, QC H2J 2P5, Canada"},"BuildingUrl":"/b/202529086503008089113/749226","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/T7PhK5H5Ob9sQZ1OHtLkM4PlKsDAGJqy1/medium","BuildingName":"5255 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":749230,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":2,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":80891,"PublicListBuildingName":"202529086503008089113","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":15021,"Title":"agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"22","Price":1250.00,"PriceFormatted":"$1 250","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.528533","Longitude":"-73.5908226","AddressLocation":"5255 Rivard Street, Montréal, QC, Canada","AddressLine1":"5255 Rue Rivard","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 2P5","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5255 Rue Rivard, Montréal, QC H2J 2P5, Canada"},"BuildingUrl":"/b/202529086503008089113/749230","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/T7PhK5H5Ob9sQZ1OHtLkM4PlKsDAGJqy1/medium","BuildingName":"5255 Rivard","PriceAndDetailsVisible":true},{"ApartmentId":749245,"City":"Lachine","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":80892,"PublicListBuildingName":"202529086503008089213","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"1","Price":1362.00,"PriceFormatted":"$1 362","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":3,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4487422","Longitude":"-73.6504823","AddressLocation":"180 Avenue de Mount Vernon, Montrã©Al, QC, Canada","AddressLine1":"180 Avenue de Mount Vernon","AddressLine2":null,"City":"Lachine","ZipCode":"H8R 1K1","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"180 Avenue de Mount Vernon, Lachine, QC H8R 1K1, Canada"},"BuildingUrl":"/b/202529086503008089213/749245","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/KqfNDMrCQMioSMPLGaThTMnjHcKuGJqy1/medium","BuildingName":"180 Mount Vernon","PriceAndDetailsVisible":true},{"ApartmentId":774376,"City":"Blainville","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":81798,"PublicListBuildingName":"202529086504008179814","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"23-2","Price":1200.00,"PriceFormatted":"$1 200","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.683121","Longitude":"-73.885643","AddressLocation":"19 Rue de l'Herboriste, Blainville, QC, Canada","AddressLine1":"19 Rue de l'Herboriste","AddressLine2":null,"City":"Blainville","ZipCode":"J7C 4G7","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"19 Rue de l&#39;Herboriste, Blainville, QC J7C 4G7, Canada"},"BuildingUrl":"/b/202529086504008179814/774376","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/RNLfDsyxA28pjhqd6Hii8YcmeYQOA9wU1/medium","BuildingName":"19 de l'Herboriste","PriceAndDetailsVisible":true},{"ApartmentId":805640,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82690,"PublicListBuildingName":"202529086507008269019","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"16","Price":1000.00,"PriceFormatted":"$1 000","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5049854","Longitude":"-73.63337159999999","AddressLocation":"3260 Avenue Barclay, Montreal, QC, Canada","AddressLine1":"3260 Avenue Barclay","AddressLine2":null,"City":"Montréal","ZipCode":"H3S 1K1","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"3260 Avenue Barclay, Montréal, QC H3S 1K1, Canada"},"BuildingUrl":"/b/202529086507008269019/805640","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/KMyuFAKjDxIu92Msc1WpineaeQKpEvwU1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/HIj8QMPKIMbJJKPpU3XmK6DjKqmvPpqy1/medium","BuildingName":"3260 Avenue Barclay","PriceAndDetailsVisible":true},{"ApartmentId":805641,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82690,"PublicListBuildingName":"202529086507008269019","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"1","Price":1115.00,"PriceFormatted":"$1 115","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5049854","Longitude":"-73.63337159999999","AddressLocation":"3260 Avenue Barclay, Montreal, QC, Canada","AddressLine1":"3260 Avenue Barclay","AddressLine2":null,"City":"Montréal","ZipCode":"H3S 1K1","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"3260 Avenue Barclay, Montréal, QC H3S 1K1, Canada"},"BuildingUrl":"/b/202529086507008269019/805641","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/HIj8QMPKIMbJJKPpU3XmK6DjKqmvPpqy1/medium","BuildingName":"3260 Avenue Barclay","PriceAndDetailsVisible":true},{"ApartmentId":805642,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82690,"PublicListBuildingName":"202529086507008269019","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"12","Price":1600.00,"PriceFormatted":"$1 600","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5049854","Longitude":"-73.63337159999999","AddressLocation":"3260 Avenue Barclay, Montreal, QC, Canada","AddressLine1":"3260 Avenue Barclay","AddressLine2":null,"City":"Montréal","ZipCode":"H3S 1K1","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"3260 Avenue Barclay, Montréal, QC H3S 1K1, Canada"},"BuildingUrl":"/b/202529086507008269019/805642","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/OsLKDKSvHMbXMaX3PLHCC311I697Tpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/HIj8QMPKIMbJJKPpU3XmK6DjKqmvPpqy1/medium","BuildingName":"3260 Avenue Barclay","PriceAndDetailsVisible":true},{"ApartmentId":805585,"City":"Granby","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82693,"PublicListBuildingName":"202529086507008269319","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":15215,"Title":"agent de location","FullName":"zachary pilon","FirstName":"zachary","LastName":"pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"15","Price":925.00,"PriceFormatted":"$925","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4038655","Longitude":"-72.7625758","AddressLocation":"332 Rue Massé, Granby, QC J2J 1V7, Canada","AddressLine1":"332 Rue Massé","AddressLine2":null,"City":"Granby","ZipCode":"J2J 1V7","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"332 Rue Massé, Granby, QC J2J 1V7, Canada"},"BuildingUrl":"/b/202529086507008269319/805585","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/OsTeRbLBJr9CTd5EGpXXKJ8qCayy6Syd5/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Kc5mQsntRtClMNDEH7GsRIytjIex89wU1/medium","BuildingName":"332 Rue Massé","PriceAndDetailsVisible":true},{"ApartmentId":805590,"City":"Granby","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82693,"PublicListBuildingName":"202529086507008269319","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":15215,"Title":"agent de location","FullName":"zachary pilon","FirstName":"zachary","LastName":"pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"18","Price":1025.00,"PriceFormatted":"$1 025","Area":0,"NumberOfBathrooms":2,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4038655","Longitude":"-72.7625758","AddressLocation":"332 Rue Massé, Granby, QC J2J 1V7, Canada","AddressLine1":"332 Rue Massé","AddressLine2":null,"City":"Granby","ZipCode":"J2J 1V7","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"332 Rue Massé, Granby, QC J2J 1V7, Canada"},"BuildingUrl":"/b/202529086507008269319/805590","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/DsTKJZ9rHcfJIcr3PZXJLr17RNboGJqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Kc5mQsntRtClMNDEH7GsRIytjIex89wU1/medium","BuildingName":"332 Rue Massé","PriceAndDetailsVisible":true},{"ApartmentId":805593,"City":"Granby","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82693,"PublicListBuildingName":"202529086507008269319","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":15215,"Title":"agent de location","FullName":"zachary pilon","FirstName":"zachary","LastName":"pilon","Email":"zachary@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"1","Price":995.00,"PriceFormatted":"$995","Area":0,"NumberOfBathrooms":2,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4038655","Longitude":"-72.7625758","AddressLocation":"332 Rue Massé, Granby, QC J2J 1V7, Canada","AddressLine1":"332 Rue Massé","AddressLine2":null,"City":"Granby","ZipCode":"J2J 1V7","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"332 Rue Massé, Granby, QC J2J 1V7, Canada"},"BuildingUrl":"/b/202529086507008269319/805593","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Kc5mQsntRtClMNDEH7GsRIytjIex89wU1/medium","BuildingName":"332 Rue Massé","PriceAndDetailsVisible":true},{"ApartmentId":805682,"City":"Longueuil","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82694,"PublicListBuildingName":"202529086507008269419","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"10","Price":790.00,"PriceFormatted":"$790","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5146665","Longitude":"-73.4952504","AddressLocation":"1227 Rue Front, Longueuil, QC J4K 2B4, Canada","AddressLine1":"1227 Rue Front","AddressLine2":null,"City":"Longueuil","ZipCode":"J4K 2B4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1227 Rue Front, Longueuil, QC J4K 2B4, Canada"},"BuildingUrl":"/b/202529086507008269419/805682","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QNXfT3XHArfNHayslJoyavrSd94PMSyd5/medium","BuildingName":"1227 Rue Front","PriceAndDetailsVisible":true},{"ApartmentId":805683,"City":"Longueuil","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82694,"PublicListBuildingName":"202529086507008269419","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"6","Price":1325.00,"PriceFormatted":"$1 325","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5146665","Longitude":"-73.4952504","AddressLocation":"1227 Rue Front, Longueuil, QC J4K 2B4, Canada","AddressLine1":"1227 Rue Front","AddressLine2":null,"City":"Longueuil","ZipCode":"J4K 2B4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1227 Rue Front, Longueuil, QC J4K 2B4, Canada"},"BuildingUrl":"/b/202529086507008269419/805683","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QNXfT3XHArfNHayslJoyavrSd94PMSyd5/medium","BuildingName":"1227 Rue Front","PriceAndDetailsVisible":true},{"ApartmentId":805684,"City":"Longueuil","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82694,"PublicListBuildingName":"202529086507008269419","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"3","Price":1250.00,"PriceFormatted":"$1 250","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5146665","Longitude":"-73.4952504","AddressLocation":"1227 Rue Front, Longueuil, QC J4K 2B4, Canada","AddressLine1":"1227 Rue Front","AddressLine2":null,"City":"Longueuil","ZipCode":"J4K 2B4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"1227 Rue Front, Longueuil, QC J4K 2B4, Canada"},"BuildingUrl":"/b/202529086507008269419/805684","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/EJDaCMLOHNbQGbPwJb9bCKH1C6PCTpqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QNXfT3XHArfNHayslJoyavrSd94PMSyd5/medium","BuildingName":"1227 Rue Front","PriceAndDetailsVisible":true},{"ApartmentId":805850,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82710,"PublicListBuildingName":"202529086507008271019","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"1","Price":3160.00,"PriceFormatted":"$3 160","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5130469","Longitude":"-73.57398049999999","AddressLocation":"3615 Rue Saint-Urbain, Montréal, QC H2X 2N9, Canada","AddressLine1":"3615 Rue Saint-Urbain","AddressLine2":null,"City":"Montréal","ZipCode":"H2X 2N9","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"3615 Rue Saint-Urbain, Montréal, QC H2X 2N9, Canada"},"BuildingUrl":"/b/202529086507008271019/805850","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/MaPBRargJt5ACN9HR5T1DamoQdTCGJqy1/medium","BuildingName":"3615 Rue Saint-Urbain","PriceAndDetailsVisible":true},{"ApartmentId":805851,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82712,"PublicListBuildingName":"202529086507008271219","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"3800","Price":1775.00,"PriceFormatted":"$1 775","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5512576","Longitude":"-73.5568274","AddressLocation":"3800 Rue Rachel E, Montreal, QC, Canada","AddressLine1":"3800 Rue Rachel Est","AddressLine2":null,"City":"Montréal","ZipCode":"H1X 1Y9","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"3800 Rue Rachel Est, Montréal, QC H1X 1Y9, Canada"},"BuildingUrl":"/b/202529086507008271219/805851","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Ctb4DKrBJ2yQ89on8hkyZalOcXaEK4yd5/medium","BuildingName":"3800 Rue Rachel East","PriceAndDetailsVisible":true},{"ApartmentId":805819,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82728,"PublicListBuildingName":"202529086507008272819","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2422","Price":1950.00,"PriceFormatted":"$1 950","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":3,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5359522","Longitude":"-73.56136","AddressLocation":"Rue D'Iberville, Montréal, QC H2K 3E3, Canada","AddressLine1":"- Rue D'Iberville","AddressLine2":null,"City":"Montréal","ZipCode":"H2K 3E3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"- Rue D&#39;Iberville, Montréal, QC H2K 3E3, Canada"},"BuildingUrl":"/b/202529086507008272819/805819","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Ma9kSKXLL4veJpDlEM5aT51cGKHmKJqy1/medium","BuildingName":"2422-2426 Rue Iberville","PriceAndDetailsVisible":true},{"ApartmentId":805809,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82729,"PublicListBuildingName":"202529086507008272919","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2434","Price":1085.00,"PriceFormatted":"$1 085","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4773371","Longitude":"-73.5621896","AddressLocation":"Coleraine Street, Montréal, QC H3K 1S4, Canada","AddressLine1":"- Coleraine Street","AddressLine2":null,"City":"Montreal","ZipCode":"H3K 1S4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"- Coleraine Street, Montreal, QC H3K 1S4, Canada"},"BuildingUrl":"/b/202529086507008272919/805809","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/DojuELD6QdSoP71tHcfYTbetMcXgKJqy1/medium","BuildingName":"2430-2436 Coleraine Street","PriceAndDetailsVisible":true},{"ApartmentId":805810,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82729,"PublicListBuildingName":"202529086507008272919","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2436","Price":1130.00,"PriceFormatted":"$1 130","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4773371","Longitude":"-73.5621896","AddressLocation":"Coleraine Street, Montréal, QC H3K 1S4, Canada","AddressLine1":"- Coleraine Street","AddressLine2":null,"City":"Montreal","ZipCode":"H3K 1S4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"- Coleraine Street, Montreal, QC H3K 1S4, Canada"},"BuildingUrl":"/b/202529086507008272919/805810","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/DojuELD6QdSoP71tHcfYTbetMcXgKJqy1/medium","BuildingName":"2430-2436 Coleraine Street","PriceAndDetailsVisible":true},{"ApartmentId":805811,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82729,"PublicListBuildingName":"202529086507008272919","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2432","Price":1145.00,"PriceFormatted":"$1 145","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4773371","Longitude":"-73.5621896","AddressLocation":"Coleraine Street, Montréal, QC H3K 1S4, Canada","AddressLine1":"- Coleraine Street","AddressLine2":null,"City":"Montreal","ZipCode":"H3K 1S4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"- Coleraine Street, Montreal, QC H3K 1S4, Canada"},"BuildingUrl":"/b/202529086507008272919/805811","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/DojuELD6QdSoP71tHcfYTbetMcXgKJqy1/medium","BuildingName":"2430-2436 Coleraine Street","PriceAndDetailsVisible":true},{"ApartmentId":805812,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82729,"PublicListBuildingName":"202529086507008272919","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2430","Price":1550.00,"PriceFormatted":"$1 550","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.4773371","Longitude":"-73.5621896","AddressLocation":"Coleraine Street, Montréal, QC H3K 1S4, Canada","AddressLine1":"- Coleraine Street","AddressLine2":null,"City":"Montreal","ZipCode":"H3K 1S4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"- Coleraine Street, Montreal, QC H3K 1S4, Canada"},"BuildingUrl":"/b/202529086507008272919/805812","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/DojuELD6QdSoP71tHcfYTbetMcXgKJqy1/medium","BuildingName":"2430-2436 Coleraine Street","PriceAndDetailsVisible":true},{"ApartmentId":818329,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82804,"PublicListBuildingName":"202529086507008280429","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"6","Price":1500.00,"PriceFormatted":"$1 500","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5407422","Longitude":"-73.66798709999999","AddressLocation":"10180 Rue Meilleur, Montréal, QC, Canada","AddressLine1":"10180 Rue Meilleur","AddressLine2":null,"City":"Montréal","ZipCode":"H3L 3J8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"10180 Rue Meilleur, Montréal, QC H3L 3J8, Canada"},"BuildingUrl":"/b/202529086507008280429/818329","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/J6LPCa5QRsLYKsbwHbX4R5f5K78rPpqy1/medium","BuildingName":"10180 Rue Meilleur","PriceAndDetailsVisible":true},{"ApartmentId":814011,"City":"Saint-Jérôme","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82849,"PublicListBuildingName":"202582385208008284905","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14723,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"1","Price":1000.00,"PriceFormatted":"$1 000","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.7806799","Longitude":"-74.0065446","AddressLocation":"459 Rue Laviolette, Saint-Jérôme, QC, Canada","AddressLine1":"459 Rue Laviolette","AddressLine2":"","City":"Saint-Jérôme","ZipCode":"J7Y 2T8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"459 Rue Laviolette, Saint-Jérôme, QC J7Y 2T8, Canada"},"BuildingUrl":"/b/202582385208008284905/814011","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Q4XdEK5XTcfiE6D4LtLBJayofx2qe9wU1/medium","BuildingName":"459 Laviolette","PriceAndDetailsVisible":true},{"ApartmentId":814012,"City":"Saint-Jérôme","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82849,"PublicListBuildingName":"202582385208008284905","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14723,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"2","Price":1000.00,"PriceFormatted":"$1 000","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.7806799","Longitude":"-74.0065446","AddressLocation":"459 Rue Laviolette, Saint-Jérôme, QC, Canada","AddressLine1":"459 Rue Laviolette","AddressLine2":"","City":"Saint-Jérôme","ZipCode":"J7Y 2T8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"459 Rue Laviolette, Saint-Jérôme, QC J7Y 2T8, Canada"},"BuildingUrl":"/b/202582385208008284905/814012","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Q4XdEK5XTcfiE6D4LtLBJayofx2qe9wU1/medium","BuildingName":"459 Laviolette","PriceAndDetailsVisible":true},{"ApartmentId":814013,"City":"Saint-Jérôme","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82849,"PublicListBuildingName":"202582385208008284905","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14723,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"3","Price":1000.00,"PriceFormatted":"$1 000","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.7806799","Longitude":"-74.0065446","AddressLocation":"459 Rue Laviolette, Saint-Jérôme, QC, Canada","AddressLine1":"459 Rue Laviolette","AddressLine2":"","City":"Saint-Jérôme","ZipCode":"J7Y 2T8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"459 Rue Laviolette, Saint-Jérôme, QC J7Y 2T8, Canada"},"BuildingUrl":"/b/202582385208008284905/814013","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Q4XdEK5XTcfiE6D4LtLBJayofx2qe9wU1/medium","BuildingName":"459 Laviolette","PriceAndDetailsVisible":true},{"ApartmentId":814016,"City":"Saint-Jérôme","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":82849,"PublicListBuildingName":"202582385208008284905","Phone":"+14388011080","ListingEmployeesContacts":[{"ListingEmployeesContactId":14723,"Title":"Agent de location","FullName":"Zachary Pilon","FirstName":"Zachary","LastName":"Pilon","Email":"location@summumpm.com","PhoneNumber":"+14388011080","PhoneNumberExtension":"","FormattedPhoneNumber":"(438) 801-1080","Language":1,"AgentType":0}]},"Apartment":{"UnitName":"463","Price":1300.00,"PriceFormatted":"$1 300","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":3,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.7806799","Longitude":"-74.0065446","AddressLocation":"459 Rue Laviolette, Saint-Jérôme, QC, Canada","AddressLine1":"459 Rue Laviolette","AddressLine2":"","City":"Saint-Jérôme","ZipCode":"J7Y 2T8","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"459 Rue Laviolette, Saint-Jérôme, QC J7Y 2T8, Canada"},"BuildingUrl":"/b/202582385208008284905/814016","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/Q4XdEK5XTcfiE6D4LtLBJayofx2qe9wU1/medium","BuildingName":"459 Laviolette","PriceAndDetailsVisible":true},{"ApartmentId":819838,"City":"Montréal","ParkingsIsAvailable":true,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":83067,"PublicListBuildingName":"202529086508008306727","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"15","Price":1200.00,"PriceFormatted":"$1 200","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5442368","Longitude":"-73.5791704","AddressLocation":"5554 Place Basile Patenaude, Montréal, QC, Canada","AddressLine1":"5554 Place Basile Patenaude","AddressLine2":null,"City":"Montréal","ZipCode":"H1Y 3E4","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5554 Place Basile Patenaude, Montréal, QC H1Y 3E4, Canada"},"BuildingUrl":"/b/202529086508008306727/819838","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QJ9bE7X7Bp9PIaHhLpHhP31EDKPOKJqy1/medium","BuildingName":"5554 Basile Patenaude","PriceAndDetailsVisible":true},{"ApartmentId":819854,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":83071,"PublicListBuildingName":"202529086508008307127","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2","Price":975.00,"PriceFormatted":"$975","Area":413,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5610132","Longitude":"-73.5752445","AddressLocation":"5960 Boulevard Pie-IX, Montréal, QC, Canada","AddressLine1":"5960 Boulevard Pie-IX","AddressLine2":null,"City":"Montréal","ZipCode":"H1X 2C2","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5960 Boulevard Pie-IX, Montréal, QC H1X 2C2, Canada"},"BuildingUrl":"/b/202529086508008307127/819854","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/DsTkJ3SqJ3XkKt5OHpTLJbbMIsyS89wU1/medium","BuildingName":"5960 Pie IX","PriceAndDetailsVisible":true},{"ApartmentId":819859,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":83071,"PublicListBuildingName":"202529086508008307127","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"7","Price":1100.00,"PriceFormatted":"$1 100","Area":479,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5610132","Longitude":"-73.5752445","AddressLocation":"5960 Boulevard Pie-IX, Montréal, QC, Canada","AddressLine1":"5960 Boulevard Pie-IX","AddressLine2":null,"City":"Montréal","ZipCode":"H1X 2C2","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5960 Boulevard Pie-IX, Montréal, QC H1X 2C2, Canada"},"BuildingUrl":"/b/202529086508008307127/819859","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/DsTkJ3SqJ3XkKt5OHpTLJbbMIsyS89wU1/medium","BuildingName":"5960 Pie IX","PriceAndDetailsVisible":true},{"ApartmentId":819866,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":3,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":83071,"PublicListBuildingName":"202529086508008307127","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"17","Price":1190.00,"PriceFormatted":"$1 190","Area":487,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5610132","Longitude":"-73.5752445","AddressLocation":"5960 Boulevard Pie-IX, Montréal, QC, Canada","AddressLine1":"5960 Boulevard Pie-IX","AddressLine2":null,"City":"Montréal","ZipCode":"H1X 2C2","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5960 Boulevard Pie-IX, Montréal, QC H1X 2C2, Canada"},"BuildingUrl":"/b/202529086508008307127/819866","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/DsTkJ3SqJ3XkKt5OHpTLJbbMIsyS89wU1/medium","BuildingName":"5960 Pie IX","PriceAndDetailsVisible":true},{"ApartmentId":920538,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":7,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":86496,"PublicListBuildingName":"202629086502008649625","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"1","Price":932.00,"PriceFormatted":"$932","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5462996","Longitude":"-73.6048045","AddressLocation":"6995 Rue Marquette, Montreal, QC, Canada","AddressLine1":"6995 Rue Marquette","AddressLine2":null,"City":"Montréal","ZipCode":"H2E 2C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6995 Rue Marquette, Montréal, QC H2E 2C6, Canada"},"BuildingUrl":"/b/202629086502008649625/920538","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P70vM2jMHr57PMjMAqHPQ5HtMK4vGJqy1/medium","BuildingName":"6995 Marquette","PriceAndDetailsVisible":true},{"ApartmentId":920539,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":7,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":86496,"PublicListBuildingName":"202629086502008649625","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"6","Price":1045.00,"PriceFormatted":"$1 045","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5462996","Longitude":"-73.6048045","AddressLocation":"6995 Rue Marquette, Montreal, QC, Canada","AddressLine1":"6995 Rue Marquette","AddressLine2":null,"City":"Montréal","ZipCode":"H2E 2C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6995 Rue Marquette, Montréal, QC H2E 2C6, Canada"},"BuildingUrl":"/b/202629086502008649625/920539","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P70vM2jMHr57PMjMAqHPQ5HtMK4vGJqy1/medium","BuildingName":"6995 Marquette","PriceAndDetailsVisible":true},{"ApartmentId":920540,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":7,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":86496,"PublicListBuildingName":"202629086502008649625","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"5","Price":947.00,"PriceFormatted":"$947","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5462996","Longitude":"-73.6048045","AddressLocation":"6995 Rue Marquette, Montreal, QC, Canada","AddressLine1":"6995 Rue Marquette","AddressLine2":null,"City":"Montréal","ZipCode":"H2E 2C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6995 Rue Marquette, Montréal, QC H2E 2C6, Canada"},"BuildingUrl":"/b/202629086502008649625/920540","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P70vM2jMHr57PMjMAqHPQ5HtMK4vGJqy1/medium","BuildingName":"6995 Marquette","PriceAndDetailsVisible":true},{"ApartmentId":920541,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":7,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":86496,"PublicListBuildingName":"202629086502008649625","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"4","Price":1287.00,"PriceFormatted":"$1 287","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5462996","Longitude":"-73.6048045","AddressLocation":"6995 Rue Marquette, Montreal, QC, Canada","AddressLine1":"6995 Rue Marquette","AddressLine2":null,"City":"Montréal","ZipCode":"H2E 2C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6995 Rue Marquette, Montréal, QC H2E 2C6, Canada"},"BuildingUrl":"/b/202629086502008649625/920541","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P70vM2jMHr57PMjMAqHPQ5HtMK4vGJqy1/medium","BuildingName":"6995 Marquette","PriceAndDetailsVisible":true},{"ApartmentId":920542,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":7,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":86496,"PublicListBuildingName":"202629086502008649625","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"3","Price":1545.00,"PriceFormatted":"$1 545","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5462996","Longitude":"-73.6048045","AddressLocation":"6995 Rue Marquette, Montreal, QC, Canada","AddressLine1":"6995 Rue Marquette","AddressLine2":null,"City":"Montréal","ZipCode":"H2E 2C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6995 Rue Marquette, Montréal, QC H2E 2C6, Canada"},"BuildingUrl":"/b/202629086502008649625/920542","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P70vM2jMHr57PMjMAqHPQ5HtMK4vGJqy1/medium","BuildingName":"6995 Marquette","PriceAndDetailsVisible":true},{"ApartmentId":920543,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":7,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":86496,"PublicListBuildingName":"202629086502008649625","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"2","Price":1323.00,"PriceFormatted":"$1 323","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5462996","Longitude":"-73.6048045","AddressLocation":"6995 Rue Marquette, Montreal, QC, Canada","AddressLine1":"6995 Rue Marquette","AddressLine2":null,"City":"Montréal","ZipCode":"H2E 2C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6995 Rue Marquette, Montréal, QC H2E 2C6, Canada"},"BuildingUrl":"/b/202629086502008649625/920543","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P70vM2jMHr57PMjMAqHPQ5HtMK4vGJqy1/medium","BuildingName":"6995 Marquette","PriceAndDetailsVisible":true},{"ApartmentId":920544,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":7,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":86496,"PublicListBuildingName":"202629086502008649625","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"7","Price":1595.00,"PriceFormatted":"$1 595","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5462996","Longitude":"-73.6048045","AddressLocation":"6995 Rue Marquette, Montreal, QC, Canada","AddressLine1":"6995 Rue Marquette","AddressLine2":null,"City":"Montréal","ZipCode":"H2E 2C6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"6995 Rue Marquette, Montréal, QC H2E 2C6, Canada"},"BuildingUrl":"/b/202629086502008649625/920544","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/P70vM2jMHr57PMjMAqHPQ5HtMK4vGJqy1/medium","BuildingName":"6995 Marquette","PriceAndDetailsVisible":true},{"ApartmentId":937651,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87411,"PublicListBuildingName":"202629086504008741117","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"7740","Price":1995.00,"PriceFormatted":"$1 995","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5867942","Longitude":"-73.5094077","AddressLocation":"7740 Rue Lecourt, Montreal, QC, Canada","AddressLine1":"7740 Rue Lecourt","AddressLine2":null,"City":"Montréal","ZipCode":"H1L 3J6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"7740 Rue Lecourt, Montréal, QC H1L 3J6, Canada"},"BuildingUrl":"/b/202629086504008741117/937651","PreviewUrl":"https://wfiles.buildingstack.com/resources/image/H7DITqDAKMj2SLDJQ6jtJqrEHNf8KJqy1/medium","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/E3LKBsXgIaOsEMTwApOnILDYScWlGJqy1/medium","BuildingName":"7740 Lecourt","PriceAndDetailsVisible":true},{"ApartmentId":937652,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87411,"PublicListBuildingName":"202629086504008741117","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"7742","Price":1995.00,"PriceFormatted":"$1 995","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5867942","Longitude":"-73.5094077","AddressLocation":"7740 Rue Lecourt, Montreal, QC, Canada","AddressLine1":"7740 Rue Lecourt","AddressLine2":null,"City":"Montréal","ZipCode":"H1L 3J6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"7740 Rue Lecourt, Montréal, QC H1L 3J6, Canada"},"BuildingUrl":"/b/202629086504008741117/937652","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/E3LKBsXgIaOsEMTwApOnILDYScWlGJqy1/medium","BuildingName":"7740 Lecourt","PriceAndDetailsVisible":true},{"ApartmentId":937653,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87411,"PublicListBuildingName":"202629086504008741117","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"7744","Price":2295.00,"PriceFormatted":"$2 295","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":3,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5867942","Longitude":"-73.5094077","AddressLocation":"7740 Rue Lecourt, Montreal, QC, Canada","AddressLine1":"7740 Rue Lecourt","AddressLine2":null,"City":"Montréal","ZipCode":"H1L 3J6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"7740 Rue Lecourt, Montréal, QC H1L 3J6, Canada"},"BuildingUrl":"/b/202629086504008741117/937653","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/E3LKBsXgIaOsEMTwApOnILDYScWlGJqy1/medium","BuildingName":"7740 Lecourt","PriceAndDetailsVisible":true},{"ApartmentId":937654,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":4,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87411,"PublicListBuildingName":"202629086504008741117","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"7746","Price":2295.00,"PriceFormatted":"$2 295","Area":0,"NumberOfBathrooms":0,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5867942","Longitude":"-73.5094077","AddressLocation":"7740 Rue Lecourt, Montreal, QC, Canada","AddressLine1":"7740 Rue Lecourt","AddressLine2":null,"City":"Montréal","ZipCode":"H1L 3J6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"7740 Rue Lecourt, Montréal, QC H1L 3J6, Canada"},"BuildingUrl":"/b/202629086504008741117/937654","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/E3LKBsXgIaOsEMTwApOnILDYScWlGJqy1/medium","BuildingName":"7740 Lecourt","PriceAndDetailsVisible":true},{"ApartmentId":939903,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":1,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87421,"PublicListBuildingName":"202629086504008742120","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"3","Price":1395.00,"PriceFormatted":"$1 395","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":2,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5773001","Longitude":"-73.6523559","AddressLocation":"10640 Rue D'Iberville, Montreal, QC, Canada","AddressLine1":"10640 Rue D'Iberville","AddressLine2":null,"City":"Montréal","ZipCode":"H2B 2V1","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"10640 Rue D&#39;Iberville, Montréal, QC H2B 2V1, Canada"},"BuildingUrl":"/b/202629086504008742120/939903","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/AsL7TLb2IdXODqynCYgsAYQggfaf89wU1/medium","BuildingName":"10640 Rue D'iberville","PriceAndDetailsVisible":true},{"ApartmentId":951663,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"21","Price":1425.00,"PriceFormatted":"$1 425","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951663","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951664,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"22","Price":1450.00,"PriceFormatted":"$1 450","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951664","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951666,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"24","Price":1415.00,"PriceFormatted":"$1 415","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951666","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951667,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"25","Price":1300.00,"PriceFormatted":"$1 300","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951667","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951668,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"30","Price":1300.00,"PriceFormatted":"$1 300","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951668","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951670,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"32","Price":1300.00,"PriceFormatted":"$1 300","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951670","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951671,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"33","Price":1150.00,"PriceFormatted":"$1 150","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951671","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951672,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":9,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87861,"PublicListBuildingName":"202629086506008786101","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"34","Price":1300.00,"PriceFormatted":"$1 300","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5397911","Longitude":"-73.579943","AddressLocation":"5285 Av. des Érables, Montreal, QC, Canada","AddressLine1":"5285 Avenue des Érables","AddressLine2":null,"City":"Montréal","ZipCode":"H2H 2E6","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"5285 Avenue des Érables, Montréal, QC H2H 2E6, Canada"},"BuildingUrl":"/b/202629086506008786101/951672","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/PcivM3SvI6fCPL4rOZXXPcuoMdLdTpqy1/medium","BuildingName":"5285 Des Érables","PriceAndDetailsVisible":true},{"ApartmentId":951797,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":5,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87981,"PublicListBuildingName":"202629086506008798111","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"1","Price":1000.00,"PriceFormatted":"$1 000","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5266078","Longitude":"-73.5764487","AddressLocation":"4310 Av. Christophe-Colomb, Montréal, QC, Canada","AddressLine1":"4310 Avenue Christophe-Colomb","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 3G3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4310 Avenue Christophe-Colomb, Montréal, QC H2J 3G3, Canada"},"BuildingUrl":"/b/202629086506008798111/951797","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QbbJI357DJ5NI4LFL5H4Sr1EE5PIPpqy1/medium","BuildingName":"4310 Christophe-Colomb","PriceAndDetailsVisible":true},{"ApartmentId":951801,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":5,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87981,"PublicListBuildingName":"202629086506008798111","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"5","Price":1100.00,"PriceFormatted":"$1 100","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5266078","Longitude":"-73.5764487","AddressLocation":"4310 Av. Christophe-Colomb, Montréal, QC, Canada","AddressLine1":"4310 Avenue Christophe-Colomb","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 3G3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4310 Avenue Christophe-Colomb, Montréal, QC H2J 3G3, Canada"},"BuildingUrl":"/b/202629086506008798111/951801","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QbbJI357DJ5NI4LFL5H4Sr1EE5PIPpqy1/medium","BuildingName":"4310 Christophe-Colomb","PriceAndDetailsVisible":true},{"ApartmentId":951804,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":5,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87981,"PublicListBuildingName":"202629086506008798111","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"8","Price":1100.00,"PriceFormatted":"$1 100","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":0,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5266078","Longitude":"-73.5764487","AddressLocation":"4310 Av. Christophe-Colomb, Montréal, QC, Canada","AddressLine1":"4310 Avenue Christophe-Colomb","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 3G3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4310 Avenue Christophe-Colomb, Montréal, QC H2J 3G3, Canada"},"BuildingUrl":"/b/202629086506008798111/951804","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QbbJI357DJ5NI4LFL5H4Sr1EE5PIPpqy1/medium","BuildingName":"4310 Christophe-Colomb","PriceAndDetailsVisible":true},{"ApartmentId":952138,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":5,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87981,"PublicListBuildingName":"202629086506008798111","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"12","Price":1425.00,"PriceFormatted":"$1 425","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5266078","Longitude":"-73.5764487","AddressLocation":"4310 Av. Christophe-Colomb, Montréal, QC, Canada","AddressLine1":"4310 Avenue Christophe-Colomb","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 3G3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4310 Avenue Christophe-Colomb, Montréal, QC H2J 3G3, Canada"},"BuildingUrl":"/b/202629086506008798111/952138","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QbbJI357DJ5NI4LFL5H4Sr1EE5PIPpqy1/medium","BuildingName":"4310 Christophe-Colomb","PriceAndDetailsVisible":true},{"ApartmentId":952143,"City":"Montréal","ParkingsIsAvailable":false,"StoragesIsAvailable":false,"NumberOfAvailableUnits":5,"OnlinePaymentsIsAvailable":true,"Building":{"BuildingId":87981,"PublicListBuildingName":"202629086506008798111","Phone":"","ListingEmployeesContacts":[]},"Apartment":{"UnitName":"17","Price":1350.00,"PriceFormatted":"$1 350","Area":0,"NumberOfBathrooms":1,"NumberOfBedrooms":1,"ListingApartmentType":0,"ListingApartmentTypeString":"residential","ApartmentType":0,"PriceDisclosure":0,"IsResidential":true},"Address":{"Latitude":"45.5266078","Longitude":"-73.5764487","AddressLocation":"4310 Av. Christophe-Colomb, Montréal, QC, Canada","AddressLine1":"4310 Avenue Christophe-Colomb","AddressLine2":null,"City":"Montréal","ZipCode":"H2J 3G3","Country":{"CountryName":"Canada"},"Province":{"ProvinceCode":"QC"},"Full":"4310 Avenue Christophe-Colomb, Montréal, QC H2J 3G3, Canada"},"BuildingUrl":"/b/202629086506008798111/952143","PreviewUrl":"/Content/Images/apartmenttypes/residential.svg","BuildingPreviewUrl":"https://wfiles.buildingstack.com/resources/image/QbbJI357DJ5NI4LFL5H4Sr1EE5PIPpqy1/medium","BuildingName":"4310 Christophe-Colomb","PriceAndDetailsVisible":true}];
390−
391− refreshListingContent(units, '');
392− updateFoundUnitsCount('95');
393−
394− function groupUnitsByBuilding(units) {
395− return _.groupBy(units, function (u) { return u.Building.BuildingId });
396− };
397−
398− function initColorMarkers(units) {
399− var byBuilding = groupUnitsByBuilding(units);
400−
401−
402− var count = _.keys(byBuilding).length;
403−
404− var markersInfo = createBuildingMarkerInfo(count);
405− var index = 0;
406− _.each(byBuilding, function (units) {
407− var mInfo = markersInfo[index];
408− _.each(units, function (u) {
409− u.markerInfo = mInfo;
410− });
411− index++;
412− });
413− };
414−
415− function createBuildingMarkerInfo(count) {
416− var unitPinUrlTemplate = '/Customize/UnitMapPin';
417− var colors = randomColor({ count: count });
418−
419− var result = [];
420− _.each(colors, function (c) {
421− result.push({
422− color: c,
423− pinIconUrl: unitPinUrlTemplate + "\?color=" + encodeURIComponent(c)
424− });
425− });
426−
427− return result;
428− }
429−
430−
431− function renderUnits(city) {
432− var unitsToRender = !city ? units : _.filter(units, function (u) { return u.City == city });
433−
434− var tmpl = $('#un-buildings-list').html();
435−
436− var compiled = _.template(tmpl, { variable: 'data' })(unitsToRender);
437−
438− $('#buildings-placeholder').html(compiled);
439−
440− setTimeout(function () { updateLocationOntheMap(unitsToRender) }, 100);
441− };
442−
443− $(".search-button").click(function () {
444− var data = $(this).closest('form').serialize();
445− updateUnits(data);
446− });
447−
448− $('.tab-trigger-btn').click(function () {
449− var tab_number = $(this).attr('for');
450− var data = $('.searchbar-tab-content' + '.' + tab_number).children('form').serialize();
451− updateUnits(data);
452− });
453−
454− function updateCities(units, filterCity) {
455− var uniqueCityUnits = _.uniq(units, function (item) {
456− return item.City;
457− });
458−
459− var uniqueCities = _.map(uniqueCityUnits, function(item) {
460− return item.City;
461− });
462−
463− var sortedCities = _.sortBy(uniqueCities);
464−
465− $('#tab-slide').empty();
466−
467− if (!filterCity) {
468− $('#tab-slide').append('<li><label class="tab active">Tout</label></li>');
469− }
470−
471− _.each(sortedCities, function (city) {
472− var activeClass = city == filterCity ? "active" : "";
473− $('#tab-slide').append('<li><label for="' + city + '" class="tab ' + activeClass + '">' + city + '</label></li>');
474− });
475−
476− createOrRefreshSlider();
477− }
478−
479− function createOrRefreshSlider() {
480− // if need update slider items, should recreate slider instead refresh(), because had some troubles with refresh
481− var slider = $('#tab-slide').lightSlider();
482− if (slider) {
483− slider.destroy();
484− }
485−
486− $("#tab-slide").lightSlider({
487− item: 4,
488− autoWidth: true,
489− slideMove: 1, // slidemove will be 1 if loop is true
490− slideMargin: 40,
491− appendControlsTo: '#slider-controls',
492− enableDrag: false
493− });
494− }
495−
496− function updateUnits(data) {
497− var triggerElement = $('#listing-content');
498− Gotham.LoadingIndicator.showOverlayIndicator(triggerElement);
499−
500− $.post('/Listing/ListingUnits', data, function (model) {
501− units = model.units;
502− refreshListingContent(units, model.city);
503− updateFoundUnitsCount(model.NumberOfAvailableUnits)
504− Gotham.LoadingIndicator.hideOverlayIndicator(triggerElement);
505− });
506− }
507−
508− function updateFoundUnitsCount(number) {
509− $('.result-show').html(number + ' ' + 'Unit&#233;(s) trouv&#233;(s)');
510− }
511−
512− function refreshListingContent(units, city) {
513− updateCities(units, city);
514− initColorMarkers(units);
515− renderUnits(city);
516− }
517−
518− $('.tab-trigger').on('click', 'label.tab', function() {
519− $(this).parent().parent().parent().find("label.tab").removeClass('active');
520− $(this).addClass('active');
521−
522− var city = $(this).attr('for');
523−
524− renderUnits(city);
525− });
526−
527− function updateLocationOntheMap(units) {
528− var byBuilding = groupUnitsByBuilding(units);
529− if (units.length > 0) {
530− Gotham.GoogleMaps.setListingLocations(document.getElementById("googleMap"), byBuilding);
531− } else {
532− Gotham.GoogleMaps.setCompanyLocation(document.getElementById("googleMap"), "77 Rue Omer Deserres, 6, Blainville, QC J7C5N3, Canada", '45.6729456', '-73.85032819999999');
533− }
534− };
535− });
536− </script>
537−
538− <script type="text/template" id="un-buildings-list">
539− <div class="maincontent">
540− <% _.each(data, function(unit) { %>
541− <div class="item-list-1" style="border-left-color: <%= unit.markerInfo.color %>" buildingId="<%= unit.Building.BuildingId %>">
542− <a href="<%= unit.BuildingUrl %>?lang=fr-CA">
543− <div class="unit-image">
544− <img class="<% if (unit.PreviewUrl.indexOf(" .svg")> -1) {%>default-img<% }%>" src="<%= unit.PreviewUrl %>" alt="#" width="115" height="115">
545− </div>
546− <div class="item-content">
547− <h3 class="accent_color_2"><%= unit.Apartment.UnitName %></h3>
548− <span class="<%= unit.Apartment.ListingApartmentTypeString%>-unit"></span>
549− <div class="building-add"><%= unit.Address.Full %></div>
550− <ul class='building-main-info <%= !unit.Apartment.IsResidential?" commercial":"" %>'>
551− <li class="price"><%= unit.Apartment.PriceFormatted %></li>
552− <li class="area-size"><%= unit.Apartment.Area == 0 ? "--" : unit.Apartment.Area %> (Pi.Ca.)</li>
553− <% if (unit.Apartment.IsResidential) { %>
554− <li class="bathrooms"><%= unit.Apartment.NumberOfBathrooms %></li>
555− <li class="total-bedrooms"><%= unit.Apartment.NumberOfBedrooms %></li>
556− <% } %>
557− <li class="icons">
558− <% if(unit.ParkingsIsAvailable) { %>
559− <img src="/Customize/Svg?name=parking&amp;accentColor=2&amp;ver=rgba%2824%2C38%2C66%2C1%29" alt="#">
560− <% } %>
561−
562− <% if(unit.StoragesIsAvailable) { %>
563− <img src="/Customize/Svg?name=storage&amp;accentColor=2&amp;ver=rgba%2824%2C38%2C66%2C1%29" alt="#">
564− <% } %>
565−
566− <% if(unit.OnlinePaymentsIsAvailable) { %>
567− <img src="/Customize/Svg?name=online-payment&amp;accentColor=2&amp;ver=rgba%2824%2C38%2C66%2C1%29" alt="#">
568− <% } %>
569− </li>
570− <% if (unit.Building.Phone!=""){%>
571− <li class="phone-num"><%= unit.Building.Phone %></li>
572− <% } %>
573− </ul>
574− </div>
575− </a>
576− </div>
577− <% }); %>
578− </div>
579− </script>
580−</div>
581−
582−
583−
584−<!-- FOOTER -->
585−
586− <div class="footer wrapper accent_color_3_background">
587− <div class="page-content section_2 clearfix">
588− <div class="company-info ">
589− <div class="company-title barFontColor">
590− <img src="https://wfiles.buildingstack.com/resources/image/K6yPiAIheR4xbxUahA2Zf3OSegCsCvwU1" alt="" height="30" />Gestion Immobili&#232;re Summum
591− </div>
592− <div class="powered-by barFontColor">
593− R&#233;alis&#233; par
594− <a href="https://www.buildingstack.com/">
595− <img src="/Content/Images/listings/footer-logo-bstk-white.svg" alt="" />
596− </a>
597− </div>
598− <p class="copyrights barFontColor">&#169;2026 BuildingStack™. Tous droits r&#233;serv&#233;s.</p>
599− <ul class="links">
600− <li><a href="/legal/terms" target="_blank">Conditions D&#39;utilisation</a></li>
601− <li><a href="/legal/privacy" target="_blank">Politique de Confidentialit&#233;</a></li>
602−
603− </ul>
604− </div>
605− <div class="contact">
606− <h3 class="upper-case accent_color_1">SI&#200;GE SOCIAL</h3>
607− <p class="address barFontColor">
608−
609−77 Rue Omer Deserres, 6, Blainville, QC J7C5N3, Canada</p>
610− <p class="phone barFontColor">(514) 819-1529</p>
611− </div>
612− </div>
613− </div>
614−<!-- END FOOTER -->
615− </div>
616−
617−</body>
618−</html>
added tests/fixtures/summum/1433a8d8e39596e7e3b7.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/14556e118f3eb75d34bf.html +0 −642
Large diff (642 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/16fb861fab879a468f61.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/194c1244c0dea72a2a27.html +0 −659
Large diff (659 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/1aabffebe2d44dcedf3b.html +0 −610
Large diff (610 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/1adad595bd17cdf20735.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/1b02085d9e18a0ae6886.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/1b65ab786c1aa66c926a.html +0 −610
Large diff (610 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/1d2f6484d4d85e8278f1.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/1d5728551d72b5a60009.html +0 −642
Large diff (642 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/1dd762898562cd404ae2.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/1f9cdd264bdc7c0b31bd.html +0 −610
Large diff (610 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/217249feae19a592ba11.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/222662c6416a91487d6b.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/242ffd870f5c5dcca663.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/248355eba865a10e58d3.html +0 −623
Large diff (623 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/248b1ee8e86428c0b7b7.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/294d914e3b6c9bed1f24.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/2cdfd1647f71a46fa676.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/2d0160ec30d92f48b3b3.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/302db748a328aa3b9fc1.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/34f60fed10119ea0b0d1.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/36440c5e1bab4cfab50e.txt +1 −0
Large diff (1 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/38e25183dc3bf523d05e.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/3da5b0e4b4422114c0da.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/3f708e9db8cc1de5e4cd.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/4175697172fb3c488f99.html +0 −616
Large diff (616 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/4243a2daa535fe6207d1.html +0 −645
Large diff (645 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/427e6286ce6e20e7323e.html +0 −614
Large diff (614 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/45a015dc8d8a1b83c373.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/4adc86b238c5a76ca2c1.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/51b762132397ec536427.html +0 −606
Large diff (606 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/5487101d65f36b471b72.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/5ae2467747d48daed3a6.html +0 −616
Large diff (616 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/5b06691bb5d482f38c9d.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/5b3f7f1cc948b866e860.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/5c6413be0c3721c4cf29.html +0 −616
Large diff (616 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/5f78109a024c2c0b2378.html +0 −636
Large diff (636 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/613c5ae8afd10bcfb2f4.html +0 −637
Large diff (637 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/672727c279d29b942295.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/67a0aa20a6b2c0abf30d.html +0 −643
Large diff (643 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/6973749e6cd8b70f7f18.html +0 −688
Large diff (688 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/69f7abc4a563a5705ec5.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/6f6eb9a09f3dd8235e8b.html +0 −606
Large diff (606 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/71a840dc29739af27356.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/74f4978a4485f2f9618c.html +0 −616
Large diff (616 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/7cf4afdfda7cd5f49d1f.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/7d635be101f0c90263a1.html +0 −748
Large diff (748 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/7e15c65b5441924ab189.html +0 −662
Large diff (662 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/80374e236984d2527f2d.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/83f9c384056e1f388f3a.html +0 −649
Large diff (649 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/874329f4a42d8df8b755.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/8af1e95da99a240f7011.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/8d47663185fd5058c905.html +0 −616
Large diff (616 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/909d8e63872925fdae92.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/956ce353fae5762a17d1.html +0 −714
Large diff (714 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/964aaa85763324be2009.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/aac2f3005bb658b94971.html +0 −636
Large diff (636 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/afe46e13bcad7451d6b9.html +0 −606
Large diff (606 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/b8f09a68f2de1a013457.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/c052294f6d8f9b46447d.html +0 −616
Large diff (616 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/cb1375be9bda64290da6.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/cc950d1f08911436668f.html +0 −636
Large diff (636 lines) is not loaded by default to keep the page fast.Load diff
added tests/fixtures/summum/cd081a0f1559a71416aa.txt +2 −0
Large diff (2 lines) is not loaded by default to keep the page fast.Load diff
deleted tests/fixtures/summum/cd591af79de9ca45bde8.html +0 −400
Large diff (400 lines) is not loaded by default to keep the page fast.Load diff

Diff truncated — file too large.

Menu

Theme