Framing booking as a packing problem is a helpful way to see it. From the menu side, the same pressure shows up at ordering: a party of four rarely wants four identical meals, so the system has to hold the table, the party size, and the order together without losing track of who ordered what. I also think clear time slots help guests more than open-ended reservations, because people can plan around a known window instead of guessing when a table will free up. The trick is keeping that structure friendly, so the booking feels like a welcome, not a constraint.