Search code examples
.netfoursquaregoogle-places-apiyelp

Google Place API - How to retrieve opening hours


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


Solution

  • 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);
        };
      });
    };