I would use 'on' due to the fact a weekend is 2 days (or even more). 'At' is much more specific, for your smaller place or shorter time, While on/in are employed for for a longer time durations or bigger spaces. "Let's consume at an Italian restaurant at 9pm" in opposition to "Let us eat in downtown on Friday".The instance outlined higher than that