qype-qype 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2008 Qype GmbH
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.markdown ADDED
@@ -0,0 +1,24 @@
1
+ Qype API
2
+ --------
3
+
4
+ The official Ruby library for interacting with the Qype API.
5
+
6
+
7
+ Installation
8
+ ------------
9
+
10
+ add github to your sources if you haven't
11
+
12
+ gem sources -a http://gems.github.com
13
+
14
+ install required gems:
15
+
16
+ sudo gem oauth
17
+ sudo gem install jnunemaker-happymapper
18
+ sudo gem install jnunemaker-httparty
19
+
20
+ Usage
21
+ -----
22
+
23
+ qype = Qype::Client.new('your_api_key', 'your_api_secret')
24
+ places = qype.search_places('sushi', 'Hamburg')
data/Rakefile ADDED
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/testtask'
4
+ require 'echoe'
5
+
6
+ task :default => 'test'
7
+
8
+ Rake::TestTask.new do |t|
9
+ t.libs << "test"
10
+ t.test_files = FileList['test/*_test.rb']
11
+ t.verbose = true
12
+ end
13
+
14
+ Echoe.new('qype', '0.1.0') do |p|
15
+ p.description = 'The official Ruby Library for interacting with the Qype API.'
16
+ p.url = 'http://github.com/qype/qype'
17
+ p.author = 'Florian Munz'
18
+ p.email = 'florian@qype.com'
19
+ end
@@ -0,0 +1,38 @@
1
+ require 'oauth/consumer'
2
+ require 'oauth/client/helper'
3
+
4
+ module HTTParty
5
+ class Request
6
+ private
7
+ def oauth_header(request, oauth_config, token = nil, options = {})
8
+ consumer = OAuth::Consumer.new(oauth_config[:key], oauth_config[:secret])
9
+ options = { :request_uri => uri,
10
+ :consumer => consumer,
11
+ :token => token,
12
+ :scheme => 'header',
13
+ :signature_method => oauth_config[:method],
14
+ :nonce => nil,
15
+ :timestamp => nil }.merge(options)
16
+
17
+ OAuth::Client::Helper.new(request, options).header
18
+ end
19
+
20
+ def headers_including_oauth(request)
21
+ if options[:oauth]
22
+ { 'Authorization' => oauth_header(request, options[:oauth]) }.merge(options[:headers] || {})
23
+ else
24
+ options[:headers]
25
+ end
26
+ end
27
+
28
+ def get_response(uri) #:nodoc:
29
+ request = http_method.new(uri.request_uri)
30
+ request.body = options[:body].is_a?(Hash) ? options[:body].to_query : options[:body] unless options[:body].blank?
31
+ request.initialize_http_header headers_including_oauth(request)
32
+ request.basic_auth(options[:basic_auth][:username], options[:basic_auth][:password]) if options[:basic_auth]
33
+ response = http(uri).request(request)
34
+ options[:format] ||= format_from_mimetype(response['content-type'])
35
+ response
36
+ end
37
+ end
38
+ end
data/lib/qype.rb ADDED
@@ -0,0 +1,9 @@
1
+ require 'rubygems'
2
+ require 'httparty'
3
+ require 'happymapper'
4
+
5
+ $:.unshift(File.join(File.dirname(__FILE__)))
6
+
7
+ require 'httparty_patch'
8
+ require 'qype/client'
9
+ require 'qype/models'
@@ -0,0 +1,29 @@
1
+ module Qype
2
+
3
+ class Client
4
+ include HTTParty
5
+ base_uri 'api.qype.com/v1'
6
+
7
+ def initialize(api_key, api_secret, base_uri = nil)
8
+ Client.default_options[:oauth] = { :key => api_key, :secret => api_secret, :method => 'HMAC-SHA1' }
9
+ Client.base_uri(base_uri) if base_uri
10
+ end
11
+
12
+ def get(path, options = {})
13
+ self.class.get(path, options)
14
+ end
15
+
16
+ def search_places(search_term, location_name)
17
+ Place.search(self, search_term, location_name)
18
+ end
19
+
20
+ def nearby_places(latitude, longitude, options = {})
21
+ Place.nearby(self, latitude, longitude, options)
22
+ end
23
+
24
+ def get_place(place_id)
25
+ Place.get(self, place_id)
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,111 @@
1
+ module Qype
2
+
3
+ class Link
4
+ include HappyMapper
5
+
6
+ tag 'link'
7
+
8
+ attribute :href, String
9
+ attribute :hreflang, String
10
+ attribute :title, String
11
+ attribute :rel, String
12
+ attribute :count, Integer
13
+ end
14
+
15
+ class Category
16
+ include HappyMapper
17
+
18
+ tag 'category'
19
+
20
+ element :title, String
21
+ end
22
+
23
+ class Image
24
+ include HappyMapper
25
+
26
+ tag 'image'
27
+
28
+ attribute :small, String
29
+ attribute :medium, String
30
+ attribute :large, String
31
+ end
32
+
33
+ class Address
34
+ include HappyMapper
35
+
36
+ tag 'address'
37
+
38
+ element :street, String
39
+ element :postcode, String
40
+ element :housenumber, String
41
+ element :city, String
42
+ end
43
+
44
+ class Place
45
+ include HappyMapper
46
+
47
+ tag 'place'
48
+
49
+ element :title, String
50
+ element :phone, String
51
+ element :average_rating, Float
52
+ element :point, String
53
+
54
+ has_one :image, Image
55
+ has_one :address, Address
56
+ has_many :categories, Category
57
+ has_many :links, Link
58
+
59
+ def reviews(client, language_code)
60
+ link = self.links.find { |link| link.rel == 'http://schemas.qype.com/reviews' && link.hreflang == language_code }
61
+ throw :language_not_supported if link.nil?
62
+
63
+ response = client.get(link.href)
64
+ Review.parse(response)
65
+ end
66
+
67
+ def self.get(client, place_id)
68
+ response = client.get("/places/#{place_id}")
69
+ parse(response, :single => true)
70
+ end
71
+
72
+ def self.search(client, search_term, location_name)
73
+ response = client.get('/places', :query => { :show => search_term, :in => location_name })
74
+ Place.parse(response)
75
+ end
76
+
77
+ # options can be
78
+ # :show => search_term show places matching this search term
79
+ # :in_category => category_id only show places in a specific category
80
+ # :order => order order results by: 'distance' (default), 'rating'
81
+ #
82
+ def self.nearby(client, latitude, longitude, options = {})
83
+ response = client.get("/positions/#{latitude},#{longitude}/places", :query => options)
84
+ Place.parse(response)
85
+ end
86
+
87
+ end
88
+
89
+ class Tag
90
+ include HappyMapper
91
+
92
+ tag 'tag'
93
+
94
+ attribute :term, String
95
+ end
96
+
97
+ class Review
98
+ include HappyMapper
99
+
100
+ tag 'review'
101
+
102
+ element :rating, Integer
103
+ element :language, String
104
+ element :content, String, :tag => "content[@type='text']"
105
+ element :formatted_content, String, :tag => "content[@type='xhtml']"
106
+
107
+ has_many :tags, Tag
108
+ has_many :links, Link
109
+ end
110
+
111
+ end
data/qype.gemspec ADDED
@@ -0,0 +1,35 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{qype}
5
+ s.version = "0.1.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Florian Munz"]
9
+ s.date = %q{2008-12-04}
10
+ s.description = %q{The official Ruby Library for interacting with the Qype API.}
11
+ s.email = %q{florian@qype.com}
12
+ s.extra_rdoc_files = ["lib/httparty_patch.rb", "lib/qype/client.rb", "lib/qype/models.rb", "lib/qype.rb", "LICENSE", "README.markdown"]
13
+ s.files = ["lib/httparty_patch.rb", "lib/qype/client.rb", "lib/qype/models.rb", "lib/qype.rb", "LICENSE", "Manifest", "Rakefile", "README.markdown", "test/fixtures/place.xml", "test/fixtures/places.xml", "test/fixtures/review.xml", "test/fixtures/reviews.xml", "test/place_mapping_test.rb", "test/review_mapping_test.rb", "test/test_helper.rb", "qype.gemspec"]
14
+ s.has_rdoc = true
15
+ s.homepage = %q{http://github.com/qype/qype}
16
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Qype", "--main", "README.markdown"]
17
+ s.require_paths = ["lib"]
18
+ s.rubyforge_project = %q{qype}
19
+ s.rubygems_version = %q{1.3.1}
20
+ s.summary = %q{The official Ruby Library for interacting with the Qype API.}
21
+ s.test_files = ["test/place_mapping_test.rb", "test/review_mapping_test.rb", "test/test_helper.rb"]
22
+
23
+ if s.respond_to? :specification_version then
24
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
+ s.specification_version = 2
26
+
27
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
28
+ s.add_development_dependency(%q<echoe>, [">= 0"])
29
+ else
30
+ s.add_dependency(%q<echoe>, [">= 0"])
31
+ end
32
+ else
33
+ s.add_dependency(%q<echoe>, [">= 0"])
34
+ end
35
+ end
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <place>
3
+ <title>Mr. Kebab</title>
4
+ <phone>040 437798</phone>
5
+ <average_rating>4.95</average_rating>
6
+ <id>tag:api.qype.com,2006-06-10:/places/7019</id>
7
+ <updated>2008-09-02T15:54:03+02:00</updated>
8
+ <created>2006-06-10T22:48:22+02:00</created>
9
+ <point>53.5564,9.96239</point>
10
+ <image medium="http://assets2.qype.com/uploads/photos/0017/4291/IMG_2092_thumb.JPG?1208428303" large="http://assets3.qype.com/uploads/photos/0017/4291/IMG_2092_gallery.JPG?1208428300" small="http://assets1.qype.com/uploads/photos/0017/4291/IMG_2092_mini.JPG?1208428301"/>
11
+ <address>
12
+ <street>Thadenstrasse</street>
13
+ <postcode>22767</postcode>
14
+ <housenumber>1</housenumber>
15
+ <city>Hamburg</city>
16
+ </address>
17
+ <category>
18
+ <id>tag:api.qype.com,2008-02-04:/places/categories/590</id>
19
+ <updated>2008-10-20T18:52:50+02:00</updated>
20
+ <created>2008-02-04T13:30:53+01:00</created>
21
+ <title lang="de">D&#246;ner und Griechischer Imbiss</title>
22
+ <link href="http://api.qype.com/v1/place_categories/590" rel="self"/>
23
+ <link href="http://api.qype.com/v1/place_categories/590/children" rel="http://schemas.qype.com/place_categories.children"/>
24
+ <link href="http://api.qype.com/v1/place_categories/42" rel="http://schemas.qype.com/place_category.parent"/>
25
+ </category>
26
+ <category>
27
+ <id>tag:api.qype.com,2007-11-22:/places/categories/445</id>
28
+ <updated>2008-10-20T18:32:06+02:00</updated>
29
+ <created>2007-11-22T12:04:36+01:00</created>
30
+ <title lang="de">T&#252;rkische Restaurants</title>
31
+ <link href="http://api.qype.com/v1/place_categories/445" rel="self"/>
32
+ <link href="http://api.qype.com/v1/place_categories/445/children" rel="http://schemas.qype.com/place_categories.children"/>
33
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
34
+ </category>
35
+ <link href="http://api.qype.com/v1/places/7019" rel="self"/>
36
+ <link hreflang="de" href="http://api.qype.com/v1/places/7019/reviews/de" count="40" rel="http://schemas.qype.com/reviews"/>
37
+ <link hreflang="en" href="http://api.qype.com/v1/places/7019/reviews/en" count="11" rel="http://schemas.qype.com/reviews"/>
38
+ <link hreflang="fr" href="http://api.qype.com/v1/places/7019/reviews/fr" count="4" rel="http://schemas.qype.com/reviews"/>
39
+ <link hreflang="es" href="http://api.qype.com/v1/places/7019/reviews/es" count="1" rel="http://schemas.qype.com/reviews"/>
40
+ <link hreflang="pt" href="http://api.qype.com/v1/places/7019/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
41
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
42
+ <link href="http://api.qype.com/v1/places/7019/assets" rel="http://schemas.qype.com/assets"/>
43
+ <link href="http://api.qype.com/v1/positions/53.5564,9.96239/places?without=7019" rel="http://schemas.qype.com/places.nearby"/>
44
+ </place>
@@ -0,0 +1,367 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <places>
3
+ <link href="http://api.qype.com/v1/places?in=Hamburg&amp;show=Pizza" rel="first"></link>
4
+ <link href="http://api.qype.com/v1/places?in=Hamburg&amp;page=2&amp;show=Pizza" rel="next"></link>
5
+ <link href="http://api.qype.com/v1/places?in=Hamburg&amp;page=70&amp;show=Pizza" rel="last"></link>
6
+ <place>
7
+ <title>Croques &amp; Pizza Bistro</title>
8
+ <phone>040 48 81 82</phone>
9
+ <average_rating>5.11918</average_rating>
10
+ <id>tag:api.qype.com,2006-01-17:/places/191</id>
11
+ <updated>2008-08-11T17:40:46+02:00</updated>
12
+ <created>2006-01-17T16:41:01+01:00</created>
13
+ <point>53.5952,10.0005</point>
14
+ <image medium="http://assets2.qype.com/uploads/photos/0035/9018/22_thumb.JPG?1218313316" large="http://assets2.qype.com/uploads/photos/0035/9018/22_gallery.JPG?1218313316" small="http://assets2.qype.com/uploads/photos/0035/9018/22_mini.JPG?1218313316"/>
15
+ <address>
16
+ <street>Ohlsdorfer Stra&#223;e</street>
17
+ <postcode>22299</postcode>
18
+ <housenumber>2</housenumber>
19
+ <city>Hamburg</city>
20
+ </address>
21
+ <category>
22
+ <id>tag:api.qype.com,2007-08-23:/places/categories/16</id>
23
+ <updated>2008-10-20T18:24:35+02:00</updated>
24
+ <created>2007-08-23T14:09:42+02:00</created>
25
+ <title lang="de">Pizza &amp; Italienische Restaurants</title>
26
+ <link href="http://api.qype.com/v1/place_categories/16" rel="self"/>
27
+ <link href="http://api.qype.com/v1/place_categories/16/children" rel="http://schemas.qype.com/place_categories.children"/>
28
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
29
+ </category>
30
+ <category>
31
+ <id>tag:api.qype.com,2007-08-24:/places/categories/149</id>
32
+ <updated>2008-10-20T18:27:00+02:00</updated>
33
+ <created>2007-08-24T13:53:17+02:00</created>
34
+ <title lang="de">Bistros</title>
35
+ <link href="http://api.qype.com/v1/place_categories/149" rel="self"/>
36
+ <link href="http://api.qype.com/v1/place_categories/149/children" rel="http://schemas.qype.com/place_categories.children"/>
37
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
38
+ </category>
39
+ <category>
40
+ <id>tag:api.qype.com,2008-05-15:/places/categories/757</id>
41
+ <updated>2008-10-20T18:57:17+02:00</updated>
42
+ <created>2008-05-15T18:25:01+02:00</created>
43
+ <title lang="de">Croques</title>
44
+ <link href="http://api.qype.com/v1/place_categories/757" rel="self"/>
45
+ <link href="http://api.qype.com/v1/place_categories/757/children" rel="http://schemas.qype.com/place_categories.children"/>
46
+ <link href="http://api.qype.com/v1/place_categories/332" rel="http://schemas.qype.com/place_category.parent"/>
47
+ </category>
48
+ <link href="http://api.qype.com/v1/places/191" rel="self"/>
49
+ <link hreflang="de" href="http://api.qype.com/v1/places/191/reviews/de" count="27" rel="http://schemas.qype.com/reviews"/>
50
+ <link hreflang="en" href="http://api.qype.com/v1/places/191/reviews/en" count="1" rel="http://schemas.qype.com/reviews"/>
51
+ <link hreflang="fr" href="http://api.qype.com/v1/places/191/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
52
+ <link hreflang="es" href="http://api.qype.com/v1/places/191/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
53
+ <link hreflang="pt" href="http://api.qype.com/v1/places/191/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
54
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
55
+ <link href="http://api.qype.com/v1/places/191/assets" rel="http://schemas.qype.com/assets"/>
56
+ <link href="http://api.qype.com/v1/positions/53.5952,10.0005/places?without=191" rel="http://schemas.qype.com/places.nearby"/>
57
+ </place>
58
+ <place>
59
+ <title>Pauli Pizza</title>
60
+ <phone>040 67303046</phone>
61
+ <url>http://www.pauli-pizza.de</url>
62
+ <average_rating>4.97618</average_rating>
63
+ <id>tag:api.qype.com,2007-09-12:/places/61871</id>
64
+ <updated>2008-09-29T23:58:46+02:00</updated>
65
+ <created>2007-09-12T10:47:02+02:00</created>
66
+ <point>53.5506,9.96014</point>
67
+ <image medium="http://assets1.qype.com/uploads/photos/0045/7012/01_thumb.jpg?1223217962" large="http://assets0.qype.com/uploads/photos/0045/7012/01_gallery.jpg?1223217961" small="http://assets2.qype.com/uploads/photos/0045/7012/01_mini.jpg?1223217960"/>
68
+ <address>
69
+ <street>Talstr.</street>
70
+ <postcode>20359</postcode>
71
+ <housenumber>22</housenumber>
72
+ <city>Hamburg</city>
73
+ </address>
74
+ <category>
75
+ <id>tag:api.qype.com,2007-08-23:/places/categories/16</id>
76
+ <updated>2008-10-20T18:24:35+02:00</updated>
77
+ <created>2007-08-23T14:09:42+02:00</created>
78
+ <title lang="de">Pizza &amp; Italienische Restaurants</title>
79
+ <link href="http://api.qype.com/v1/place_categories/16" rel="self"/>
80
+ <link href="http://api.qype.com/v1/place_categories/16/children" rel="http://schemas.qype.com/place_categories.children"/>
81
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
82
+ </category>
83
+ <link href="http://api.qype.com/v1/places/61871" rel="self"/>
84
+ <link hreflang="de" href="http://api.qype.com/v1/places/61871/reviews/de" count="16" rel="http://schemas.qype.com/reviews"/>
85
+ <link hreflang="en" href="http://api.qype.com/v1/places/61871/reviews/en" count="4" rel="http://schemas.qype.com/reviews"/>
86
+ <link hreflang="fr" href="http://api.qype.com/v1/places/61871/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
87
+ <link hreflang="es" href="http://api.qype.com/v1/places/61871/reviews/es" count="1" rel="http://schemas.qype.com/reviews"/>
88
+ <link hreflang="pt" href="http://api.qype.com/v1/places/61871/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
89
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
90
+ <link href="http://api.qype.com/v1/places/61871/assets" rel="http://schemas.qype.com/assets"/>
91
+ <link href="http://api.qype.com/v1/positions/53.5506,9.96014/places?without=61871" rel="http://schemas.qype.com/places.nearby"/>
92
+ </place>
93
+ <place>
94
+ <title>Pauli Pizza - Schanze</title>
95
+ <phone>040.79690359</phone>
96
+ <url>http://www.myspace.com/paulipizza</url>
97
+ <average_rating>3.5</average_rating>
98
+ <id>tag:api.qype.com,2008-09-26:/places/239345</id>
99
+ <updated>2008-09-26T10:02:42+02:00</updated>
100
+ <created>2008-09-26T10:02:17+02:00</created>
101
+ <point>53.5612,9.95602</point>
102
+ <image medium="http://assets0.qype.com/uploads/photos/0049/0097/PauliPizza_thumb.JPG?1224623257" large="http://assets1.qype.com/uploads/photos/0049/0097/PauliPizza_gallery.JPG?1224623258" small="http://assets3.qype.com/uploads/photos/0049/0097/PauliPizza_mini.JPG?1224623258"/>
103
+ <address>
104
+ <street>Stresemannstra&#223;e</street>
105
+ <postcode>22769</postcode>
106
+ <housenumber>119</housenumber>
107
+ <city>Hamburg</city>
108
+ </address>
109
+ <category>
110
+ <id>tag:api.qype.com,2007-08-23:/places/categories/16</id>
111
+ <updated>2008-10-20T18:24:35+02:00</updated>
112
+ <created>2007-08-23T14:09:42+02:00</created>
113
+ <title lang="de">Pizza &amp; Italienische Restaurants</title>
114
+ <link href="http://api.qype.com/v1/place_categories/16" rel="self"/>
115
+ <link href="http://api.qype.com/v1/place_categories/16/children" rel="http://schemas.qype.com/place_categories.children"/>
116
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
117
+ </category>
118
+ <link href="http://api.qype.com/v1/places/239345" rel="self"/>
119
+ <link hreflang="de" href="http://api.qype.com/v1/places/239345/reviews/de" count="2" rel="http://schemas.qype.com/reviews"/>
120
+ <link hreflang="en" href="http://api.qype.com/v1/places/239345/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
121
+ <link hreflang="fr" href="http://api.qype.com/v1/places/239345/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
122
+ <link hreflang="es" href="http://api.qype.com/v1/places/239345/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
123
+ <link hreflang="pt" href="http://api.qype.com/v1/places/239345/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
124
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
125
+ <link href="http://api.qype.com/v1/places/239345/assets" rel="http://schemas.qype.com/assets"/>
126
+ <link href="http://api.qype.com/v1/positions/53.5612,9.95602/places?without=239345" rel="http://schemas.qype.com/places.nearby"/>
127
+ </place>
128
+ <place>
129
+ <title>American Pizza Profis</title>
130
+ <phone>040 770054</phone>
131
+ <url>http://www.american-pizza-profis.de</url>
132
+ <average_rating>3.15</average_rating>
133
+ <id>tag:api.qype.com,2008-06-17:/places/163819</id>
134
+ <updated>2008-10-20T13:11:02+02:00</updated>
135
+ <created>2008-06-17T17:08:09+02:00</created>
136
+ <point>53.4545,9.9875</point>
137
+ <address>
138
+ <street>Wilstorfer Str.</street>
139
+ <postcode>21073</postcode>
140
+ <housenumber>84</housenumber>
141
+ <city>Hamburg</city>
142
+ </address>
143
+ <category>
144
+ <id>tag:api.qype.com,2007-09-16:/places/categories/210</id>
145
+ <updated>2008-10-20T18:28:03+02:00</updated>
146
+ <created>2007-09-16T18:52:58+02:00</created>
147
+ <title lang="de">Liefer- &amp; Pizzaservice </title>
148
+ <link href="http://api.qype.com/v1/place_categories/210" rel="self"/>
149
+ <link href="http://api.qype.com/v1/place_categories/210/children" rel="http://schemas.qype.com/place_categories.children"/>
150
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
151
+ </category>
152
+ <link href="http://api.qype.com/v1/places/163819" rel="self"/>
153
+ <link hreflang="de" href="http://api.qype.com/v1/places/163819/reviews/de" count="2" rel="http://schemas.qype.com/reviews"/>
154
+ <link hreflang="en" href="http://api.qype.com/v1/places/163819/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
155
+ <link hreflang="fr" href="http://api.qype.com/v1/places/163819/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
156
+ <link hreflang="es" href="http://api.qype.com/v1/places/163819/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
157
+ <link hreflang="pt" href="http://api.qype.com/v1/places/163819/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
158
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
159
+ <link href="http://api.qype.com/v1/places/163819/assets" rel="http://schemas.qype.com/assets"/>
160
+ <link href="http://api.qype.com/v1/positions/53.4545,9.9875/places?without=163819" rel="http://schemas.qype.com/places.nearby"/>
161
+ </place>
162
+ <place>
163
+ <title>Sofia Pizza Lieferservice Hamburg, italienischer Lieferdienst</title>
164
+ <phone>040 764 21 87</phone>
165
+ <url>http://www.sofia-pizza.de</url>
166
+ <average_rating>3.15</average_rating>
167
+ <id>tag:api.qype.com,2006-12-06:/places/22397</id>
168
+ <updated>2008-10-09T16:20:00+02:00</updated>
169
+ <created>2006-12-06T17:38:24+01:00</created>
170
+ <point>53.4504,9.98828</point>
171
+ <image medium="http://assets3.qype.com/uploads/photos/0000/8595/sofiahamburglieferdienst_thumb.jpg?1200835412" large="http://assets3.qype.com/uploads/photos/0000/8595/sofiahamburglieferdienst_gallery.jpg?1200835412" small="http://assets3.qype.com/uploads/photos/0000/8595/sofiahamburglieferdienst_mini.jpg?1200835413"/>
172
+ <address>
173
+ <street>N&#246;ldekestrasse </street>
174
+ <postcode>21079</postcode>
175
+ <housenumber>2</housenumber>
176
+ <city>Hamburg</city>
177
+ </address>
178
+ <category>
179
+ <id>tag:api.qype.com,2007-09-16:/places/categories/210</id>
180
+ <updated>2008-10-20T18:28:03+02:00</updated>
181
+ <created>2007-09-16T18:52:58+02:00</created>
182
+ <title lang="de">Liefer- &amp; Pizzaservice </title>
183
+ <link href="http://api.qype.com/v1/place_categories/210" rel="self"/>
184
+ <link href="http://api.qype.com/v1/place_categories/210/children" rel="http://schemas.qype.com/place_categories.children"/>
185
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
186
+ </category>
187
+ <link href="http://api.qype.com/v1/places/22397" rel="self"/>
188
+ <link hreflang="de" href="http://api.qype.com/v1/places/22397/reviews/de" count="2" rel="http://schemas.qype.com/reviews"/>
189
+ <link hreflang="en" href="http://api.qype.com/v1/places/22397/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
190
+ <link hreflang="fr" href="http://api.qype.com/v1/places/22397/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
191
+ <link hreflang="es" href="http://api.qype.com/v1/places/22397/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
192
+ <link hreflang="pt" href="http://api.qype.com/v1/places/22397/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
193
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
194
+ <link href="http://api.qype.com/v1/places/22397/assets" rel="http://schemas.qype.com/assets"/>
195
+ <link href="http://api.qype.com/v1/positions/53.4504,9.98828/places?without=22397" rel="http://schemas.qype.com/places.nearby"/>
196
+ </place>
197
+ <place>
198
+ <title>Robby's Pizza Drive</title>
199
+ <phone>040 803031</phone>
200
+ <url>http://www.robbys-pizza-drive.de/</url>
201
+ <average_rating>3.15</average_rating>
202
+ <id>tag:api.qype.com,2006-12-08:/places/22620</id>
203
+ <updated>2008-07-13T18:00:01+02:00</updated>
204
+ <created>2006-12-08T20:58:04+01:00</created>
205
+ <point>53.5729,9.84411</point>
206
+ <address>
207
+ <street>Osdorfer Landstra&#223;e </street>
208
+ <postcode>22549</postcode>
209
+ <housenumber>245</housenumber>
210
+ <city>Hamburg</city>
211
+ </address>
212
+ <category>
213
+ <id>tag:api.qype.com,2007-09-16:/places/categories/210</id>
214
+ <updated>2008-10-20T18:28:03+02:00</updated>
215
+ <created>2007-09-16T18:52:58+02:00</created>
216
+ <title lang="de">Liefer- &amp; Pizzaservice </title>
217
+ <link href="http://api.qype.com/v1/place_categories/210" rel="self"/>
218
+ <link href="http://api.qype.com/v1/place_categories/210/children" rel="http://schemas.qype.com/place_categories.children"/>
219
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
220
+ </category>
221
+ <link href="http://api.qype.com/v1/places/22620" rel="self"/>
222
+ <link hreflang="de" href="http://api.qype.com/v1/places/22620/reviews/de" count="2" rel="http://schemas.qype.com/reviews"/>
223
+ <link hreflang="en" href="http://api.qype.com/v1/places/22620/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
224
+ <link hreflang="fr" href="http://api.qype.com/v1/places/22620/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
225
+ <link hreflang="es" href="http://api.qype.com/v1/places/22620/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
226
+ <link hreflang="pt" href="http://api.qype.com/v1/places/22620/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
227
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
228
+ <link href="http://api.qype.com/v1/places/22620/assets" rel="http://schemas.qype.com/assets"/>
229
+ <link href="http://api.qype.com/v1/positions/53.5729,9.84411/places?without=22620" rel="http://schemas.qype.com/places.nearby"/>
230
+ </place>
231
+ <place>
232
+ <title>Dinos Pizza Service Filiale Winterhude</title>
233
+ <url>http://www.dinos-winterhude.de</url>
234
+ <average_rating>3.15</average_rating>
235
+ <id>tag:api.qype.com,2007-10-26:/places/71229</id>
236
+ <updated>2007-10-26T13:25:28+02:00</updated>
237
+ <created>2007-10-26T13:25:20+02:00</created>
238
+ <point>53.5734,10.0213</point>
239
+ <image medium="http://assets0.qype.com/uploads/photos/0007/5267/dinoswinterhude44_thumb.jpg?1200978853" large="http://assets1.qype.com/uploads/photos/0007/5267/dinoswinterhude44_gallery.jpg?1200978853" small="http://assets3.qype.com/uploads/photos/0007/5267/dinoswinterhude44_mini.jpg?1200978853"/>
240
+ <address>
241
+ <street>Kanalstrasse </street>
242
+ <postcode>22085</postcode>
243
+ <housenumber>36</housenumber>
244
+ <city>Hamburg</city>
245
+ </address>
246
+ <category>
247
+ <id>tag:api.qype.com,2007-09-16:/places/categories/210</id>
248
+ <updated>2008-10-20T18:28:03+02:00</updated>
249
+ <created>2007-09-16T18:52:58+02:00</created>
250
+ <title lang="de">Liefer- &amp; Pizzaservice </title>
251
+ <link href="http://api.qype.com/v1/place_categories/210" rel="self"/>
252
+ <link href="http://api.qype.com/v1/place_categories/210/children" rel="http://schemas.qype.com/place_categories.children"/>
253
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
254
+ </category>
255
+ <link href="http://api.qype.com/v1/places/71229" rel="self"/>
256
+ <link hreflang="de" href="http://api.qype.com/v1/places/71229/reviews/de" count="2" rel="http://schemas.qype.com/reviews"/>
257
+ <link hreflang="en" href="http://api.qype.com/v1/places/71229/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
258
+ <link hreflang="fr" href="http://api.qype.com/v1/places/71229/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
259
+ <link hreflang="es" href="http://api.qype.com/v1/places/71229/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
260
+ <link hreflang="pt" href="http://api.qype.com/v1/places/71229/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
261
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
262
+ <link href="http://api.qype.com/v1/places/71229/assets" rel="http://schemas.qype.com/assets"/>
263
+ <link href="http://api.qype.com/v1/positions/53.5734,10.0213/places?without=71229" rel="http://schemas.qype.com/places.nearby"/>
264
+ </place>
265
+ <place>
266
+ <title>Enjoy Pizza-Lieferservice GmbH</title>
267
+ <phone>040 69796513</phone>
268
+ <url>http://www.pizza-enjoy.de/</url>
269
+ <average_rating>4.0</average_rating>
270
+ <id>tag:api.qype.com,2006-04-21:/places/2004</id>
271
+ <updated>2006-12-15T09:26:18+01:00</updated>
272
+ <created>2006-04-21T12:26:18+02:00</created>
273
+ <point>53.5931,10.0814</point>
274
+ <image medium="http://assets0.qype.com/uploads/photos/0000/0469/lammfleisch_thumb.gif?1200829403" large="http://assets0.qype.com/uploads/photos/0000/0469/lammfleisch_gallery.gif?1200829403" small="http://assets3.qype.com/uploads/photos/0000/0469/lammfleisch_mini.gif?1200829403"/>
275
+ <address>
276
+ <street>Stephanstrasse</street>
277
+ <postcode>22047</postcode>
278
+ <housenumber>141</housenumber>
279
+ <city>Hamburg</city>
280
+ </address>
281
+ <category>
282
+ <id>tag:api.qype.com,2007-08-23:/places/categories/16</id>
283
+ <updated>2008-10-20T18:24:35+02:00</updated>
284
+ <created>2007-08-23T14:09:42+02:00</created>
285
+ <title lang="de">Pizza &amp; Italienische Restaurants</title>
286
+ <link href="http://api.qype.com/v1/place_categories/16" rel="self"/>
287
+ <link href="http://api.qype.com/v1/place_categories/16/children" rel="http://schemas.qype.com/place_categories.children"/>
288
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
289
+ </category>
290
+ <link href="http://api.qype.com/v1/places/2004" rel="self"/>
291
+ <link hreflang="de" href="http://api.qype.com/v1/places/2004/reviews/de" count="6" rel="http://schemas.qype.com/reviews"/>
292
+ <link hreflang="en" href="http://api.qype.com/v1/places/2004/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
293
+ <link hreflang="fr" href="http://api.qype.com/v1/places/2004/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
294
+ <link hreflang="es" href="http://api.qype.com/v1/places/2004/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
295
+ <link hreflang="pt" href="http://api.qype.com/v1/places/2004/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
296
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
297
+ <link href="http://api.qype.com/v1/places/2004/assets" rel="http://schemas.qype.com/assets"/>
298
+ <link href="http://api.qype.com/v1/positions/53.5931,10.0814/places?without=2004" rel="http://schemas.qype.com/places.nearby"/>
299
+ </place>
300
+ <place>
301
+ <title>Hallo Pizza</title>
302
+ <phone>040 278747-0</phone>
303
+ <url>http://www.hallopizza.de</url>
304
+ <average_rating>3.825</average_rating>
305
+ <id>tag:api.qype.com,2007-06-10:/places/43940</id>
306
+ <updated>2008-10-23T11:32:53+02:00</updated>
307
+ <created>2007-06-10T22:34:33+02:00</created>
308
+ <point>53.5761,10.0237</point>
309
+ <image medium="http://assets3.qype.com/uploads/photos/0035/4053/logo_hallopizza_thumb.gif?1218014991" large="http://assets0.qype.com/uploads/photos/0035/4053/logo_hallopizza_gallery.gif?1218014991" small="http://assets3.qype.com/uploads/photos/0035/4053/logo_hallopizza_mini.gif?1218014992"/>
310
+ <address>
311
+ <street>Beethovenstr.</street>
312
+ <postcode>22083</postcode>
313
+ <housenumber>37</housenumber>
314
+ <city>Hamburg</city>
315
+ </address>
316
+ <category>
317
+ <id>tag:api.qype.com,2007-09-16:/places/categories/210</id>
318
+ <updated>2008-10-20T18:28:03+02:00</updated>
319
+ <created>2007-09-16T18:52:58+02:00</created>
320
+ <title lang="de">Liefer- &amp; Pizzaservice </title>
321
+ <link href="http://api.qype.com/v1/place_categories/210" rel="self"/>
322
+ <link href="http://api.qype.com/v1/place_categories/210/children" rel="http://schemas.qype.com/place_categories.children"/>
323
+ <link href="http://api.qype.com/v1/place_categories/1" rel="http://schemas.qype.com/place_category.parent"/>
324
+ </category>
325
+ <link href="http://api.qype.com/v1/places/43940" rel="self"/>
326
+ <link hreflang="de" href="http://api.qype.com/v1/places/43940/reviews/de" count="5" rel="http://schemas.qype.com/reviews"/>
327
+ <link hreflang="en" href="http://api.qype.com/v1/places/43940/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
328
+ <link hreflang="fr" href="http://api.qype.com/v1/places/43940/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
329
+ <link hreflang="es" href="http://api.qype.com/v1/places/43940/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
330
+ <link hreflang="pt" href="http://api.qype.com/v1/places/43940/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
331
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
332
+ <link href="http://api.qype.com/v1/places/43940/assets" rel="http://schemas.qype.com/assets"/>
333
+ <link href="http://api.qype.com/v1/positions/53.5761,10.0237/places?without=43940" rel="http://schemas.qype.com/places.nearby"/>
334
+ </place>
335
+ <place>
336
+ <title>Pizza Service Johlo</title>
337
+ <phone>040 818185</phone>
338
+ <average_rating>3.0</average_rating>
339
+ <id>tag:api.qype.com,2008-10-17:/places/268544</id>
340
+ <updated>2008-10-17T15:29:23+02:00</updated>
341
+ <created>2008-10-17T15:29:23+02:00</created>
342
+ <point>53.5817,9.75437</point>
343
+ <address>
344
+ <street>Rissener Dorfstr.</street>
345
+ <postcode>22559</postcode>
346
+ <housenumber>54</housenumber>
347
+ <city>Hamburg</city>
348
+ </address>
349
+ <category>
350
+ <id>tag:api.qype.com,2007-08-20:/places/categories/1</id>
351
+ <updated>2008-10-20T18:24:21+02:00</updated>
352
+ <created>2007-08-20T18:11:47+02:00</created>
353
+ <title lang="de">Restaurants</title>
354
+ <link href="http://api.qype.com/v1/place_categories/1" rel="self"/>
355
+ <link href="http://api.qype.com/v1/place_categories/1/children" rel="http://schemas.qype.com/place_categories.children"/>
356
+ </category>
357
+ <link href="http://api.qype.com/v1/places/268544" rel="self"/>
358
+ <link hreflang="de" href="http://api.qype.com/v1/places/268544/reviews/de" count="1" rel="http://schemas.qype.com/reviews"/>
359
+ <link hreflang="en" href="http://api.qype.com/v1/places/268544/reviews/en" count="0" rel="http://schemas.qype.com/reviews"/>
360
+ <link hreflang="fr" href="http://api.qype.com/v1/places/268544/reviews/fr" count="0" rel="http://schemas.qype.com/reviews"/>
361
+ <link hreflang="es" href="http://api.qype.com/v1/places/268544/reviews/es" count="0" rel="http://schemas.qype.com/reviews"/>
362
+ <link hreflang="pt" href="http://api.qype.com/v1/places/268544/reviews/pt" count="0" rel="http://schemas.qype.com/reviews"/>
363
+ <link href="http://api.qype.com/v1/locators/de600-hamburg" title="Hamburg" rel="http://schemas.qype.com/locator"/>
364
+ <link href="http://api.qype.com/v1/places/268544/assets" rel="http://schemas.qype.com/assets"/>
365
+ <link href="http://api.qype.com/v1/positions/53.5817,9.75437/places?without=268544" rel="http://schemas.qype.com/places.nearby"/>
366
+ </place>
367
+ </places>