Skip to main content
This page describes how Layout Mobile is structured at a high level — without internal implementation details, data schemas, or proprietary logic. It’s for technical evaluators and partners who need a clear mental model of how the system works.

System components

Layout Mobile has four main surfaces and a backend that ties them together:
ComponentRoleUsers
Customer appBranded iOS app for browsing menu, choosing location, ordering, tracking status, and engaging with loyalty, gift cards, and promotions.End customers
Merchant dashboardWeb app for branding, Square connection, location management, order settings, loyalty, promotions, analytics, and more.Owners and operators
Kitchen panelWeb-based panel for viewing and updating orders by location. Supports Layout KDS, Square KDS, and Square Expeditor.Kitchen and store staff
BackendHosted APIs, Square sync, event handling, payment orchestration, push notifications, and secure credential management.Used by all of the above
All data is company-scoped: every request and record is tied to a specific merchant account (and often a specific location). There is no shared data across merchants.

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.
Square owns catalog, locations, and money movement. Stripe owns subscription billing. Layout owns the app experience, order lifecycle, engagement features, and kitchen display.

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.
No customer or merchant credentials are mixed across merchants.

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 systemLayout’s role
SquareOAuth connection, catalog/location/inventory/loyalty/gift card sync, payment creation, event-driven updates.
StripeSubscription billing; plan status kept in sync via Stripe event notifications.
Push / Live ActivityCustomer notifications for order status and loyalty, plus iOS Live Activity for lock-screen order tracking.
Apple App StoreEach merchant’s branded app is submitted as a distinct App Store listing with per-brand deep link support.

Next steps