qype-qype 0.1.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/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>