-
-
Save sosedoff/2504683 to your computer and use it in GitHub Desktop.
| require "faraday" | |
| require "faraday_middleware" | |
| module OpenTable | |
| class Error < StandardError ; end | |
| module Request | |
| API_BASE = "http://opentable.herokuapp.com" | |
| def connection | |
| connection = Faraday.new(API_BASE) do |c| | |
| c.use(Faraday::Request::UrlEncoded) | |
| c.use(Faraday::Response::ParseJson) | |
| c.adapter(Faraday.default_adapter) | |
| end | |
| end | |
| def request(method, path, params={}, raw=false) | |
| headers = {'Accept' => 'application/json'} | |
| path = "/api#{path}" | |
| response = connection.send(method, path, params) do |request| | |
| request.url(path, params) | |
| end | |
| if [404, 403, 400].include?(response.status) | |
| raise OpenTable::Error, response.body["error"] | |
| end | |
| raw ? response : response.body | |
| end | |
| def get(path, params={}) | |
| request(:get, path, params) | |
| end | |
| end | |
| class Client | |
| include Request | |
| def countries | |
| get("/countries") | |
| end | |
| def cities(country=nil) | |
| get("/cities") | |
| end | |
| def restaurants(options={}) | |
| get("/restaurants", options) | |
| end | |
| def restaurant(id) | |
| get("/restaurants/#{id}") | |
| end | |
| end | |
| end |
Is there a way to get descriptions back for the restaurants?
Is there any search available?
Why does the opentable link show only reservations until 9.30?
I have ref_id and I need to pass datetime and party size parameter into the request so that i can get same results on openTable.Please respond on this soon. .Thanks
Is there any API to get the customer details who have done a reservation or book a table of particular a restaurant.
Hey for all restaurants the image url are not working....
Hi, the restaurants images (image_url) are not working, it shows the same image for all.
Want to query restaurants within a GEO Square, FROM/TO Lat/Long
1 - Restaurant image is always the same. Can this be fixed?
2 - Cuisine Type filter doesn't seem available. Is this something that can be added?
I presume this is just a search API. There are no API's for locking a slot or making a reservation. Correct?