An order is only useful when the kitchen accepts it
At 7:15 pm a customer pays for two noodle bowls through a restaurant’s website. One bowl needs a required protein choice, the kitchen has sold out of tofu, and the POS request times out. A reassuring confirmation screen cannot resolve those three facts. The restaurant needs an order identifier, a valid ticket, a visible acceptance decision and a way to explain the payment outcome before anyone starts cooking.
A ChowNow-style build gives an independent restaurant its own branded ordering channel and customer relationship tools. Scope it around the kitchen’s operating loop: menu, payment, acceptance, preparation and handoff. ChowNow is a descriptive reference; its software, restaurant network, commercial terms and vendor affiliations are not included. A restaurant website can be the first useful channel when a separate mobile app adds no necessary capability.
Put the restaurant and location before the basket
A diner arriving from the restaurant’s own website should know which location receives the order, its opening hours and available pickup or delivery options. Keep restaurant identity, contact details and service boundaries visible throughout checkout. A saved basket from yesterday or another branch needs fresh validation; the same item name can have a different price or availability at a second location.
Agree who controls the domain, brand assets and published menu. Confirm the restaurant can recover access and customer records at handover. This buying brief concerns a restaurant-owned channel, where the restaurant operates the relationship and fulfills the ticket. Acquiring a pool of restaurants, ranking discovery listings and recruiting a courier supply network would create a materially different operating scope.
Compare the DoorDash-style local delivery marketplace scope when discovery and multi-restaurant dispatch are the intended business. Keep that decision explicit before borrowing screens or quoting an implementation.
Model modifiers as kitchen instructions with limits
Use a real restaurant menu to define required selections, optional extras, minimum and maximum choices, item dependencies and price adjustments. A bowl might require one protein, allow two toppings and charge for an extra portion. Free-text instructions should complement those rules rather than bypass an unavailable ingredient or create an unpriced substitution. Preserve the selected choices on the ticket and customer receipt.
Test nested options, repeated items with different choices and a price change while the basket is open. Revalidate at checkout and explain any change before payment. Decide whether the POS or ordering console owns each item, modifier group and availability flag. An operator should be able to remove an unavailable item promptly without accidentally deleting the historical definition used by completed orders.
Make allergen disclosure an owned publishing task
Assign the restaurant responsibility for reviewing ingredient and allergen information, with a named approver and revision date. Place approved disclosures where the diner makes choices, including modifiers that add an ingredient. A generic footer statement cannot explain whether a selected sauce contains an allergen. Provide an accessible way to contact the restaurant when the published information cannot answer a question.
Record allergy-related notes clearly for staff review and define when an order must be declined or clarified. Removing an ingredient does not prove absence of cross-contact, and an interface should not promise an allergen-free meal without an approved basis. Review local food-information obligations for the actual launch market. Retain the relevant menu disclosure revision so support can establish what the customer saw when ordering.
Tie the payment outcome to restaurant acceptance
Choose when authorization, capture and restaurant acceptance occur with the payment provider and owner. The customer should distinguish an order submitted for review from an accepted order with a preparation estimate. Define the acceptance timeout, customer notification and handling of a rejected ticket. A captured payment for a meal the restaurant cannot prepare needs an accountable cancellation and refund path.
Give each checkout attempt a stable identifier so a repeated tap or retried request cannot create two kitchen tickets or charges. Record provider callbacks and reconcile unknown results rather than showing a definitive failure after a timeout. If the restaurant changes a quoted preparation time, decide how the customer is informed and whether a cancellation option applies. Keep operator decisions and payment references available to restricted support roles.
Prove the POS handoff beyond a green status badge
A POS connection needs verified account access and actual item, modifier, tax and location mappings. Decide what constitutes acknowledgement: API receipt, created check or a ticket visible to kitchen staff. An outbound request alone is insufficient evidence that preparation can begin. Keep synchronization errors actionable, showing the order identifier and reason without exposing unnecessary customer or payment data.
The Toast ChowNow integration directory describes ordering from restaurant websites and branded apps, with order and menu synchronization. This demonstrates the vendor category, not entitlement to that integration in an independent build. Confirm approved access, supported fields and operational behavior for the restaurant’s selected POS.
When the acknowledgement is lost, look up the existing ticket before replaying it. Test duplicate callbacks, unmapped modifiers and a disconnected POS. A reviewed manual fallback can work for a bounded launch if staff can identify and acknowledge the order; it needs training, reconciliation and a clear ceiling on peak volume. Do not let automatic and manual paths both create a ticket.
Use capacity controls to protect the promised pickup time
A pickup slot is a preparation commitment. Define how many orders or item workloads the kitchen can accept per window and how scheduled orders consume that capacity. Separate public opening hours from order cutoffs, preparation lead time and holiday overrides. Staff need a visible queue, an acceptance deadline and permission to extend estimates or pause new ordering during a rush.
Pausing should clearly affect new baskets and checkout attempts while preserving accepted orders. Test a basket created before the pause and a scheduled order that becomes due while the kitchen is busy. Record who changed capacity and why. Measure the difference between promised and actual readiness using agreed timestamps; a short checkout estimate is useful only when the kitchen can consistently honor it.