foursquare2 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.0
1
+ 1.8.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "foursquare2"
8
- s.version = "1.7.0"
8
+ s.version = "1.8.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Matt Mueller", "Marco Moura"]
12
- s.date = "2012-07-08"
12
+ s.date = "2012-07-22"
13
13
  s.description = "Gives access to all endpoints in version 2 of foursquare's API with syntax that will be familiar to those who used the original foursquare gem by Jeremy Welch."
14
14
  s.email = ["muellermr@gmail.com", "email@marcomoura.com"]
15
15
  s.extra_rdoc_files = [
@@ -29,6 +29,7 @@ Gem::Specification.new do |s|
29
29
  "lib/foursquare2/campaigns.rb",
30
30
  "lib/foursquare2/checkins.rb",
31
31
  "lib/foursquare2/client.rb",
32
+ "lib/foursquare2/lists.rb",
32
33
  "lib/foursquare2/pages.rb",
33
34
  "lib/foursquare2/photos.rb",
34
35
  "lib/foursquare2/settings.rb",
@@ -42,6 +43,12 @@ Gem::Specification.new do |s|
42
43
  "test/fixtures/error.json",
43
44
  "test/fixtures/explore_venues.json",
44
45
  "test/fixtures/friend_checkins.json",
46
+ "test/fixtures/list.json",
47
+ "test/fixtures/list_created.json",
48
+ "test/fixtures/list_followed.json",
49
+ "test/fixtures/list_item.json",
50
+ "test/fixtures/list_moved_item.json",
51
+ "test/fixtures/list_updated.json",
45
52
  "test/fixtures/managed_venues.json",
46
53
  "test/fixtures/no_venues_by_tip.json",
47
54
  "test/fixtures/page.json",
@@ -58,6 +65,7 @@ Gem::Specification.new do |s|
58
65
  "test/fixtures/suggest_completion_venues.json",
59
66
  "test/fixtures/tip.json",
60
67
  "test/fixtures/user.json",
68
+ "test/fixtures/user_lists.json",
61
69
  "test/fixtures/user_mayorships.json",
62
70
  "test/fixtures/user_tips.json",
63
71
  "test/fixtures/user_tips_empty.json",
@@ -70,6 +78,7 @@ Gem::Specification.new do |s|
70
78
  "test/test_campaigns.rb",
71
79
  "test/test_checkins.rb",
72
80
  "test/test_client.rb",
81
+ "test/test_lists.rb",
73
82
  "test/test_pages.rb",
74
83
  "test/test_photos.rb",
75
84
  "test/test_specials.rb",
@@ -9,7 +9,7 @@ module Foursquare2
9
9
  def filter tips, term
10
10
  tip = []
11
11
  unless tips.nil?
12
- tips.items.each do |check_tip|
12
+ tips.items.each do |check_tip|
13
13
  tip << check_tip if check_tip.text.downcase.include? term.downcase
14
14
  end
15
15
  end
@@ -27,9 +27,10 @@ module Foursquare2
27
27
  require 'foursquare2/checkins'
28
28
  require 'foursquare2/venues'
29
29
  require 'foursquare2/pages'
30
+ require 'foursquare2/lists'
30
31
  require 'foursquare2/client'
31
32
  require 'foursquare2/api_error'
32
-
33
+
33
34
 
34
35
  end
35
36
 
@@ -20,6 +20,7 @@ module Foursquare2
20
20
  include Users
21
21
  include Pages
22
22
  include Campaigns
23
+ include Lists
23
24
 
24
25
  attr_reader :client_id, :client_secret, :oauth_token, :api_version
25
26
 
@@ -0,0 +1,113 @@
1
+ module Foursquare2
2
+ module Lists
3
+
4
+ # Retrieve information about a list.
5
+ #
6
+ # @param [String] list_id - The id of the list to retrieve.
7
+ # @param [Hash] options
8
+ # @option options Integer :limit - Number of results to return, up to 200.
9
+ # @option options Integer :offset - The number of results to skip. Used to page through results.
10
+
11
+ def list(list_id, options={})
12
+ response = connection.get do |req|
13
+ req.url "lists/#{list_id}", options
14
+ end
15
+ return_error_or_body(response, response.body.response.list)
16
+ end
17
+
18
+ # Add a list: See https://developer.foursquare.com/docs/lists/add
19
+ #
20
+ # @param [Hash] options
21
+ # @option options String :name - (required) The name of the list
22
+ # @option options String :description - The description of the list.
23
+ # @option options Boolean :collaborative - Boolean indicating if this list can be edited by friends.
24
+ # @option options String :photoId - The id of a photo that should be set as the list photo.
25
+
26
+ def add_list(options={})
27
+ response = connection.post do |req|
28
+ req.url "lists/add", options
29
+ end
30
+ return_error_or_body(response, response.body.response.list)
31
+ end
32
+
33
+ # Follow a list: https://developer.foursquare.com/docs/lists/follow
34
+ #
35
+ # @param [String] list_id - The id of the list to follow.
36
+
37
+ def follow_list(list_id)
38
+ response = connection.post "lists/#{list_id}/follow"
39
+ return_error_or_body(response, response.body.response.list)
40
+ end
41
+
42
+ # Unfollow a list: https://developer.foursquare.com/docs/lists/unfollow
43
+ #
44
+ # @param [String] list_id - The id of the list to unfollow.
45
+
46
+ def unfollow_list(list_id)
47
+ response = connection.post "lists/#{list_id}/unfollow"
48
+ return_error_or_body(response, response.body.response.list)
49
+ end
50
+
51
+ # Update a list: https://developer.foursquare.com/docs/lists/update
52
+ #
53
+ # @param [String] list_id - The id of the list to update
54
+ # @param [Hash] options
55
+ # @option options String :name - The name of the list
56
+ # @option options String :description - The description of the list.
57
+ # @option options Boolean :collaborative - Boolean indicating if this list can be edited by friends.
58
+ # @option options String :photoId - The id of a photo that should be set as the list photo.
59
+
60
+ def update_list(list_id, options={})
61
+ response = connection.post do |req|
62
+ req.url "lists/#{list_id}/update", options
63
+ end
64
+ return_error_or_body(response, response.body.response.list)
65
+ end
66
+
67
+ # Add an item to a list: https://developer.foursquare.com/docs/lists/additem
68
+ #
69
+ # @param [String] list_id - The id of the list to update
70
+ # @param [Hash] options (all optional)
71
+ # @option options String :venueId - A venue to add to the list.
72
+ # @option options String :text - text to add to item
73
+ # @option options String :url - associate a url with the tip
74
+ # @option options String :tipId - Used to add a tip to a list
75
+ # @option options String :listId - Used with itemId to copy item from a list
76
+ # @option options String :itemId - Used with listId to copy item from a list
77
+
78
+ def add_list_item(list_id, options={})
79
+ response = connection.post do |req|
80
+ req.url "lists/#{list_id}/additem", options
81
+ end
82
+ return_error_or_body(response, response.body.response.item)
83
+ end
84
+
85
+ # Delete an item from a list: https://developer.foursquare.com/docs/lists/deleteitem
86
+ #
87
+ # @param [String] list_id - The id of the list to delete item from
88
+ # @param [String] item_id = The id of the item to delete from list
89
+
90
+ def delete_list_item(list_id, item_id)
91
+ response = connection.post do |req|
92
+ req.url "lists/#{list_id}/deleteitem", :itemId => item_id
93
+ end
94
+ return_error_or_body(response, response.body.response.item)
95
+ end
96
+
97
+ # Move an item on a list: https://developer.foursquare.com/docs/lists/moveitem
98
+ #
99
+ # @param [String] list_id - The id of the list on which the item is moved
100
+ # @param [String] item_id = The id of the item to move
101
+ # @param [Hash] options
102
+ # @option options String :beforeId - (optional) move itemId before beforeId
103
+ # @option options String :afterId - (optional) move itemId after afterId
104
+
105
+ def move_list_item(list_id, item_id, options={})
106
+ response = connection.post do |req|
107
+ req.url "lists/#{list_id}/moveitem", {:itemId => item_id}.merge(options)
108
+ end
109
+ return_error_or_body(response, response.body.response.list)
110
+ end
111
+
112
+ end
113
+ end
@@ -154,6 +154,20 @@ module Foursquare2
154
154
  return_error_or_body(response, response.body.response.mayorships)
155
155
  end
156
156
 
157
+ # Get the lists for a given user.
158
+ #
159
+ # @param [String] user_id - The user to retrieve lists for.
160
+ # @param [Hash] options
161
+ # @option options String :group - One of: created, edited, followed, friends, or suggestions
162
+ # @option options String :ll - Location of the user, required in order to receive the suggested group.
163
+
164
+ def user_lists(user_id, options={})
165
+ response = connection.get do |req|
166
+ req.url "users/#{user_id}/lists", options
167
+ end
168
+ return_error_or_body(response, response.body.response.lists)
169
+ end
170
+
157
171
  # Request friendship with a user
158
172
  #
159
173
  # @param [String] user_id - The user to request friendship with.
@@ -163,7 +177,7 @@ module Foursquare2
163
177
  req.url "users/#{user_id}/request"
164
178
  end
165
179
  return_error_or_body(response, response.body.response)
166
- end
180
+ end
167
181
 
168
182
  # Unfriend a user
169
183
  #
@@ -174,7 +188,7 @@ module Foursquare2
174
188
  req.url "users/#{user_id}/unfriend"
175
189
  end
176
190
  return_error_or_body(response, response.body.response)
177
- end
191
+ end
178
192
 
179
193
  # Approve friendship with a user.
180
194
  #
@@ -185,7 +199,7 @@ module Foursquare2
185
199
  req.url "users/#{user_id}/approve"
186
200
  end
187
201
  return_error_or_body(response, response.body.response)
188
- end
202
+ end
189
203
 
190
204
  # Deny friendship with a user.
191
205
  #
@@ -196,7 +210,7 @@ module Foursquare2
196
210
  req.url "users/#{user_id}/deny"
197
211
  end
198
212
  return_error_or_body(response, response.body.response)
199
- end
213
+ end
200
214
 
201
215
  # Set pings for a friend
202
216
  #
@@ -208,7 +222,7 @@ module Foursquare2
208
222
  req.url "users/#{user_id}/setpings", value
209
223
  end
210
224
  return_error_or_body(response, response.body.response)
211
- end
225
+ end
212
226
 
213
227
  end
214
228
  end
@@ -0,0 +1,1379 @@
1
+ {
2
+ "meta": {
3
+ "code": 200
4
+ },
5
+ "notifications": [
6
+ {
7
+ "type": "notificationTray",
8
+ "item": {
9
+ "unreadCount": 0
10
+ }
11
+ }
12
+ ],
13
+ "response": {
14
+ "list": {
15
+ "id": "4f230d90e4b0b653a21ffd0d",
16
+ "name": "Restaurants to Try",
17
+ "description": "There's too many in this city... gotta start keeping track of which one's I keep hearing about!",
18
+ "type": "others",
19
+ "user": {
20
+ "id": "302686",
21
+ "firstName": "Jesse",
22
+ "lastName": "L.",
23
+ "photo": "https://is1.4sqi.net/userpix_thumbs/JMTL2G51KI3G1TBV.jpg",
24
+ "tips": {
25
+ "count": 20
26
+ },
27
+ "lists": {
28
+ "groups": [
29
+ {
30
+ "type": "created",
31
+ "count": 4,
32
+ "items": []
33
+ }
34
+ ]
35
+ },
36
+ "gender": "male",
37
+ "homeCity": "New York, NY",
38
+ "bio": "",
39
+ "contact": {
40
+ "twitter": "jesselash",
41
+ "facebook": "584575551"
42
+ }
43
+ },
44
+ "editable": false,
45
+ "public": true,
46
+ "collaborative": false,
47
+ "url": "https://foursquare.com/jesselash/list/restaurants-to-try",
48
+ "canonicalUrl": "https://foursquare.com/jesselash/list/restaurants-to-try",
49
+ "createdAt": 1327697296,
50
+ "updatedAt": 1337967732,
51
+ "photo": {
52
+ "id": "4e750212ae60c32850f06009",
53
+ "createdAt": 1316291090,
54
+ "url": "https://is0.4sqi.net/pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0.jpg",
55
+ "sizes": {
56
+ "count": 4,
57
+ "items": [
58
+ {
59
+ "url": "https://is0.4sqi.net/pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0.jpg",
60
+ "width": 537,
61
+ "height": 720
62
+ },
63
+ {
64
+ "url": "https://is1.4sqi.net/derived_pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0_300x300.jpg",
65
+ "width": 300,
66
+ "height": 300
67
+ },
68
+ {
69
+ "url": "https://is1.4sqi.net/derived_pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0_100x100.jpg",
70
+ "width": 100,
71
+ "height": 100
72
+ },
73
+ {
74
+ "url": "https://is1.4sqi.net/derived_pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0_36x36.jpg",
75
+ "width": 36,
76
+ "height": 36
77
+ }
78
+ ]
79
+ },
80
+ "user": {
81
+ "id": "25309",
82
+ "firstName": "Guillo",
83
+ "lastName": "..",
84
+ "photo": "https://is0.4sqi.net/userpix_thumbs/EQMPM5XDGCQYNFAL.jpg",
85
+ "tips": {
86
+ "count": 42
87
+ },
88
+ "lists": {
89
+ "groups": [
90
+ {
91
+ "type": "created",
92
+ "count": 4,
93
+ "items": []
94
+ }
95
+ ]
96
+ },
97
+ "gender": "male",
98
+ "homeCity": "Brooklyn, NY",
99
+ "bio": "",
100
+ "contact": {}
101
+ },
102
+ "visibility": "public"
103
+ },
104
+ "doneCount": 0,
105
+ "visitedCount": 0,
106
+ "venueCount": 8,
107
+ "categories": {
108
+ "count": 8,
109
+ "items": [
110
+ {
111
+ "category": {
112
+ "id": "4bf58dd8d48988d1c1941735",
113
+ "name": "Mexican Restaurant",
114
+ "pluralName": "Mexican Restaurants",
115
+ "shortName": "Mexican",
116
+ "icon": {
117
+ "prefix": "https://foursquare.com/img/categories/food/mexican_",
118
+ "sizes": [
119
+ 32,
120
+ 44,
121
+ 64,
122
+ 88,
123
+ 256
124
+ ],
125
+ "name": ".png"
126
+ }
127
+ },
128
+ "count": 1
129
+ },
130
+ {
131
+ "category": {
132
+ "id": "4bf58dd8d48988d10f941735",
133
+ "name": "Indian Restaurant",
134
+ "pluralName": "Indian Restaurants",
135
+ "shortName": "Indian",
136
+ "icon": {
137
+ "prefix": "https://foursquare.com/img/categories/food/indian_",
138
+ "sizes": [
139
+ 32,
140
+ 44,
141
+ 64,
142
+ 88,
143
+ 256
144
+ ],
145
+ "name": ".png"
146
+ }
147
+ },
148
+ "count": 1
149
+ },
150
+ {
151
+ "category": {
152
+ "id": "4bf58dd8d48988d107941735",
153
+ "name": "Argentinian Restaurant",
154
+ "pluralName": "Argentinian Restaurants",
155
+ "shortName": "Argentinian",
156
+ "icon": {
157
+ "prefix": "https://foursquare.com/img/categories/food/argentinian_",
158
+ "sizes": [
159
+ 32,
160
+ 44,
161
+ 64,
162
+ 88,
163
+ 256
164
+ ],
165
+ "name": ".png"
166
+ }
167
+ },
168
+ "count": 1
169
+ },
170
+ {
171
+ "category": {
172
+ "id": "4bf58dd8d48988d1cd941735",
173
+ "name": "South American Restaurant",
174
+ "pluralName": "South American Restaurants",
175
+ "shortName": "South American",
176
+ "icon": {
177
+ "prefix": "https://foursquare.com/img/categories/food/southamerican_",
178
+ "sizes": [
179
+ 32,
180
+ 44,
181
+ 64,
182
+ 88,
183
+ 256
184
+ ],
185
+ "name": ".png"
186
+ }
187
+ },
188
+ "count": 1
189
+ },
190
+ {
191
+ "category": {
192
+ "id": "4bf58dd8d48988d151941735",
193
+ "name": "Taco Place",
194
+ "pluralName": "Taco Places",
195
+ "shortName": "Tacos",
196
+ "icon": {
197
+ "prefix": "https://foursquare.com/img/categories/food/tacos_",
198
+ "sizes": [
199
+ 32,
200
+ 44,
201
+ 64,
202
+ 88,
203
+ 256
204
+ ],
205
+ "name": ".png"
206
+ }
207
+ },
208
+ "count": 1
209
+ },
210
+ {
211
+ "category": {
212
+ "id": "4bf58dd8d48988d1be941735",
213
+ "name": "Latin American Restaurant",
214
+ "pluralName": "Latin American Restaurants",
215
+ "shortName": "Latin American",
216
+ "icon": {
217
+ "prefix": "https://foursquare.com/img/categories/food/default_",
218
+ "sizes": [
219
+ 32,
220
+ 44,
221
+ 64,
222
+ 88,
223
+ 256
224
+ ],
225
+ "name": ".png"
226
+ }
227
+ },
228
+ "count": 1
229
+ },
230
+ {
231
+ "category": {
232
+ "id": "4bf58dd8d48988d123941735",
233
+ "name": "Wine Bar",
234
+ "pluralName": "Wine Bars",
235
+ "shortName": "Wine Bar",
236
+ "icon": {
237
+ "prefix": "https://foursquare.com/img/categories/nightlife/wine_",
238
+ "sizes": [
239
+ 32,
240
+ 44,
241
+ 64,
242
+ 88,
243
+ 256
244
+ ],
245
+ "name": ".png"
246
+ }
247
+ },
248
+ "count": 1
249
+ },
250
+ {
251
+ "category": {
252
+ "id": "4bf58dd8d48988d109941735",
253
+ "name": "Eastern European Restaurant",
254
+ "pluralName": "Eastern European Restaurants",
255
+ "shortName": "Eastern European",
256
+ "icon": {
257
+ "prefix": "https://foursquare.com/img/categories/food/default_",
258
+ "sizes": [
259
+ 32,
260
+ 44,
261
+ 64,
262
+ 88,
263
+ 256
264
+ ],
265
+ "name": ".png"
266
+ }
267
+ },
268
+ "count": 1
269
+ }
270
+ ]
271
+ },
272
+ "following": false,
273
+ "followers": {
274
+ "count": 1
275
+ },
276
+ "collaborators": {
277
+ "count": 0,
278
+ "items": []
279
+ },
280
+ "listItems": {
281
+ "count": 8,
282
+ "items": [
283
+ {
284
+ "id": "v4a01c477f964a520f9701fe3",
285
+ "createdAt": 1327697309,
286
+ "todo": false,
287
+ "done": false,
288
+ "visitedCount": 0,
289
+ "venue": {
290
+ "id": "4a01c477f964a520f9701fe3",
291
+ "name": "El Almacen",
292
+ "contact": {
293
+ "phone": "7182187284",
294
+ "formattedPhone": "(718) 218-7284"
295
+ },
296
+ "location": {
297
+ "address": "557 Driggs Ave",
298
+ "crossStreet": "btw 6th and 7th",
299
+ "lat": 40.71686922,
300
+ "lng": -73.956499,
301
+ "postalCode": "11211",
302
+ "city": "Brooklyn",
303
+ "state": "NY",
304
+ "country": "United States",
305
+ "cc": "US"
306
+ },
307
+ "categories": [
308
+ {
309
+ "id": "4bf58dd8d48988d107941735",
310
+ "name": "Argentinian Restaurant",
311
+ "pluralName": "Argentinian Restaurants",
312
+ "shortName": "Argentinian",
313
+ "icon": {
314
+ "prefix": "https://foursquare.com/img/categories/food/argentinian_",
315
+ "sizes": [
316
+ 32,
317
+ 44,
318
+ 64,
319
+ 88,
320
+ 256
321
+ ],
322
+ "name": ".png"
323
+ },
324
+ "primary": true
325
+ }
326
+ ],
327
+ "verified": false,
328
+ "stats": {
329
+ "checkinsCount": 2490,
330
+ "usersCount": 1618,
331
+ "tipCount": 70
332
+ },
333
+ "likes": {
334
+ "count": 3,
335
+ "groups": [
336
+ {
337
+ "type": "others",
338
+ "count": 3,
339
+ "items": [
340
+ {
341
+ "id": "227554",
342
+ "firstName": "Aya",
343
+ "lastName": "R.",
344
+ "photo": "https://is0.4sqi.net/userpix_thumbs/GTHGNQO1LSHTA5VJ.jpg",
345
+ "tips": {
346
+ "count": 35
347
+ },
348
+ "gender": "female",
349
+ "homeCity": "Brooklyn, New York",
350
+ "bio": "",
351
+ "contact": {
352
+ "twitter": "ayarosen",
353
+ "facebook": "706145619"
354
+ }
355
+ },
356
+ {
357
+ "id": "227465",
358
+ "firstName": "Ned",
359
+ "lastName": "R.",
360
+ "photo": "https://is0.4sqi.net/userpix_thumbs/RZERQRTUEPCQHOLS.jpg",
361
+ "tips": {
362
+ "count": 5
363
+ },
364
+ "gender": "male",
365
+ "homeCity": "New York, NY",
366
+ "bio": "",
367
+ "contact": {
368
+ "twitter": "nedrosen",
369
+ "facebook": "623193271"
370
+ }
371
+ },
372
+ {
373
+ "id": "1425521",
374
+ "firstName": "Roberta",
375
+ "lastName": "C.",
376
+ "photo": "https://is1.4sqi.net/userpix_thumbs/2GTFVEXVNGHKX4RQ.jpg",
377
+ "tips": {
378
+ "count": 21
379
+ },
380
+ "gender": "female",
381
+ "homeCity": "Milano",
382
+ "bio": "",
383
+ "contact": {
384
+ "twitter": "robertacerri",
385
+ "facebook": "522855858"
386
+ }
387
+ }
388
+ ]
389
+ }
390
+ ],
391
+ "summary": "Aya R, Ned R & Roberta C"
392
+ },
393
+ "like": false,
394
+ "menu": {
395
+ "type": "foodAndBeverage",
396
+ "url": "https://foursquare.com/v/el-almacen/4a01c477f964a520f9701fe3/menu",
397
+ "mobileUrl": "https://foursquare.com/v/4a01c477f964a520f9701fe3/device_menu"
398
+ },
399
+ "beenHere": {
400
+ "count": 0,
401
+ "marked": false
402
+ },
403
+ "specials": {
404
+ "count": 0,
405
+ "items": []
406
+ }
407
+ },
408
+ "listed": {
409
+ "count": 0,
410
+ "items": []
411
+ }
412
+ },
413
+ {
414
+ "id": "v4d127ee92e5837042675e4d1",
415
+ "createdAt": 1327697316,
416
+ "todo": false,
417
+ "done": false,
418
+ "visitedCount": 0,
419
+ "venue": {
420
+ "id": "4d127ee92e5837042675e4d1",
421
+ "name": "Mesa Azteca",
422
+ "contact": {},
423
+ "location": {
424
+ "address": "91 Wyckoff Ave",
425
+ "crossStreet": "btwn Suydam St & Hart St",
426
+ "lat": 40.70521114127741,
427
+ "lng": -73.92014043499093,
428
+ "postalCode": "11237",
429
+ "city": "Brooklyn",
430
+ "state": "New York",
431
+ "country": "United States",
432
+ "cc": "US"
433
+ },
434
+ "categories": [
435
+ {
436
+ "id": "4bf58dd8d48988d1c1941735",
437
+ "name": "Mexican Restaurant",
438
+ "pluralName": "Mexican Restaurants",
439
+ "shortName": "Mexican",
440
+ "icon": {
441
+ "prefix": "https://foursquare.com/img/categories/food/mexican_",
442
+ "sizes": [
443
+ 32,
444
+ 44,
445
+ 64,
446
+ 88,
447
+ 256
448
+ ],
449
+ "name": ".png"
450
+ },
451
+ "primary": true
452
+ }
453
+ ],
454
+ "verified": false,
455
+ "stats": {
456
+ "checkinsCount": 419,
457
+ "usersCount": 239,
458
+ "tipCount": 12
459
+ },
460
+ "likes": {
461
+ "count": 2,
462
+ "groups": [
463
+ {
464
+ "type": "others",
465
+ "count": 2,
466
+ "items": [
467
+ {
468
+ "id": "8681466",
469
+ "firstName": "Jacqueline",
470
+ "lastName": "V.",
471
+ "photo": "https://is0.4sqi.net/userpix_thumbs/TQSM51QJRVNDBQJU.jpg",
472
+ "tips": {
473
+ "count": 82
474
+ },
475
+ "lists": {
476
+ "groups": [
477
+ {
478
+ "type": "created",
479
+ "count": 1,
480
+ "items": []
481
+ }
482
+ ]
483
+ },
484
+ "gender": "female",
485
+ "homeCity": "Brooklyn, NY",
486
+ "bio": "",
487
+ "contact": {
488
+ "twitter": "jrvandusen",
489
+ "facebook": "17403465"
490
+ }
491
+ },
492
+ {
493
+ "id": "30255497",
494
+ "firstName": "Bobby",
495
+ "lastName": "K.",
496
+ "photo": "https://is0.4sqi.net/userpix_thumbs/QPIKDQWSKF11JS1M.jpg",
497
+ "tips": {
498
+ "count": 0
499
+ },
500
+ "lists": {
501
+ "groups": [
502
+ {
503
+ "type": "created",
504
+ "count": 1,
505
+ "items": []
506
+ }
507
+ ]
508
+ },
509
+ "gender": "male",
510
+ "homeCity": "New York, NY",
511
+ "bio": "",
512
+ "contact": {
513
+ "facebook": "726925503"
514
+ }
515
+ }
516
+ ]
517
+ }
518
+ ],
519
+ "summary": "Jacqueline V & Bobby K"
520
+ },
521
+ "like": false,
522
+ "beenHere": {
523
+ "count": 0,
524
+ "marked": false
525
+ },
526
+ "specials": {
527
+ "count": 0,
528
+ "items": []
529
+ }
530
+ },
531
+ "listed": {
532
+ "count": 0,
533
+ "items": []
534
+ }
535
+ },
536
+ {
537
+ "id": "v4b525a4ef964a520d17827e3",
538
+ "createdAt": 1327697327,
539
+ "todo": false,
540
+ "done": false,
541
+ "visitedCount": 0,
542
+ "venue": {
543
+ "id": "4b525a4ef964a520d17827e3",
544
+ "name": "Tabar?",
545
+ "contact": {
546
+ "phone": "3473350187",
547
+ "formattedPhone": "(347) 335-0187"
548
+ },
549
+ "location": {
550
+ "address": "221 S 1st St",
551
+ "crossStreet": "btw Driggs & Roebling",
552
+ "lat": 40.713051,
553
+ "lng": -73.959039,
554
+ "postalCode": "11211",
555
+ "city": "Brooklyn",
556
+ "state": "NY",
557
+ "country": "United States",
558
+ "cc": "US"
559
+ },
560
+ "categories": [
561
+ {
562
+ "id": "4bf58dd8d48988d1cd941735",
563
+ "name": "South American Restaurant",
564
+ "pluralName": "South American Restaurants",
565
+ "shortName": "South American",
566
+ "icon": {
567
+ "prefix": "https://foursquare.com/img/categories/food/southamerican_",
568
+ "sizes": [
569
+ 32,
570
+ 44,
571
+ 64,
572
+ 88,
573
+ 256
574
+ ],
575
+ "name": ".png"
576
+ },
577
+ "primary": true
578
+ }
579
+ ],
580
+ "verified": true,
581
+ "stats": {
582
+ "checkinsCount": 1162,
583
+ "usersCount": 901,
584
+ "tipCount": 29
585
+ },
586
+ "url": "http://www.tabarenyc.com",
587
+ "likes": {
588
+ "count": 1,
589
+ "groups": [
590
+ {
591
+ "type": "others",
592
+ "count": 1,
593
+ "items": [
594
+ {
595
+ "id": "2621492",
596
+ "firstName": "Jordan",
597
+ "lastName": "O.",
598
+ "photo": "https://is1.4sqi.net/userpix_thumbs/EJFTJWZBVDWFXES4.jpg",
599
+ "tips": {
600
+ "count": 5
601
+ },
602
+ "lists": {
603
+ "groups": [
604
+ {
605
+ "type": "created",
606
+ "count": 1,
607
+ "items": []
608
+ }
609
+ ]
610
+ },
611
+ "gender": "male",
612
+ "homeCity": "New York, NY",
613
+ "bio": "",
614
+ "contact": {
615
+ "twitter": "jordanorelli",
616
+ "facebook": "1804244"
617
+ }
618
+ }
619
+ ]
620
+ }
621
+ ],
622
+ "summary": "Jordan O"
623
+ },
624
+ "like": false,
625
+ "beenHere": {
626
+ "count": 0,
627
+ "marked": false
628
+ },
629
+ "specials": {
630
+ "count": 1,
631
+ "items": [
632
+ {
633
+ "id": "4f8c97b67716bda982fbfb33",
634
+ "type": "frequency",
635
+ "message": "complementary glass of wine or cocktail",
636
+ "imageUrls": {
637
+ "count": 0
638
+ },
639
+ "description": "Unlocked every 3 check-ins",
640
+ "finePrint": "Dine in only. Must be 21+. Must be redeemed with food purchase.",
641
+ "icon": "frequency",
642
+ "title": "Loyalty Special",
643
+ "provider": "foursquare",
644
+ "redemption": "standard",
645
+ "likes": {
646
+ "count": 0,
647
+ "groups": []
648
+ }
649
+ }
650
+ ]
651
+ }
652
+ },
653
+ "listed": {
654
+ "count": 0,
655
+ "items": []
656
+ }
657
+ },
658
+ {
659
+ "id": "v4ba19cb0f964a520c2c337e3",
660
+ "createdAt": 1329011647,
661
+ "todo": false,
662
+ "done": false,
663
+ "visitedCount": 0,
664
+ "venue": {
665
+ "id": "4ba19cb0f964a520c2c337e3",
666
+ "name": "The Bodega",
667
+ "contact": {
668
+ "twitter": "The_Bodega"
669
+ },
670
+ "location": {
671
+ "address": "24 St Nicholas Ave.",
672
+ "crossStreet": "at Troutman St.",
673
+ "lat": 40.70759614636528,
674
+ "lng": -73.92180919647217,
675
+ "postalCode": "11237",
676
+ "city": "Brooklyn",
677
+ "state": "NY",
678
+ "country": "United States",
679
+ "cc": "US"
680
+ },
681
+ "categories": [
682
+ {
683
+ "id": "4bf58dd8d48988d123941735",
684
+ "name": "Wine Bar",
685
+ "pluralName": "Wine Bars",
686
+ "shortName": "Wine Bar",
687
+ "icon": {
688
+ "prefix": "https://foursquare.com/img/categories/nightlife/wine_",
689
+ "sizes": [
690
+ 32,
691
+ 44,
692
+ 64,
693
+ 88,
694
+ 256
695
+ ],
696
+ "name": ".png"
697
+ },
698
+ "primary": true
699
+ }
700
+ ],
701
+ "verified": true,
702
+ "stats": {
703
+ "checkinsCount": 1961,
704
+ "usersCount": 644,
705
+ "tipCount": 22
706
+ },
707
+ "url": "http://thebodegabk.com",
708
+ "likes": {
709
+ "count": 1,
710
+ "groups": [
711
+ {
712
+ "type": "others",
713
+ "count": 1,
714
+ "items": [
715
+ {
716
+ "id": "8681466",
717
+ "firstName": "Jacqueline",
718
+ "lastName": "V.",
719
+ "photo": "https://is0.4sqi.net/userpix_thumbs/TQSM51QJRVNDBQJU.jpg",
720
+ "tips": {
721
+ "count": 82
722
+ },
723
+ "lists": {
724
+ "groups": [
725
+ {
726
+ "type": "created",
727
+ "count": 1,
728
+ "items": []
729
+ }
730
+ ]
731
+ },
732
+ "gender": "female",
733
+ "homeCity": "Brooklyn, NY",
734
+ "bio": "",
735
+ "contact": {
736
+ "twitter": "jrvandusen",
737
+ "facebook": "17403465"
738
+ }
739
+ }
740
+ ]
741
+ }
742
+ ],
743
+ "summary": "Jacqueline V"
744
+ },
745
+ "like": false,
746
+ "beenHere": {
747
+ "count": 0,
748
+ "marked": false
749
+ },
750
+ "specials": {
751
+ "count": 0,
752
+ "items": []
753
+ }
754
+ },
755
+ "listed": {
756
+ "count": 0,
757
+ "items": []
758
+ }
759
+ },
760
+ {
761
+ "id": "v4a453e4cf964a520f1a71fe3",
762
+ "createdAt": 1329276152,
763
+ "todo": false,
764
+ "done": false,
765
+ "visitedCount": 0,
766
+ "venue": {
767
+ "id": "4a453e4cf964a520f1a71fe3",
768
+ "name": "Empanada Mama",
769
+ "contact": {
770
+ "phone": "2126989008",
771
+ "formattedPhone": "(212) 698-9008"
772
+ },
773
+ "location": {
774
+ "address": "763 9th Ave.",
775
+ "crossStreet": "btwn 51st & 52nd St.",
776
+ "lat": 40.764217,
777
+ "lng": -73.988321,
778
+ "postalCode": "10019",
779
+ "city": "New York",
780
+ "state": "NY",
781
+ "country": "United States",
782
+ "cc": "US"
783
+ },
784
+ "categories": [
785
+ {
786
+ "id": "4bf58dd8d48988d1be941735",
787
+ "name": "Latin American Restaurant",
788
+ "pluralName": "Latin American Restaurants",
789
+ "shortName": "Latin American",
790
+ "icon": {
791
+ "prefix": "https://foursquare.com/img/categories/food/default_",
792
+ "sizes": [
793
+ 32,
794
+ 44,
795
+ 64,
796
+ 88,
797
+ 256
798
+ ],
799
+ "name": ".png"
800
+ },
801
+ "primary": true
802
+ }
803
+ ],
804
+ "verified": false,
805
+ "stats": {
806
+ "checkinsCount": 8711,
807
+ "usersCount": 4885,
808
+ "tipCount": 151
809
+ },
810
+ "url": "http://www.empmamanyc.com/",
811
+ "likes": {
812
+ "count": 12,
813
+ "groups": [
814
+ {
815
+ "type": "others",
816
+ "count": 12,
817
+ "items": []
818
+ }
819
+ ],
820
+ "summary": "12 likes"
821
+ },
822
+ "like": false,
823
+ "menu": {
824
+ "type": "foodAndBeverage",
825
+ "url": "https://foursquare.com/v/empanada-mama/4a453e4cf964a520f1a71fe3/menu",
826
+ "mobileUrl": "https://foursquare.com/v/4a453e4cf964a520f1a71fe3/device_menu"
827
+ },
828
+ "beenHere": {
829
+ "count": 0,
830
+ "marked": false
831
+ },
832
+ "specials": {
833
+ "count": 0,
834
+ "items": []
835
+ }
836
+ },
837
+ "listed": {
838
+ "count": 0,
839
+ "items": []
840
+ }
841
+ },
842
+ {
843
+ "id": "v4a916658f964a520151a20e3",
844
+ "createdAt": 1329356513,
845
+ "todo": false,
846
+ "done": false,
847
+ "visitedCount": 0,
848
+ "venue": {
849
+ "id": "4a916658f964a520151a20e3",
850
+ "name": "Karczma",
851
+ "contact": {
852
+ "phone": "7183491744",
853
+ "formattedPhone": "(718) 349-1744"
854
+ },
855
+ "location": {
856
+ "address": "136 Greenpoint Avenue",
857
+ "lat": 40.730149914529,
858
+ "lng": -73.95505413408203,
859
+ "postalCode": "11222",
860
+ "city": "Brooklyn",
861
+ "state": "NY",
862
+ "country": "United States",
863
+ "cc": "US"
864
+ },
865
+ "categories": [
866
+ {
867
+ "id": "4bf58dd8d48988d109941735",
868
+ "name": "Eastern European Restaurant",
869
+ "pluralName": "Eastern European Restaurants",
870
+ "shortName": "Eastern European",
871
+ "icon": {
872
+ "prefix": "https://foursquare.com/img/categories/food/default_",
873
+ "sizes": [
874
+ 32,
875
+ 44,
876
+ 64,
877
+ 88,
878
+ 256
879
+ ],
880
+ "name": ".png"
881
+ },
882
+ "primary": true
883
+ }
884
+ ],
885
+ "verified": false,
886
+ "stats": {
887
+ "checkinsCount": 1293,
888
+ "usersCount": 825,
889
+ "tipCount": 22
890
+ },
891
+ "url": "http://karczmabrooklyn.com/",
892
+ "likes": {
893
+ "count": 3,
894
+ "groups": [
895
+ {
896
+ "type": "others",
897
+ "count": 3,
898
+ "items": [
899
+ {
900
+ "id": "1530851",
901
+ "firstName": "Talisa",
902
+ "photo": "https://is1.4sqi.net/userpix_thumbs/NM0SQ0HNLTQBNQOS.png",
903
+ "tips": {
904
+ "count": 116
905
+ },
906
+ "lists": {
907
+ "groups": [
908
+ {
909
+ "type": "created",
910
+ "count": 11,
911
+ "items": []
912
+ }
913
+ ]
914
+ },
915
+ "gender": "female",
916
+ "homeCity": "Brooklyn, NY",
917
+ "bio": "Snack patrol.",
918
+ "contact": {
919
+ "twitter": "talisa"
920
+ }
921
+ },
922
+ {
923
+ "id": "30900565",
924
+ "firstName": "Dominic",
925
+ "photo": "https://is1.4sqi.net/userpix_thumbs/5F4PCE3S2E13S5LO.jpg",
926
+ "tips": {
927
+ "count": 1
928
+ },
929
+ "gender": "male",
930
+ "homeCity": "Brooklyn, NY",
931
+ "bio": "",
932
+ "contact": {
933
+ "twitter": "itsewonder",
934
+ "facebook": "656115325"
935
+ }
936
+ },
937
+ {
938
+ "id": "2031459",
939
+ "firstName": "Maria",
940
+ "lastName": "B.",
941
+ "photo": "https://is0.4sqi.net/userpix_thumbs/ICQKTPEDK3WSLUFH.jpg",
942
+ "tips": {
943
+ "count": 19
944
+ },
945
+ "gender": "female",
946
+ "homeCity": "Brooklyn, NY",
947
+ "bio": "",
948
+ "contact": {
949
+ "facebook": "594226696"
950
+ }
951
+ }
952
+ ]
953
+ }
954
+ ],
955
+ "summary": "Talisa, Dominic & Maria B"
956
+ },
957
+ "like": false,
958
+ "menu": {
959
+ "type": "foodAndBeverage",
960
+ "url": "https://foursquare.com/v/karczma/4a916658f964a520151a20e3/menu",
961
+ "mobileUrl": "https://foursquare.com/v/4a916658f964a520151a20e3/device_menu"
962
+ },
963
+ "beenHere": {
964
+ "count": 0,
965
+ "marked": false
966
+ },
967
+ "specials": {
968
+ "count": 0,
969
+ "items": []
970
+ }
971
+ },
972
+ "listed": {
973
+ "count": 0,
974
+ "items": []
975
+ }
976
+ },
977
+ {
978
+ "id": "v4bb93b70cf2fc9b6fe64a002",
979
+ "createdAt": 1330557642,
980
+ "todo": false,
981
+ "done": false,
982
+ "visitedCount": 0,
983
+ "venue": {
984
+ "id": "4bb93b70cf2fc9b6fe64a002",
985
+ "name": "Gandhi Fine Indian Cuisine",
986
+ "contact": {},
987
+ "location": {
988
+ "address": "2032 Bedford Ave",
989
+ "crossStreet": "Bet Clarkson Ave. and Parkside Ave.",
990
+ "lat": 40.65512031,
991
+ "lng": -73.9563952,
992
+ "city": "Brooklyn",
993
+ "state": "NY",
994
+ "country": "United States",
995
+ "cc": "US"
996
+ },
997
+ "categories": [
998
+ {
999
+ "id": "4bf58dd8d48988d10f941735",
1000
+ "name": "Indian Restaurant",
1001
+ "pluralName": "Indian Restaurants",
1002
+ "shortName": "Indian",
1003
+ "icon": {
1004
+ "prefix": "https://foursquare.com/img/categories/food/indian_",
1005
+ "sizes": [
1006
+ 32,
1007
+ 44,
1008
+ 64,
1009
+ 88,
1010
+ 256
1011
+ ],
1012
+ "name": ".png"
1013
+ },
1014
+ "primary": true
1015
+ }
1016
+ ],
1017
+ "verified": false,
1018
+ "stats": {
1019
+ "checkinsCount": 181,
1020
+ "usersCount": 104,
1021
+ "tipCount": 15
1022
+ },
1023
+ "likes": {
1024
+ "count": 2,
1025
+ "groups": [
1026
+ {
1027
+ "type": "others",
1028
+ "count": 2,
1029
+ "items": [
1030
+ {
1031
+ "id": "635287",
1032
+ "firstName": "Miha",
1033
+ "lastName": "R.",
1034
+ "photo": "https://is0.4sqi.net/userpix_thumbs/ORTXGMB0MGS3BADV.jpg",
1035
+ "tips": {
1036
+ "count": 20
1037
+ },
1038
+ "gender": "male",
1039
+ "homeCity": "New York City",
1040
+ "bio": "I design, build and ship products. All the time.",
1041
+ "contact": {
1042
+ "twitter": "mihar",
1043
+ "facebook": "624306434"
1044
+ }
1045
+ },
1046
+ {
1047
+ "id": "11792294",
1048
+ "firstName": "Karen",
1049
+ "lastName": "T.",
1050
+ "photo": "https://is1.4sqi.net/userpix_thumbs/UJL1K04JKL2I32BE.jpg",
1051
+ "tips": {
1052
+ "count": 1
1053
+ },
1054
+ "gender": "female",
1055
+ "homeCity": "NY",
1056
+ "bio": "",
1057
+ "contact": {
1058
+ "facebook": "1353000138"
1059
+ }
1060
+ }
1061
+ ]
1062
+ }
1063
+ ],
1064
+ "summary": "Miha R & Karen T"
1065
+ },
1066
+ "like": false,
1067
+ "beenHere": {
1068
+ "count": 0,
1069
+ "marked": false
1070
+ },
1071
+ "specials": {
1072
+ "count": 0,
1073
+ "items": []
1074
+ }
1075
+ },
1076
+ "listed": {
1077
+ "count": 0,
1078
+ "items": []
1079
+ }
1080
+ },
1081
+ {
1082
+ "id": "t4d404fc934f42d43b2624385",
1083
+ "createdAt": 1337967732,
1084
+ "todo": false,
1085
+ "done": false,
1086
+ "visitedCount": 0,
1087
+ "tip": {
1088
+ "id": "4d404fc934f42d43b2624385",
1089
+ "createdAt": 1296060361,
1090
+ "text": "No cubed chicken or orange cheese here... just shockingly simple, unpretentious and delicious street style Mexican food. - Anthony Bourdain, host of No Reservations",
1091
+ "likes": {
1092
+ "count": 68,
1093
+ "groups": [
1094
+ {
1095
+ "type": "others",
1096
+ "count": 2,
1097
+ "items": [
1098
+ {
1099
+ "id": "1012108",
1100
+ "firstName": "Ezzy",
1101
+ "lastName": "C.",
1102
+ "photo": "https://is1.4sqi.net/userpix_thumbs/X24KGI00RDY1JXDB.jpg",
1103
+ "tips": {
1104
+ "count": 2
1105
+ },
1106
+ "gender": "male",
1107
+ "homeCity": "Brooklyn, NY",
1108
+ "bio": "",
1109
+ "contact": {
1110
+ "twitter": "esmeraldoc",
1111
+ "facebook": "1145400301"
1112
+ }
1113
+ },
1114
+ {
1115
+ "id": "25966153",
1116
+ "firstName": "Jude",
1117
+ "lastName": "S.",
1118
+ "photo": "https://is0.4sqi.net/userpix_thumbs/10V5JE5WGOUNHB5K.jpg",
1119
+ "tips": {
1120
+ "count": 1
1121
+ },
1122
+ "gender": "female",
1123
+ "homeCity": "Las Vegas, NV",
1124
+ "bio": "",
1125
+ "contact": {
1126
+ "facebook": "710377693"
1127
+ }
1128
+ }
1129
+ ]
1130
+ }
1131
+ ],
1132
+ "summary": "68 likes"
1133
+ },
1134
+ "like": false,
1135
+ "todo": {
1136
+ "count": 71
1137
+ },
1138
+ "done": {
1139
+ "count": 67
1140
+ },
1141
+ "user": {
1142
+ "id": "4579353",
1143
+ "firstName": "Travel Channel",
1144
+ "photo": "https://is1.4sqi.net/userpix_thumbs/LJL3OPUPJLS2MALA.png",
1145
+ "type": "page",
1146
+ "followers": {
1147
+ "count": 177253,
1148
+ "groups": []
1149
+ },
1150
+ "tips": {
1151
+ "count": 649
1152
+ },
1153
+ "lists": {
1154
+ "groups": [
1155
+ {
1156
+ "type": "created",
1157
+ "count": 25,
1158
+ "items": []
1159
+ }
1160
+ ]
1161
+ },
1162
+ "gender": "none",
1163
+ "homeCity": "Everywhere, United States",
1164
+ "bio": "",
1165
+ "contact": {
1166
+ "twitter": "travelchannel",
1167
+ "facebook": "15672033850"
1168
+ }
1169
+ }
1170
+ },
1171
+ "photo": {
1172
+ "id": "4e750212ae60c32850f06009",
1173
+ "createdAt": 1316291090,
1174
+ "url": "https://is0.4sqi.net/pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0.jpg",
1175
+ "sizes": {
1176
+ "count": 4,
1177
+ "items": [
1178
+ {
1179
+ "url": "https://is0.4sqi.net/pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0.jpg",
1180
+ "width": 537,
1181
+ "height": 720
1182
+ },
1183
+ {
1184
+ "url": "https://is1.4sqi.net/derived_pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0_300x300.jpg",
1185
+ "width": 300,
1186
+ "height": 300
1187
+ },
1188
+ {
1189
+ "url": "https://is1.4sqi.net/derived_pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0_100x100.jpg",
1190
+ "width": 100,
1191
+ "height": 100
1192
+ },
1193
+ {
1194
+ "url": "https://is1.4sqi.net/derived_pix/3PJWYSHPJOPVE54T4ALKRIYU1WNHX0ZSOH334HTC3KB2NYG0_36x36.jpg",
1195
+ "width": 36,
1196
+ "height": 36
1197
+ }
1198
+ ]
1199
+ },
1200
+ "user": {
1201
+ "id": "25309",
1202
+ "firstName": "Guillo",
1203
+ "lastName": "..",
1204
+ "photo": "https://is0.4sqi.net/userpix_thumbs/EQMPM5XDGCQYNFAL.jpg",
1205
+ "tips": {
1206
+ "count": 42
1207
+ },
1208
+ "lists": {
1209
+ "groups": [
1210
+ {
1211
+ "type": "created",
1212
+ "count": 4,
1213
+ "items": []
1214
+ }
1215
+ ]
1216
+ },
1217
+ "gender": "male",
1218
+ "homeCity": "Brooklyn, NY",
1219
+ "bio": "",
1220
+ "contact": {}
1221
+ },
1222
+ "visibility": "public"
1223
+ },
1224
+ "venue": {
1225
+ "id": "4a21c1caf964a520397d1fe3",
1226
+ "name": "Tortilleria Mexicana Tres Hermanos",
1227
+ "contact": {
1228
+ "phone": "7184563422",
1229
+ "formattedPhone": "(718) 456-3422"
1230
+ },
1231
+ "location": {
1232
+ "address": "271 Starr St",
1233
+ "crossStreet": "btwn St Nicholas & Wyckoff",
1234
+ "lat": 40.706516297693014,
1235
+ "lng": -73.92187995415526,
1236
+ "postalCode": "11237",
1237
+ "city": "Brooklyn",
1238
+ "state": "NY",
1239
+ "country": "United States",
1240
+ "cc": "US"
1241
+ },
1242
+ "categories": [
1243
+ {
1244
+ "id": "4bf58dd8d48988d151941735",
1245
+ "name": "Taco Place",
1246
+ "pluralName": "Taco Places",
1247
+ "shortName": "Tacos",
1248
+ "icon": {
1249
+ "prefix": "https://foursquare.com/img/categories/food/tacos_",
1250
+ "sizes": [
1251
+ 32,
1252
+ 44,
1253
+ 64,
1254
+ 88,
1255
+ 256
1256
+ ],
1257
+ "name": ".png"
1258
+ },
1259
+ "primary": true
1260
+ }
1261
+ ],
1262
+ "verified": false,
1263
+ "stats": {
1264
+ "checkinsCount": 2810,
1265
+ "usersCount": 1260,
1266
+ "tipCount": 54
1267
+ },
1268
+ "likes": {
1269
+ "count": 6,
1270
+ "groups": [
1271
+ {
1272
+ "type": "others",
1273
+ "count": 6,
1274
+ "items": [
1275
+ {
1276
+ "id": "27589401",
1277
+ "firstName": "Steven",
1278
+ "lastName": "M.",
1279
+ "photo": "https://is0.4sqi.net/userpix_thumbs/PHT1JEHLZZJDFWA0.jpg",
1280
+ "tips": {
1281
+ "count": 1
1282
+ },
1283
+ "gender": "male",
1284
+ "homeCity": "New York, NY",
1285
+ "bio": "",
1286
+ "contact": {}
1287
+ },
1288
+ {
1289
+ "id": "29921987",
1290
+ "firstName": "Lesly",
1291
+ "photo": "https://is0.4sqi.net/userpix_thumbs/TMCOR3PCUTO5TES4.jpg",
1292
+ "tips": {
1293
+ "count": 1
1294
+ },
1295
+ "lists": {
1296
+ "groups": [
1297
+ {
1298
+ "type": "created",
1299
+ "count": 1,
1300
+ "items": []
1301
+ }
1302
+ ]
1303
+ },
1304
+ "gender": "female",
1305
+ "homeCity": "Ridgewood, NY",
1306
+ "bio": "",
1307
+ "contact": {
1308
+ "facebook": "100002989644280"
1309
+ }
1310
+ },
1311
+ {
1312
+ "id": "30255497",
1313
+ "firstName": "Bobby",
1314
+ "lastName": "K.",
1315
+ "photo": "https://is0.4sqi.net/userpix_thumbs/QPIKDQWSKF11JS1M.jpg",
1316
+ "tips": {
1317
+ "count": 0
1318
+ },
1319
+ "lists": {
1320
+ "groups": [
1321
+ {
1322
+ "type": "created",
1323
+ "count": 1,
1324
+ "items": []
1325
+ }
1326
+ ]
1327
+ },
1328
+ "gender": "male",
1329
+ "homeCity": "New York, NY",
1330
+ "bio": "",
1331
+ "contact": {
1332
+ "facebook": "726925503"
1333
+ }
1334
+ },
1335
+ {
1336
+ "id": "19462916",
1337
+ "firstName": "Harry",
1338
+ "lastName": "G.",
1339
+ "photo": "https://is0.4sqi.net/userpix_thumbs/MWFXW1DBV1SRHJND.jpg",
1340
+ "tips": {
1341
+ "count": 3
1342
+ },
1343
+ "gender": "male",
1344
+ "homeCity": "NY",
1345
+ "bio": "",
1346
+ "contact": {
1347
+ "facebook": "205104495"
1348
+ }
1349
+ }
1350
+ ]
1351
+ }
1352
+ ],
1353
+ "summary": "Steven M, Lesly, Bobby K & 3 others"
1354
+ },
1355
+ "like": false,
1356
+ "menu": {
1357
+ "type": "foodAndBeverage",
1358
+ "url": "https://foursquare.com/v/tortilleria-mexicana-tres-hermanos/4a21c1caf964a520397d1fe3/menu",
1359
+ "mobileUrl": "https://foursquare.com/v/4a21c1caf964a520397d1fe3/device_menu"
1360
+ },
1361
+ "beenHere": {
1362
+ "count": 0,
1363
+ "marked": false
1364
+ },
1365
+ "specials": {
1366
+ "count": 0,
1367
+ "items": []
1368
+ }
1369
+ },
1370
+ "listed": {
1371
+ "count": 0,
1372
+ "items": []
1373
+ }
1374
+ }
1375
+ ]
1376
+ }
1377
+ }
1378
+ }
1379
+ }