Be careful of food based suggestions, if your dog has any wariness around strangers, other dogs or resource guarding then you don't want them to be worried by waitresses, other dogs going past.
There's someone in a cafe near me that insists on giving her dog a chew or a filled kong in the cafe, her usually polite dog then grows at everyone going past, and snaps at dogs walking past to their own table.
Adding something to guard can massively increase your dogs restlessness (and there's the possible passing dogs will also try and get involved!). Id also argue snuffle mats etc aren't teaching a settle
I would look at grading the experience, don't start with a meal busy cafe indoors where you are near other customers and dogs. Start slowly, a table in a quiet corner in an empty cafe or quiet table outdoors (be mindful of somewhere out the way if seeing passing people and dogs is a trigger). Get a very quick snack or drink to go as dog needs to lay down and settle, I doubt you'll have time for a whole drink before they get restless.
Slowly build up time, and how busy the restaurant is.
Often dogs are a bit thrown by people stopping on a walk, so build up times in your walk where you just sit and dog is expected to be calm sat with you.
Pick your timing carefully, at the start of the walk the dog is likely to be over excited and too full of beans, at the end of the walk they might be exhausted, grumpy or completely over stimulated.
Often holidays aren't the right time to start because the change of routine, new places etc adds another challenge