Baby's second challenge response. This was helpful cross-tab practice. I don't like that I've filtered the dates by string, or how ugly the meal filter is, but I need to accept that sometimes "done" is better than "perfect". I'll learn better with time!
I used a formula to generate flags for each meal type, then a summarize max (read: boolean AND), grouping by ticket id to find the ones that matched all three conditions.