Take a look at the sheet called Hours on this spreadsheet. That should do what you want. (Ignore the other tabs, I just tacked it on to this spreadsheet instead of creating a new one.)
Last Q, what if restaurants have different hours, do I have to add something to the function?
Also, I should put this on a separate tab, and on the column of a respective restaurant copy it?
I guess you would have to list the hours for each restaurant in 7 columns on the restaurant individual details row. Then modify the formula a bit, probably use the hlookup() function instead of the lookup() that I used.
The today() is within the formula. Look up the OFFSET() function in the Google Sheet docs to see how that works. The Weekday() function returns the day of the week for a given date. The date that is used is today(). The minus one is needed because of the zero based array that the Offset() function uses.
Keep in mind to make sure your spreadsheet has the proper Time Zone set in the File/Spreadsheet Settings. It should match what timezone all your restaurants are in. If you were to happen to have restaurants in different time zones you would have to factor that into the calculation by adding or subtracting the proper number of hours from what Today() is returning.