The problem
Meal Plan was one step in a long site setup form, and it looked the same no matter which backend was actually running it.
Adding a site to the platform means working through Location Details, Payment Info, Meal Plan, Loyalty, Promotions, KDS Configuration, Delivery, and Foodlocker, one after another. The Meal Plan step configures tenders like declining balance, meal swipes, meal equivalency, and meal exchange, running through one of five backend providers: Atrium, CBoard, Transact, TouchNet, or ITC. Each provider needs different fields; Transact alone asks for a host, port, AES key, vendor ID, and a list of terminal IDs. Meal equivalency had been locked to whichever provider happened to support it, and its redemption windows were typed in on a 24-hour clock, where a single wrong digit produced a silent error.







