rentjuicer 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +22 -0
- data/LICENSE +20 -0
- data/README.rdoc +17 -0
- data/Rakefile +50 -0
- data/VERSION +1 -0
- data/lib/rentjuicer/client.rb +15 -0
- data/lib/rentjuicer/error.rb +17 -0
- data/lib/rentjuicer/lead.rb +21 -0
- data/lib/rentjuicer/listing.rb +57 -0
- data/lib/rentjuicer/listings.rb +86 -0
- data/lib/rentjuicer/neighborhoods.rb +16 -0
- data/lib/rentjuicer/response.rb +35 -0
- data/lib/rentjuicer.rb +13 -0
- data/spec/rentjuicer/client_spec.rb +17 -0
- data/spec/rentjuicer/error_spec.rb +17 -0
- data/spec/rentjuicer/lead_spec.rb +55 -0
- data/spec/rentjuicer/listing_spec.rb +97 -0
- data/spec/rentjuicer/listings_spec.rb +124 -0
- data/spec/rentjuicer/neighborhoods_spec.rb +30 -0
- data/spec/rentjuicer/response_spec.rb +51 -0
- data/spec/rentjuicer_api_key.yml.example +1 -0
- data/spec/responses/error.json +6 -0
- data/spec/responses/featured.json +431 -0
- data/spec/responses/find_all_1.json +1211 -0
- data/spec/responses/find_all_2.json +1294 -0
- data/spec/responses/find_all_3.json +808 -0
- data/spec/responses/find_all_by_ids.json +1249 -0
- data/spec/responses/find_all_by_ids_2.json +186 -0
- data/spec/responses/find_by_id.json +128 -0
- data/spec/responses/lead.json +8 -0
- data/spec/responses/lead_error.json +6 -0
- data/spec/responses/listings.json +1301 -0
- data/spec/responses/neighborhoods.json +227 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +12 -0
- data/spec/support/listing_helper.rb +126 -0
- data/spec/support/webmock_helper.rb +24 -0
- metadata +161 -0
@@ -0,0 +1,124 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Rentjuicer::Listing do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@rentjuicer = new_rentjuicer
|
7
|
+
@listings = Rentjuicer::Listings.new(@rentjuicer)
|
8
|
+
end
|
9
|
+
|
10
|
+
context "search" do
|
11
|
+
before do
|
12
|
+
mock_get('/listings.json', 'listings.json', {
|
13
|
+
:neighborhoods => "South Boston",
|
14
|
+
:order_by => "rent",
|
15
|
+
:order_direction => "asc"
|
16
|
+
})
|
17
|
+
@result = @listings.search(:neighborhoods => "South Boston")
|
18
|
+
end
|
19
|
+
|
20
|
+
it { @result.should be_kind_of(Rentjuicer::Listings::SearchResponse) }
|
21
|
+
it { @result.success?.should be_true }
|
22
|
+
|
23
|
+
context "search response" do
|
24
|
+
it { @result.should be_kind_of(Rentjuicer::Response)}
|
25
|
+
it { @result.should respond_to(:properties, :paginator) }
|
26
|
+
|
27
|
+
it "should return an array of properties" do
|
28
|
+
@result.properties.should be_kind_of(Array)
|
29
|
+
@result.properties.each do |property|
|
30
|
+
property.should be_kind_of(Rentjuicer::Listing)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should return a will_paginate collection" do
|
35
|
+
@result.paginator.should be_kind_of(WillPaginate::Collection)
|
36
|
+
@result.paginator.collect{|p| p.id}.should == @result.properties.collect{|p| p.id}
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context "find_by_id" do
|
42
|
+
before do
|
43
|
+
mock_get('/listings.json', 'find_by_id.json', {
|
44
|
+
:rentjuice_id => "200306"
|
45
|
+
})
|
46
|
+
@result = @listings.find_by_id(200306)
|
47
|
+
end
|
48
|
+
|
49
|
+
it { @result.should be_kind_of(Rentjuicer::Listings::SearchResponse) }
|
50
|
+
it { @result.success?.should be_true }
|
51
|
+
|
52
|
+
it "should return no more than 1 response" do
|
53
|
+
@result.properties.should have_at_most(1).listings
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context "featured" do
|
58
|
+
before do
|
59
|
+
mock_get('/listings.json', 'featured.json', {
|
60
|
+
:featured => "1",
|
61
|
+
:order_by => "rent",
|
62
|
+
:order_direction => "asc"
|
63
|
+
})
|
64
|
+
@result = @listings.featured
|
65
|
+
end
|
66
|
+
|
67
|
+
it { @result.should be_kind_of(Rentjuicer::Listings::SearchResponse) }
|
68
|
+
it { @result.success?.should be_true }
|
69
|
+
|
70
|
+
it "should only return featured properties" do
|
71
|
+
@result.properties.collect{|p| p.featured == 1}.size.should == @result.properties.size
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context "find_all_by_ids" do
|
76
|
+
before do
|
77
|
+
@find_ids = [
|
78
|
+
200306, 200221, 200214, 200121, 199646, 198560, 197542, 197540, 197538, 196165,
|
79
|
+
196149, 195626, 195613, 195592, 195583, 195582, 195562, 194330, 193565, 190074,
|
80
|
+
97694, 38101
|
81
|
+
]
|
82
|
+
mock_get('/listings.json', 'find_all_by_ids.json', {
|
83
|
+
:rentjuice_id => @find_ids.join(','),
|
84
|
+
:order_by => "rent",
|
85
|
+
:order_direction => "asc"
|
86
|
+
})
|
87
|
+
mock_get('/listings.json', 'find_all_by_ids_2.json', {
|
88
|
+
:rentjuice_id => @find_ids.join(','),
|
89
|
+
:order_by => "rent",
|
90
|
+
:order_direction => "asc",
|
91
|
+
:page => "2"
|
92
|
+
})
|
93
|
+
@properties = @listings.find_all_by_ids(@find_ids.join(','))
|
94
|
+
end
|
95
|
+
|
96
|
+
it { @properties.should be_kind_of(Array) }
|
97
|
+
|
98
|
+
it "should only return properties for requested ids" do
|
99
|
+
@property_ids = @properties.collect{|p| p.rentjuice_id}
|
100
|
+
@find_ids.each do |id|
|
101
|
+
@property_ids.should include(id)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
context "find_all" do
|
107
|
+
before do
|
108
|
+
search_params = {
|
109
|
+
:neighborhoods => "Fenway",
|
110
|
+
:max_rent => "2000",
|
111
|
+
:min_beds => "2"
|
112
|
+
}
|
113
|
+
mock_parms = search_params.merge!(:order_by => "rent", :order_direction => "asc")
|
114
|
+
mock_get('/listings.json', 'find_all_1.json', mock_parms)
|
115
|
+
mock_get('/listings.json', 'find_all_2.json', mock_parms.merge!(:page => "2"))
|
116
|
+
mock_get('/listings.json', 'find_all_3.json', mock_parms.merge!(:page => "3"))
|
117
|
+
@properties = @listings.find_all(search_params)
|
118
|
+
end
|
119
|
+
|
120
|
+
it { @properties.should be_kind_of(Array)}
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Rentjuicer::Neighborhoods do
|
4
|
+
|
5
|
+
before do
|
6
|
+
@rentjuicer = new_rentjuicer
|
7
|
+
@neighborhoods = Rentjuicer::Neighborhoods.new(@rentjuicer)
|
8
|
+
mock_get(@neighborhoods.resource, 'neighborhoods.json')
|
9
|
+
end
|
10
|
+
|
11
|
+
context "find_all" do
|
12
|
+
before do
|
13
|
+
@response = @neighborhoods.find_all
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should be a success" do
|
17
|
+
@response.success?.should be_true
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should return Rash for response for body" do
|
21
|
+
@response.body.should be_kind_of(Hashie::Rash)
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should set an array of neighborhoods on the body" do
|
25
|
+
@response.body.neighborhoods.should be_kind_of(Array)
|
26
|
+
@response.body.neighborhoods.first.should be_kind_of(Hashie::Rash)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe Rentjuicer::Response do
|
4
|
+
|
5
|
+
context "should raise errors" do
|
6
|
+
before do
|
7
|
+
@rentjuicer = new_rentjuicer
|
8
|
+
@neighborhoods = Rentjuicer::Neighborhoods.new(@rentjuicer)
|
9
|
+
mock_get(@neighborhoods.resource, 'error.json')
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should raise an exception" do
|
13
|
+
lambda {
|
14
|
+
@neighborhoods.find_all
|
15
|
+
}.should raise_exception
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context "passing raise_errors = false" do
|
20
|
+
it "should not raise errors when raise_errors is false" do
|
21
|
+
lambda {
|
22
|
+
Rentjuicer::Response.new(httparty_get('/neighborhoods.json', 'error.json'), false)
|
23
|
+
}.should_not raise_exception
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should not be a success" do
|
27
|
+
@response = Rentjuicer::Response.new(httparty_get('/neighborhoods.json', 'error.json'), false)
|
28
|
+
@response.success?.should be_false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "should return a response" do
|
33
|
+
before do
|
34
|
+
@rentjuicer = new_rentjuicer
|
35
|
+
@neighborhoods = Rentjuicer::Neighborhoods.new(@rentjuicer)
|
36
|
+
mock_get(@neighborhoods.resource, 'neighborhoods.json')
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should not raise an exception" do
|
40
|
+
lambda {
|
41
|
+
@neighborhoods.find_all
|
42
|
+
}.should_not raise_exception
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should be a success" do
|
46
|
+
@results = @neighborhoods.find_all
|
47
|
+
@results.success?.should be_true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
api_key: put_your_key_kere
|
@@ -0,0 +1,431 @@
|
|
1
|
+
{
|
2
|
+
"status": "ok",
|
3
|
+
"page": 1,
|
4
|
+
"count": 4,
|
5
|
+
"total_count": 4,
|
6
|
+
"listings": [
|
7
|
+
{
|
8
|
+
"rentjuice_id": 189963,
|
9
|
+
"title": null,
|
10
|
+
"description": "Here's an opportunity to live in this highly anticipated condo building. This conveniently located building is high in quality, has state-of-the-art amenities including 24 hour concierge, fitness center, four gorgeous lobbies, business center, common roof top, landscaped courtyard with fountains. The unit features hardwood floors, gourmet kitchen with SS appliances and granite, ample closet space, W\/D in unit, floor to ceiling windows, 10 foot ceilings, and a lifestyle of class and luxury. Steps to green line T stop, Cambridge side galleria, stores, restaurants and easy access to downtown Boston.",
|
11
|
+
"agent_name": null,
|
12
|
+
"agent_email": null,
|
13
|
+
"agent_phone": null,
|
14
|
+
"featured": 1,
|
15
|
+
"address": "150 Cambridge St, Unit D203",
|
16
|
+
"street_number": 150,
|
17
|
+
"street": "Cambridge St",
|
18
|
+
"unit_number": "D203",
|
19
|
+
"cross_street": null,
|
20
|
+
"latitude": 42.3821618,
|
21
|
+
"longitude": -71.0806992,
|
22
|
+
"neighborhoods": [
|
23
|
+
"Cambridge"
|
24
|
+
],
|
25
|
+
"floor_number": null,
|
26
|
+
"property_type": null,
|
27
|
+
"rent": 2950,
|
28
|
+
"fee": 1,
|
29
|
+
"bedrooms": 2,
|
30
|
+
"bathrooms": 2,
|
31
|
+
"square_footage": 1150,
|
32
|
+
"features": [
|
33
|
+
"Cable television",
|
34
|
+
"Carpet",
|
35
|
+
"Central Air Conditioning",
|
36
|
+
"Concierge",
|
37
|
+
"Dining room",
|
38
|
+
"Dishwasher",
|
39
|
+
"Elevator",
|
40
|
+
"Hardwood floors",
|
41
|
+
"Microwave",
|
42
|
+
"Roof deck",
|
43
|
+
"Stainless steel appliances",
|
44
|
+
"Washer\/dryer in unit"
|
45
|
+
],
|
46
|
+
"rental_terms": [
|
47
|
+
"First Month's Rent Required",
|
48
|
+
"Graduate Student Friendly",
|
49
|
+
"Student Friendly"
|
50
|
+
],
|
51
|
+
"date_available": "2010-09-01",
|
52
|
+
"last_updated": "2010-08-12 12:03:30",
|
53
|
+
"photos": [
|
54
|
+
{
|
55
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808189.jpg",
|
56
|
+
"sort_order": 1,
|
57
|
+
"main_photo": false,
|
58
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808199.jpg"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808213.jpg",
|
62
|
+
"sort_order": 2,
|
63
|
+
"main_photo": true,
|
64
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808215.jpg"
|
65
|
+
},
|
66
|
+
{
|
67
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808241.jpg",
|
68
|
+
"sort_order": 3,
|
69
|
+
"main_photo": false,
|
70
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808247.jpg"
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808194.jpg",
|
74
|
+
"sort_order": 4,
|
75
|
+
"main_photo": false,
|
76
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/12\/2808200.jpg"
|
77
|
+
}
|
78
|
+
],
|
79
|
+
"custom_fields": [
|
80
|
+
{
|
81
|
+
"name": "Virtual Tour",
|
82
|
+
"type": "text",
|
83
|
+
"value": null
|
84
|
+
}
|
85
|
+
],
|
86
|
+
"url": "http:\/\/app.rentjuice.com\/listings\/189963"
|
87
|
+
},
|
88
|
+
{
|
89
|
+
"rentjuice_id": 146120,
|
90
|
+
"title": "Unique Renovation - AMAZING Detail! Garage Parking!",
|
91
|
+
"description": "Extreme attention to detail, this unique renovation of a open concept, floor through floor plan offers two bedrooms plus two additional rooms ideal for study\/nursery\/guest room and two luxurious baths completed with every amenity desirable. Chef\u2019s Kitchen includes, granite counters, double ovens, island for preparation, pantry and stainless steel appliances. Metropolitan living at your door step, close to Prudential, Copley Square, Restaurants, Shops, Newbury Street and more! Unit features laundry room & C A\/C. Building offers, direct elevator access and one garage parking space - additional spaces possible.",
|
92
|
+
"agent_name": "Kristy Ganong",
|
93
|
+
"agent_email": "kganong@bradvisors.com",
|
94
|
+
"agent_phone": "617-850-9604",
|
95
|
+
"featured": 1,
|
96
|
+
"address": "811 Boylston St, Unit 4TH FL",
|
97
|
+
"street_number": 811,
|
98
|
+
"street": "Boylston St",
|
99
|
+
"unit_number": "4TH FL",
|
100
|
+
"cross_street": null,
|
101
|
+
"latitude": 42.3488031,
|
102
|
+
"longitude": -71.0822071,
|
103
|
+
"neighborhoods": [
|
104
|
+
"Back Bay"
|
105
|
+
],
|
106
|
+
"floor_number": 4,
|
107
|
+
"property_type": "Brownstone",
|
108
|
+
"rent": 7400,
|
109
|
+
"fee": 1,
|
110
|
+
"bedrooms": 2,
|
111
|
+
"bathrooms": 2,
|
112
|
+
"square_footage": 2000,
|
113
|
+
"features": [
|
114
|
+
"Air Conditioning",
|
115
|
+
"Alarm",
|
116
|
+
"Cable television",
|
117
|
+
"Central Air Conditioning",
|
118
|
+
"Central heat",
|
119
|
+
"Dining room",
|
120
|
+
"Dishwasher",
|
121
|
+
"Disposal",
|
122
|
+
"Eat-in Kitchen",
|
123
|
+
"Elevator",
|
124
|
+
"Granite countertops",
|
125
|
+
"Hardwood floors",
|
126
|
+
"High-speed internet",
|
127
|
+
"Hot tub or spa",
|
128
|
+
"Laundry in unit",
|
129
|
+
"Microwave",
|
130
|
+
"Modern bathrooms",
|
131
|
+
"Refrigerator",
|
132
|
+
"Stainless steel appliances",
|
133
|
+
"Stove",
|
134
|
+
"Updated\/renovated kitchen",
|
135
|
+
"Walk In Closet",
|
136
|
+
"Washer\/dryer in unit"
|
137
|
+
],
|
138
|
+
"rental_terms": [
|
139
|
+
"First Month's Rent Required",
|
140
|
+
"No Pets Accepted",
|
141
|
+
"Security Deposit Required"
|
142
|
+
],
|
143
|
+
"date_available": "2010-08-15",
|
144
|
+
"last_updated": "2010-08-12 17:45:27",
|
145
|
+
"photos": [
|
146
|
+
{
|
147
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979014.jpg",
|
148
|
+
"sort_order": 1,
|
149
|
+
"main_photo": true,
|
150
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979002.jpg"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979015.jpg",
|
154
|
+
"sort_order": 2,
|
155
|
+
"main_photo": false,
|
156
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979020.jpg"
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979007.jpg",
|
160
|
+
"sort_order": 3,
|
161
|
+
"main_photo": false,
|
162
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979005.jpg"
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979056.jpg",
|
166
|
+
"sort_order": 4,
|
167
|
+
"main_photo": false,
|
168
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979058.jpg"
|
169
|
+
},
|
170
|
+
{
|
171
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979018.jpg",
|
172
|
+
"sort_order": 5,
|
173
|
+
"main_photo": false,
|
174
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979010.jpg"
|
175
|
+
},
|
176
|
+
{
|
177
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979021.jpg",
|
178
|
+
"sort_order": 6,
|
179
|
+
"main_photo": false,
|
180
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979038.jpg"
|
181
|
+
},
|
182
|
+
{
|
183
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979022.jpg",
|
184
|
+
"sort_order": 7,
|
185
|
+
"main_photo": false,
|
186
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979032.jpg"
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979024.jpg",
|
190
|
+
"sort_order": 8,
|
191
|
+
"main_photo": false,
|
192
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/07\/06\/1979030.jpg"
|
193
|
+
}
|
194
|
+
],
|
195
|
+
"custom_fields": [
|
196
|
+
{
|
197
|
+
"name": "Virtual Tour",
|
198
|
+
"type": "text",
|
199
|
+
"value": null
|
200
|
+
}
|
201
|
+
],
|
202
|
+
"url": "http:\/\/app.rentjuice.com\/listings\/146120"
|
203
|
+
},
|
204
|
+
{
|
205
|
+
"rentjuice_id": 138990,
|
206
|
+
"title": "NEW Luxury - Walk to LONGWOOD! Condo Quality H& HW Incl",
|
207
|
+
"description": "No Broker FEE! Luxury Condominium Quality units steps to the Longwood Medical Area!!! This NEW unit offers it all! Abundant amount of natural sunlight - Spacious living & dining area - Washer\/dryer in the apartment - Hardwood floors - Marble heated floors in the bathroom - Granite countertops - Stainless steel appliances - Heat & Hot Water Included! The building features: Concierge and 24hr doorman - On-site fitness center - Community room with flat screen TV, full kitchen, bar, billiards table - Conference room that is WiFi ready - Business Center - Industrial Washer\/Dryers - Only steps from the D Line and short walk to the Longwood Medical area!\r\n\r\nCall NOW!!!",
|
208
|
+
"agent_name": "Bill Macgregor",
|
209
|
+
"agent_email": "bmacgregor@bradvisors.com",
|
210
|
+
"agent_phone": "617-850-9663",
|
211
|
+
"featured": 1,
|
212
|
+
"address": "20 Chapel St, Unit 405",
|
213
|
+
"street_number": 20,
|
214
|
+
"street": "Chapel St",
|
215
|
+
"unit_number": 405,
|
216
|
+
"cross_street": null,
|
217
|
+
"latitude": 42.341239,
|
218
|
+
"longitude": -71.111074,
|
219
|
+
"neighborhoods": [
|
220
|
+
"Boston",
|
221
|
+
"Brookline",
|
222
|
+
"Longwood"
|
223
|
+
],
|
224
|
+
"floor_number": 4,
|
225
|
+
"property_type": "Apartment Building",
|
226
|
+
"rent": 2375,
|
227
|
+
"fee": 0,
|
228
|
+
"bedrooms": 1,
|
229
|
+
"bathrooms": 1,
|
230
|
+
"square_footage": null,
|
231
|
+
"features": [
|
232
|
+
"Central Air Conditioning",
|
233
|
+
"Central heat",
|
234
|
+
"Concierge",
|
235
|
+
"Dishwasher",
|
236
|
+
"Disposal",
|
237
|
+
"Doorman",
|
238
|
+
"Granite countertops",
|
239
|
+
"Hardwood floors",
|
240
|
+
"Media room or clubhouse",
|
241
|
+
"Modern bathrooms",
|
242
|
+
"Refrigerator",
|
243
|
+
"Stainless steel appliances",
|
244
|
+
"Stove",
|
245
|
+
"Washer\/dryer in unit"
|
246
|
+
],
|
247
|
+
"rental_terms": [
|
248
|
+
"Heat Included",
|
249
|
+
"Hot Water Included",
|
250
|
+
"No Pets Accepted"
|
251
|
+
],
|
252
|
+
"date_available": "2010-08-30",
|
253
|
+
"last_updated": "2010-08-27 13:31:54",
|
254
|
+
"photos": [
|
255
|
+
{
|
256
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/24\/1769831.jpg",
|
257
|
+
"sort_order": 1,
|
258
|
+
"main_photo": false,
|
259
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/24\/1769833.jpg"
|
260
|
+
},
|
261
|
+
{
|
262
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581734.jpg",
|
263
|
+
"sort_order": 2,
|
264
|
+
"main_photo": true,
|
265
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581732.jpg"
|
266
|
+
},
|
267
|
+
{
|
268
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581752.jpg",
|
269
|
+
"sort_order": 3,
|
270
|
+
"main_photo": false,
|
271
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581762.jpg"
|
272
|
+
},
|
273
|
+
{
|
274
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581759.jpg",
|
275
|
+
"sort_order": 4,
|
276
|
+
"main_photo": false,
|
277
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581763.jpg"
|
278
|
+
},
|
279
|
+
{
|
280
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581717.jpg",
|
281
|
+
"sort_order": 5,
|
282
|
+
"main_photo": false,
|
283
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581711.jpg"
|
284
|
+
},
|
285
|
+
{
|
286
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581755.jpg",
|
287
|
+
"sort_order": 6,
|
288
|
+
"main_photo": false,
|
289
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581753.jpg"
|
290
|
+
},
|
291
|
+
{
|
292
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581709.jpg",
|
293
|
+
"sort_order": 7,
|
294
|
+
"main_photo": false,
|
295
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581714.jpg"
|
296
|
+
},
|
297
|
+
{
|
298
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581745.jpg",
|
299
|
+
"sort_order": 8,
|
300
|
+
"main_photo": false,
|
301
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/08\/03\/2581744.jpg"
|
302
|
+
}
|
303
|
+
],
|
304
|
+
"custom_fields": [
|
305
|
+
{
|
306
|
+
"name": "Virtual Tour",
|
307
|
+
"type": "text",
|
308
|
+
"value": null
|
309
|
+
}
|
310
|
+
],
|
311
|
+
"url": "http:\/\/app.rentjuice.com\/listings\/138990"
|
312
|
+
},
|
313
|
+
{
|
314
|
+
"rentjuice_id": 131534,
|
315
|
+
"title": "Elegance in Back Bay Proper - 2 PKG spaces - Grand Floor Through",
|
316
|
+
"description": "Distinctive Elegance in Back Bay Proper - Palatial Back Bay three bedroom\/three bath floor thru perfect for entertaining w\/ stunning river & city views. Exceptionally grand living room offering floor to ceiling windows, soaring ceilings, fireplace and ionic columns & millwork details throughout. Professional Stainless Steel\/ Granite Kitchen w\/ pass thru. Expansive Master suite with spacious walk in closet and marble bath w\/ glass enclosed shower. Private Balcony. Laundry in the unit. C A\/C & Two Direct Parking Spaces. Located within a meticulously maintained superintendent building with elevator and extra storage.",
|
317
|
+
"agent_name": "Kristy Ganong",
|
318
|
+
"agent_email": "kganong@bradvisors.com",
|
319
|
+
"agent_phone": "617-850-9604",
|
320
|
+
"featured": 1,
|
321
|
+
"address": "236 Beacon Street, Unit 3 B\/D",
|
322
|
+
"street_number": 236,
|
323
|
+
"street": "Beacon Street",
|
324
|
+
"unit_number": "3 B\/D",
|
325
|
+
"cross_street": "Dartmouth Street",
|
326
|
+
"latitude": null,
|
327
|
+
"longitude": null,
|
328
|
+
"neighborhoods": [
|
329
|
+
"Back Bay",
|
330
|
+
"Boston"
|
331
|
+
],
|
332
|
+
"floor_number": 3,
|
333
|
+
"property_type": "Brownstone",
|
334
|
+
"rent": 7950,
|
335
|
+
"fee": 1,
|
336
|
+
"bedrooms": 3,
|
337
|
+
"bathrooms": 3,
|
338
|
+
"square_footage": 2000,
|
339
|
+
"features": [
|
340
|
+
"Air Conditioning",
|
341
|
+
"Decorative fireplace",
|
342
|
+
"Dining room",
|
343
|
+
"Dishwasher",
|
344
|
+
"Disposal",
|
345
|
+
"Elevator",
|
346
|
+
"Fully furnished",
|
347
|
+
"Granite countertops",
|
348
|
+
"Hardwood floors",
|
349
|
+
"Laundry in building",
|
350
|
+
"Laundry in unit",
|
351
|
+
"Modern bathrooms",
|
352
|
+
"Patio or deck",
|
353
|
+
"Refrigerator",
|
354
|
+
"Stainless steel appliances",
|
355
|
+
"Storage unit",
|
356
|
+
"Stove",
|
357
|
+
"Updated\/renovated kitchen",
|
358
|
+
"Walk In Closet",
|
359
|
+
"Washer\/dryer in unit"
|
360
|
+
],
|
361
|
+
"rental_terms": [
|
362
|
+
"First Month's Rent Required",
|
363
|
+
"Heat Included",
|
364
|
+
"Hot Water Included",
|
365
|
+
"Last Month's Rent Required",
|
366
|
+
"Security Deposit Required"
|
367
|
+
],
|
368
|
+
"date_available": "2010-09-01",
|
369
|
+
"last_updated": "2010-07-22 15:39:57",
|
370
|
+
"photos": [
|
371
|
+
{
|
372
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559049.jpg",
|
373
|
+
"sort_order": 1,
|
374
|
+
"main_photo": true,
|
375
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559082.jpg"
|
376
|
+
},
|
377
|
+
{
|
378
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559051.jpg",
|
379
|
+
"sort_order": 2,
|
380
|
+
"main_photo": false,
|
381
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559077.jpg"
|
382
|
+
},
|
383
|
+
{
|
384
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559053.jpg",
|
385
|
+
"sort_order": 3,
|
386
|
+
"main_photo": false,
|
387
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559075.jpg"
|
388
|
+
},
|
389
|
+
{
|
390
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559056.jpg",
|
391
|
+
"sort_order": 4,
|
392
|
+
"main_photo": false,
|
393
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559069.jpg"
|
394
|
+
},
|
395
|
+
{
|
396
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559058.jpg",
|
397
|
+
"sort_order": 5,
|
398
|
+
"main_photo": false,
|
399
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559048.jpg"
|
400
|
+
},
|
401
|
+
{
|
402
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559059.jpg",
|
403
|
+
"sort_order": 6,
|
404
|
+
"main_photo": false,
|
405
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559065.jpg"
|
406
|
+
},
|
407
|
+
{
|
408
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559064.jpg",
|
409
|
+
"sort_order": 7,
|
410
|
+
"main_photo": false,
|
411
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559063.jpg"
|
412
|
+
},
|
413
|
+
{
|
414
|
+
"thumbnail": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559055.jpg",
|
415
|
+
"sort_order": 8,
|
416
|
+
"main_photo": false,
|
417
|
+
"fullsize": "http:\/\/static.rentjuice.com\/frames\/2010\/06\/11\/1559052.jpg"
|
418
|
+
}
|
419
|
+
],
|
420
|
+
"custom_fields": [
|
421
|
+
{
|
422
|
+
"name": "Virtual Tour",
|
423
|
+
"type": "text",
|
424
|
+
"value": null
|
425
|
+
}
|
426
|
+
],
|
427
|
+
"url": "http:\/\/app.rentjuice.com\/listings\/131534"
|
428
|
+
}
|
429
|
+
],
|
430
|
+
"runtime": 0.82805
|
431
|
+
}
|