rentjuicer 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/.document +5 -0
  2. data/.gitignore +22 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +17 -0
  5. data/Rakefile +50 -0
  6. data/VERSION +1 -0
  7. data/lib/rentjuicer/client.rb +15 -0
  8. data/lib/rentjuicer/error.rb +17 -0
  9. data/lib/rentjuicer/lead.rb +21 -0
  10. data/lib/rentjuicer/listing.rb +57 -0
  11. data/lib/rentjuicer/listings.rb +86 -0
  12. data/lib/rentjuicer/neighborhoods.rb +16 -0
  13. data/lib/rentjuicer/response.rb +35 -0
  14. data/lib/rentjuicer.rb +13 -0
  15. data/spec/rentjuicer/client_spec.rb +17 -0
  16. data/spec/rentjuicer/error_spec.rb +17 -0
  17. data/spec/rentjuicer/lead_spec.rb +55 -0
  18. data/spec/rentjuicer/listing_spec.rb +97 -0
  19. data/spec/rentjuicer/listings_spec.rb +124 -0
  20. data/spec/rentjuicer/neighborhoods_spec.rb +30 -0
  21. data/spec/rentjuicer/response_spec.rb +51 -0
  22. data/spec/rentjuicer_api_key.yml.example +1 -0
  23. data/spec/responses/error.json +6 -0
  24. data/spec/responses/featured.json +431 -0
  25. data/spec/responses/find_all_1.json +1211 -0
  26. data/spec/responses/find_all_2.json +1294 -0
  27. data/spec/responses/find_all_3.json +808 -0
  28. data/spec/responses/find_all_by_ids.json +1249 -0
  29. data/spec/responses/find_all_by_ids_2.json +186 -0
  30. data/spec/responses/find_by_id.json +128 -0
  31. data/spec/responses/lead.json +8 -0
  32. data/spec/responses/lead_error.json +6 -0
  33. data/spec/responses/listings.json +1301 -0
  34. data/spec/responses/neighborhoods.json +227 -0
  35. data/spec/spec.opts +1 -0
  36. data/spec/spec_helper.rb +12 -0
  37. data/spec/support/listing_helper.rb +126 -0
  38. data/spec/support/webmock_helper.rb +24 -0
  39. 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,6 @@
1
+ {
2
+ "status": "error",
3
+ "code": 1,
4
+ "message": "Invalid API key.",
5
+ "runtime": 0.60003
6
+ }
@@ -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
+ }