$3,750/mo
3 Beds
1 Bath
Available: 09/01/2024
Davis Square, Somerville, MA
Price Reduced $150
Property Description
Act swiftly, as properties like this one go quickly! If this doesn't quite match your criteria, feel free to reach out via call, text, or email for more information on this listing or any others we have available. Schedule a tour at your convenience by calling or texting anytime. Don't miss out!!! Call Now!!Transportation Options
225 Holland St Bus Stop 0.0 mi (0 min away)
Broadway @ Curtis St Bus Stop 0.1 mi (2 min away)
Broadway @ Holland St - Teele Sq Bus Stop 0.1 mi (2 min away)
Broadway @ Westminster Ave Bus Stop 0.0 mi (1 min away)
Holland St @ Moore St Bus Stop 0.0 mi (0 min away)
Nearby Places
Angelina's Pizzeria
Istanbul'lu
Magnificent Muffin & Bagels
Masala
Rudy's Cafe
Show more
Price Comparison
This apartment is 0.16% less expensive than the average price of $3,756 for 3 bedroom apartments in Somerville. Congratulations on finding a great apartment that is below the average rent price in Somerville. Contact Boston Pads now to see this apartment or request a rental application.
Average Rent Prices for 3 Bedroom Apartments in Somerville
');}else{$("#"+chart_id).append('
');}if(value.multiaxis_combined === true){var ctx = document.getElementById(tabId).getContext("2d");var chartDataMultiAxis = value.multiaxis;const correctedMultiaxis = value.multiaxis.replace(/\n/g, "").replace(/\t/g, "").replace(/\/\/.*/g, "").replace(/,\s*}/g, "}").replace(/,\s*]/g, "]");const multiaxisObject = eval("(" + value.multiaxis + ")");var mmObj = {type: multiaxisObject.type,data: multiaxisObject.data,options: multiaxisObject.options};let abcM;if (value.annotation) {try {abcM = JSON.parse(value.annotation);} catch (error) {// alert("Error parsing annotation JSON:" + value.annotation);}}if (value.annotation) {abcM = JSON.parse(value.annotation);}// Add the parsed annotations to the chart optionsif (abcM) {if (!mmObj.options) {mmObj.options = {};}mmObj.options.annotation = {drawTime: abcM.annotation.drawTime,events: abcM.annotation.events,annotations: abcM.annotation.annotations};}const myChart = new Chart(ctx, mmObj);if ($("#" + ctabId + " table").length === 0) {if(value.wcag_table!=undefined){const tableHtml = genrateJsonTableMultiAxis(value.wcag_table);$("#" + ctabId).append(tableHtml);}}}else{var ctx = document.getElementById(tabId).getContext("2d");if(value.data_label!=undefined){var chartData = parseChartData(value);new Chart(ctx, chartData);}if ($("#" + ctabId + " table").length === 0) {// Add table generation code under chart starts from here const tableHtml = generateTableFromJSON(value.wcag_table);$("#" + ctabId).append(tableHtml);}}}else{$.each(globalJsonData, function(key, value) {var randomInt = getRandomInt(1, 1000);const tabId = "charts_tabs-" + key+"_"+randomInt;const ctabId = "charts_tab-" + key+"_"+randomInt;$(".err_chart_"+chart_number).append(value.annotation_error);const parentDiv = $("#"+chart_id);const childDiv = $("#" + chart_id).parent().find(".charts_tabs");const ulElement = childDiv.find("#mylist");ulElement.append('
');childDiv.append('
');var new_name = "charts_tabs-"+key+"_"+randomInt;;var ctx = document.getElementById(new_name).getContext("2d");var chartData = parseChartData(value);new Chart(ctx, chartData);counter++;if ($("#" + ctabId + " table").length === 0) {// Add table generation code under chart starts from here const tableHtml = generateTableFromJSON(value.wcag_table);$("#" + ctabId).append(tableHtml);}});}jQuery("#" + chart_id).parent().find(".charts_tabs").tabs();});} function createChart() {}function getRandomInt(min, max) {min = Math.ceil(min);max = Math.floor(max);return Math.floor(Math.random() * (max - min + 1)) + min; }function genrateJsonTableMultiAxis(jsonData){let divClass = jsonData.show_table_class;let tableData = jsonData.table;// Create the table with the specified classlet html = "
" + header + " | ";});html += "
---|
" + cell + " | ";});html += "
";return html;}function generateTableFromJSON(jsonData) {if (!jsonData) {return "";}const wcagTable = jsonData;const heading = wcagTable.heading;const rows = wcagTable.rows;const divClass = wcagTable.div_class || "";let html = "
" + heading.date + " | ";html += "" + heading.value + " | ";if (heading.compare_value) {html += "" + heading.compare_value + " | ";}html += "
---|---|---|
" + row.date + " | ";html += "" + row.value + " | ";if (row.compare_value) {html += "" + row.compare_value + " | ";}html += "
";return html;}function parseChartData(value) {const labels = JSON.parse(value.data_label.slice(7));const data = JSON.parse(value.data);const compareLocationData = JSON.parse(value.compare_location_data);const symbol = value.symbol;const percent = value.percent;const datasets = [ {label: value.dataset_compare_location_label,data: data,borderWidth: value.chart_border_width,backgroundColor: value.chart_plain_bgcolor,borderColor: value.chart_plain_border_color,pointBackgroundColor: value.chart_plain_pointbgcolor,pointBorderColor: value.chart_tab_point_border_color,pointStyle: "rectRounded",pointRadius: value.chart_plain_point_radius,pointHitRadius: value.chart_plain_point_hit_radius,pointHoverRadius: value.chart_plain_point_hover_radius,pointHoverBorderWidth: value.chart_plain_point_hover_border_width,cubicInterpolationMode: "default",spanGaps: true, },]; if (value.compare_location_label) { datasets.push({label: value.compare_location_label,data: compareLocationData,borderWidth: value.chart_comparison_border_width,fill:value.chart_comparison_fill_flag,backgroundColor: value.chart_comparison_bgcolor,borderColor: value.chart_comparison_border_color,pointRadius: value.chart_comparison_point_radius,pointHitRadius: value.chart_comparison_point_hit_radius,pointHoverRadius: value.chart_comparison_point_hover_radius,pointHoverBorderWidth: value.chart_comparison_point_hover_border_width,cubicInterpolationMode: "default",spanGaps: true, });} const chartData = { labels: labels, datasets: datasets,};let abc;if (value.annotation) {try { abc = JSON.parse(value.annotation);} catch (error) {// alert("Error parsing annotation JSON:"+ value.annotation);} }if (value.annotation) {abc = JSON.parse(value.annotation);}if(value.yaxis_label_labelString!=null){var y_label = value.yaxis_label_labelString;}else{var y_label = "";}const chartOptions = { maintainAspectRatio: false, scales: {yAxes: [ {ticks: { autoSkip: true, autoSkipPadding: 90, reverse: false, callback: function (value, index, values) {return symbol + value + percent; },},scaleLabel: { display: true, fontSize: 14, labelString: y_label,}, },],xAxes: [ {ticks: { autoSkip: true, autoSkipPadding: 5,}, },], }, legend: {display: value.xAxes_legend_display === "true",labels: { fontSize: 14,}, }, tooltips: {enabled: true,mode: "single",callbacks: { label: function (tooltipItems, data) {return symbol + tooltipItems.yLabel + percent; },}, }, // Add any other chart options here};if (abc && abc.annotation) {chartOptions.annotation = abc.annotation; }var options = { type: "line", data: chartData, options: chartOptions,};return options; } function fixInvalidCommas(dataString) {return dataString.replace(/,,/g, ",null,"); } function findInvalidCharacter(jsonString) {let position = -1;try { JSON.parse(jsonString);} catch (error) { const match = error.message.match(/position (\d+)/); if (match) {position = parseInt(match[1], 10); }}return position; }function isElementVisibleAPI(el) {const rect = el.getBoundingClientRect();const windowHeight = window.innerHeight || document.documentElement.clientHeight;const windowWidth = window.innerWidth || document.documentElement.clientWidth;return (rect.top < windowHeight &&rect.bottom > 0 &&rect.left < windowWidth &&rect.right > 0);}});