I used a system that progressed during the ages. First we used Disney dollars, but that's not an option anymore. At 7 we started gift cards just for snacks. Then we started using it for snacks and suveniors. Then about 12 or 13 we let them do gift cards for quick snack during lunch, as well as snacks and suveniors. Yes there were vacations they left upset because they over spent and had no snacks for a few days, ( at least not the snacks they wanted, just cheese its from moms stash).
We would make them take the receipts and add them up and show us what they had left at the end of each night. By the time they were 18 they were able to pay for everything, even all there own meals, and there share of the resort room. Yes, we started it by making them pay into the vacation also, even at a young age. We gave allowance, but the kids had to pay into family vacations and such. For round figures, I am using higher numbers, but say allowance was $50, they had to put 5% into family vacation, so they would have to put $2.50 into the jar every week for a year. Which gave the kids $130 for suveniors at the end of year, we never charged them for food or anything, but I feel it did very much help my children learn not just how to spend money responsibly but how when they earn it, how to save it for a vacation a year out.