4

There a way to get the opening hours of google place? I looked for in a several forum and documentations but i didn't find nothing (perhaps only foursquare API expose that information)

Google doesn't expose this information?

Is there any service that expose this? (facebook place, yelp, ecc..)

Thanks so much for all reply

Alberto

Igy
  • 43,710
  • 8
  • 89
  • 115
Alberto Rubini
  • 655
  • 3
  • 10
  • 19
  • The Google Places API does not currently support this feature. There is a feature request for this in the Places API issue tracker here: http://code.google.com/p/gmaps-api-issues/issues/detail?id=2431 Please click the 'star' icon to be notified of future changes, and to let us know you are interested in seeing it resolved. – Chris Green May 07 '12 at 01:30

3 Answers3

10

I guess this is possible now:

https://developers.google.com/places/documentation/details#PlaceDetailsResults

See this gist for sample output if you don't want to make your own Places API key or install node.

var request = require('request');
// $ npm install request
// Test code to demonstrate parsing operating hours from Google Places
// https://developers.google.com/places/documentation/details#PlaceDetailsResults

// most establishments specify one set of hours per day:
var testRef = 'CnRoAAAAhWUhxi1GkTSCMDMb2piX2JgQzcMv1v6Bv1rDWAINnWrI6T_Vkn3KRpnI5rTd2NI2f0zy4R8n6vRDoj-qTewKa3r70riORCUF-HNU1FLtI3MHNSw8z0_6fBni6hTuXCsGw1SD44I85ha9GVZOZlAS_hIQuNBJmgTHh9bCC4XvdLiDCBoUfmY1ozj0FW-TvurbmryBdwAvoPo';

// 24 hour restaurants only have one period with open:0000 and no close
var _24hrRef = 'CnRpAAAAcKNSNO0jxSONMAPx7EjG6BdgqhWbzDh1rOWM8I1HJZikRYPxW4L1A1ZwH4HEEBy5diKyXT1nRs2a7cxZK7S4oOr5HrTKewV_WGYdy-CuumuwLzSeckgXWvRdIRCW49JXUeJsqhkhtATHyyIDUYWW4RIQ38ZaUuG8A3WbRrsHLwmwDRoUfmtzSsfki7v8iBmUAZgrUIoVOt0'

// Restaurants that are closed on some days will have fewer than 7 open:close pairs

getPlaceDetails(_24hrRef, function(err, result){
  if(err){ 
    return console.log('Request error: '+err+result);
  };
  console.log('Request successful:')
  console.log(JSON.stringify(result.opening_hours, null, 2));
});

function getPlaceDetails(ref,callback){
  var config = {   
    uri:'https://maps.googleapis.com/maps/api/place/details/json',
    qs: {
      key: "SOME-VALID-GOOGLEPLACES-API-KEY",
      // Generate a new Simple API key and plug it in
      // https://code.google.com/apis/console
      reference:ref,
      sensor:'false',
    }
  };
  request(config, function(err, response, body){
    if(err){ return callback(err) };
    var res = JSON.parse(body);
    switch(res.status){
      case "OK":           return callback(null, res.result);
      case "ZERO_RESULTS": return callback(null, res.result);
      default:             return callback(res.status, body);
    };
  });
};
Plato
  • 10,812
  • 2
  • 41
  • 61
3

The Factual API exposes hours of operation as well. This is in the Restaurant API, which consists of 800k restaurants in the US. The field is structured as a JSON hash where each day of the week is indexed by an integer cf. ISO-8601: 1 = Monday through 7 = Sunday.

Docs - http://developer.factual.com/display/docs/Places+API+-+Restaurants

Demo of restaurant data - http://www.factual.com/data/t/restaurants-us

Example of a restaurant entity.

24: 24,
open_24hrs: false,
accessible_wheelchair: true,
address: "3274 21st St",
alcohol: false,
alcohol_bar: false,
alcohol_beer_wine: false,
alcohol_byob: false,
attire: "casual",
category: "Food & Beverage > Restaurants > Pizza",
country: "US",
cuisine: "Pizza, Italian, American, Fast Food, Pasta",
factual_id: "5873129b-11e9-49db-a012-967b4046420d",
fax: "(415) 695-1687",
founded: "1999",
groups_goodfor: false,
hours: "{"1":[["11:00","24:00"]],"2":[["11:00","24:00"]],"3":[["11:00","24:00"]],"4":[["11:00","24:00"]],"5":[["11:00","1:00"]],"6":[["11:00","1:00"]],"7":[["11:00","24:00"]]}",
kids_goodfor: true,
latitude: 37.75694,
locality: "San Francisco",
longitude: -122.42052,
meal_cater: true,
meal_deliver: true,
meal_dinner: true,
meal_lunch: true,
meal_takeout: true,
name: "Serrano's Pizza and Pasta",
options_vegan: true,
options_vegetarian: true,
owner: "Serranos Pizza",
parking: true,
payment_cashonly: false,
postcode: "94110",
price: 2,
rating: 4.5,
region: "CA",
reservations: false,
seating_outdoor: true,
smoking: false,
status: "1",
tel: "(415) 695-1615",
website: "http://www.serranospizza.com/"
Bill
  • 31
  • 1
2

They are exposed through the Facebook API. For example, FAO Schwartz in NYC has populated their hours:

Visit the Graph API Explorer https://developers.facebook.com/tools/explorer and type their ID in the box: 155199767827259

I'm pretty sure the Yelp API also exposes this information, but you've got to attribute any Yelp information pretty explicitly.

cpilko
  • 11,792
  • 2
  • 31
  • 45