1) I notice that Foursquare does not show all places, but other engines show places that are not yet in Foursquare, but I would like to use Foursquare API, so is there a problem showing a merged view of places from more than one engine providing attributions to both?
2) Even if I don't use both engines, but only foursquare and I create my own places (no other engine but my own), can I show a merged view of both of them?
If the above is not possible, what are my options of a location database that allows the above?
Take a look at the "Other Data" section of Foursquare's Venues Database Usage Rules. Also from the FAQ: "Every venue should come from Foursquare. You are not allowed to maintain your own repository of venues alongside those from Foursquare—you should be using us as your sole location database. If a venue is not on Foursquare, you should add it."
Related
My primary question is: Can connected apps add relevant information to venue pages?
I am a coder and avid Foursquare user. The basic information about venues is cool (location, photos, tips, etc.), but while I have my meal (in the case of a restaurant) I'd like to have more to read about the venue, such as the back-story, i.e., what's the history of the place, when was it founded, by who, and other interesting facts about the venue.
I thought connected apps would be the answer and that perhaps I could write a simple wiki to integrate with the venue page for users to provide their knowledge about the venue. But it seems from what I've read that's not the the intent of a connected app or the API. Am I correct is this assumption? And if so, can this idea be dropped into the Foursquare suggestion box? I think it would make a great value added feature - especially for us nerds who like to read.
This is a great use case for connected apps. Connected apps can reply to check-ins with up to 200 characters of text, and a link to more content. This can be used to provide additional information about the venue. Take a look at https://foursquare.com/apps/ to see examples of connected apps, and the kinds of responses they give to check-ins.
Applications such as Foursquare and Groupon generally have a clause in their API Terms Of Reference which states that their data cannot be combined with that of others. I have been exploring Foursquare's API for some time now and am wondering how come sites like GTrot.com are able to display their results with records from both these websites (Foursquare and Groupon) and other similar sites?
Is it that Foursquare and Groupon are not really competitors and hence their data can be combined and displayed, whereas Foursquare and Google Places are competitors and so their data cannot be combined?
=====
For reference, here is a section from Foursquare's API Policy :-
Venues Database Usage
We welcome you to use foursquare as your location database. You can associate additional content with our venue data in your system, but you may not combine our database with another database or export it on your own. Examples -
* DO associate Wikipedia articles to foursquare venues and show them to users
* DON'T perform a search across both foursquare and Google Places, then return a combination of their results/data.
Applications can map between their existing database of locations and foursquare's in order to show foursquare information or offer foursquare-specific features (like checking in). This is fine under the foursquare ToS so long as the data is properly attributed to foursquare and the underlying database does not "learn" about new locations through the foursquare integration.
So for example you build a website that used Wikipedia locations but showed foursquare tips (properly attributed) about those locations. But you couldn't combine Wikipedia's set of locations with foursquare's set of locations to create a unified dataset.
I was reading the API policy of foursquare Venue Platform.
"You may not use the API to to add new places to your database or alter location details for places in your database."
It raised two questions to me:
1. How would they know, if one added new places, etc. to his/ her own database?
I hear that foursquare (used to) use the google maps api, to retrieve information for locations, so does that mean it is viable to use Google Map's data to create one's own basic database?
Any help is appreciated.
Basically they are telling you - you can use our API and database to create great apps, but do not steal our know-how(the database copy). They won't probably find out if you copy few of them, but say - you make a startup based on their database which you fully copied, then they can sue you and get you in trouble....
For Google usage, refer to Google Policy here.
I am trying to develop an application where users will post content. It is a user-generated application, so every post will have a location attached to it, so that it can be filtered later for other users in that area or city.
For example: say users can list books on my website to sell. Now while listing I want to provide them a text box where they can enter a location. Now the entered location should be valid, so how do I verify that?
Also after posting the book, someone else searches for a book in his location then he/she should not only get results for his location but other nearby locations too.
These are few of my questions. If someone can answer them and guide me, I'd really appreciate it. Thanks.
To verify people's location, you'll want to use the HTML5 geolocation capabilities. Take a look here for a demo: http://merged.ca/iphone/html5-geolocation
Searching nearby is a bit trickier, but there are a few options. You could use a geocoding service (Google and Bing for example both offer geocoding REST APIs) to determine if people are in the same city, zip code, etc. Perhaps a better solution is to use database queries to search for nearby posts. Many databases now offer built-in geospatial data types to support exactly this kind of scenario. MySQL for example: http://dev.mysql.com/doc/refman/5.0/en/mysql-spatial-datatypes.html
David of the foursquare-support-Team directed me here to leave my question for answering here...
We are currently thinking about publishing our own venues on foursquare - about 1000 of them and more to come. We would love to offer a mayor special like "50% off the bill".
Getting the information, that the mayor just checked in: No problem here - already tried to implement that and it works.
But as we are going to give money away with our 50%-special, we absolutly need to be shure, that the person who checked in is certainly inside the venue.
The current fraud-detection does not work good enough for us - today I checked into one of our test-venues, when I was about 25km away. No good :(
Here is one solution I would love to see implemented at foursquare to solve our problem:
If "trusted checkins" are enabled, the venue can still be visited by searching for it or using its URL. When checking in this way, you are awarded the regualr points, but you cannot gain any mayorship or badge (like when checking in via the mobile foursquare website).
By using an API-call, a trusted-checkin-id is generated (for example venueid_token), that can be displayed to the user by a QR-Code, NFC-Tag, etc. When this special venue-id is opened, checkins are "trusted" and are rewarded with mayorships, etc.
Upon calling the same function again, a new trusted-checkin-id is generated (venueid_newtoken). Using this new id to checkin, you get all the benefits. Using one of the old special-checkin-id, will not give you those perks.
Of course, trusted-checkin-ids can only be generated by an account associated with the venues in question.
Using this - I think quite simple system - we could present our users QR-codes to checkin and be shure, they cannot cheat.
Additionally, the beauty of this soultion is, that it won't require any change in the mobile applications already deployed by foursquare. Everything can be done directly on the foursquare-servers.
I would love to hear from you girls and guys at foursquare-engeneering-hq.
Cheers,
Martin
Users are able to check in to venues anywhere, but if they're physically far away the check-in won't count towards specials unlocks or the mayorship. So while your check-in "succeeded," it didn't actually contribute towards you unlocking the special in any way.
These check-ins also don't count towards the merchant statistics, so you can look at the merchant dashboard for the venue and confirm that the "far away" check-in was not counted.
Actually, this is how Foursquare works. They allow to checkin from far away. There's currently no know way (at least for me) to avoid it. Could you please explain in more detail, what are these 1000 venues you're going to add and why do you need this 50% major-bonus for all of them?
The only way I could think off to do what you want is to create a custom application that would use FS api to post checkins, etc, but will have additional check based on location and some custom equivalent of mayorship. Basically that's what we've done to avoid fake checkins - additional location check inside of our app.