System components
Layout Mobile has four main surfaces and a backend that ties them together:| Component | Role | Users |
|---|---|---|
| Customer app | Branded iOS app for browsing menu, choosing location, ordering, tracking status, and engaging with loyalty, gift cards, and promotions. | End customers |
| Merchant dashboard | Web app for branding, Square connection, location management, order settings, loyalty, promotions, analytics, and more. | Owners and operators |
| Kitchen panel | Web-based panel for viewing and updating orders by location. Supports Layout KDS, Square KDS, and Square Expeditor. | Kitchen and store staff |
| Backend | Hosted APIs, Square sync, event handling, payment orchestration, push notifications, and secure credential management. | Used by all of the above |
How data flows
- Square is the source of truth for catalog, locations, and payments. Layout connects via OAuth and maintains a secure, per-merchant connection.
- Catalog and locations sync from Square into the platform at connect time and stay current via Square event notifications and a daily scheduled job.
- Inventory reflects Square’s sold-out states in near real-time.
- Orders originate in the app, move through the backend, and payment is processed by Square. Order status is tracked in the platform and surfaced to both the kitchen and the customer app.
- Billing — Merchant subscriptions are managed via Stripe. Plan status gates access to features like ordering and gift cards.
Authentication and access
- Customer app — Customers sign in via phone-based authentication. Every action (ordering, checkout, loyalty) requires a valid session tied to that customer.
- Dashboard and panel — Owners and staff sign in with role-based access. Permissions are scoped to the company and, where relevant, specific locations. Only authorized users can change settings, connect Square, or view sensitive data.
- Square — The connection is per merchant. Tokens are stored securely and automatically refreshed. All Square event notifications are verified before processing.
Where things run
- Customer app — Native iOS app; communicates with the backend for ordering, status, and account data.
- Dashboard and panel — Web apps; use the same backend and tenant-scoped data.
- Backend — Hosted and operated entirely by Layout. No merchant-hosted servers or databases are required. Merchants connect Square and configure the dashboard; Layout handles the rest.
Integration points
| External system | Layout’s role |
|---|---|
| Square | OAuth connection, catalog/location/inventory/loyalty/gift card sync, payment creation, event-driven updates. |
| Stripe | Subscription billing; plan status kept in sync via Stripe event notifications. |
| Push / Live Activity | Customer notifications for order status and loyalty, plus iOS Live Activity for lock-screen order tracking. |
| Apple App Store | Each merchant’s branded app is submitted as a distinct App Store listing with per-brand deep link support. |
Next steps
- Integration flow — How a customer order moves from app to payment and kitchen.
- Square integration — What we sync, how the connection works, and how updates flow.
- Multi-location — How companies and locations are modeled.

