Make a custom macro method in the Util Namespace that is "GetDestinationPath(NodeAliasPath)"
In that method, get the TreeNode of that NodeAliasPath
var ThePage = new DocumentQuery().Path(NodeAliasPath).FirstOrDefault();
Then do a switch on the class name to determine the proper path.
switch(ThePage.ClassName.ToLower()) {
case "custom.country":
return string.Format("/{0}/{1}", ThePage.Parent.NodeAlias, ThePage.NodeAlias);
case "custom.city":
return string.Format("/{0}/{1}/{2}", ThePage.Parent.Parent.NodeAlias, ThePage.Parent.NodeAlias, ThePage.NodeAlias);
}
Lastly, for your URL pattern, you would do:
/{%DocumentCulture%}/destinations/{% Util.GetDestinationPath(NodeAliasPath) |(identity)GlobalAdministrator%}