Digital Restaurant Architecture
One connected platform beneath every order.
Dira connects delivery marketplaces, menus, POS systems, stores and finance through one shared core. Every product works from the same orders, catalog and event history, so teams stop stitching systems together by hand.
A marketplace order enters through its adapter, becomes one canonical order with its own event history, then reaches the POS, the store team and the consoles.
- Uber EatsUber Eats: Integrated
- DoorDashDoorDash: In development
- GrubhubGrubhub: In development
Marketplace adapters
Webhooks · signatures · mapping
POS adapters
Gateway contract · brand connectors
Infrastructure adapters
Events · storage · cache
Canonical orders
One order model for every channel
Catalog
Versioned menus, prices, availability
Store identity
Hours, channel mappings, POS binding
Event history
Every state change, in order
Controls
Roles, approvals, audit
POS and kitchen
Dira Bridge
Store app
Dira Store
Consoles
Command · Catalog
Finance
Dira Reconcile
Six products. One system.
Each product owns a moment in the life of an order. Because they share the core, a change made in one appears in the others without an export or a sync job.
Intake
- Dira ConnectMarketplace orderingReceives marketplace orders, validates them against the catalog and keeps status in sync with each channel.Writes orders and events · reads catalog and stores
- Dira CatalogMenus, pricing and availabilityManages items, modifiers, prices and availability, then publishes each channel's menu from one source.Writes catalog versions · reads store identity
Execution
- Dira BridgePOS and kitchen connectivitySends orders to the POS and kitchen through the POS gateway and recovers when a POS is unavailable.Reads orders and mappings · writes POS events
- Dira StoreIn-store order operationsGives store teams an order queue, alerts, manual entry, 86 and pause controls on a tablet.Reads orders · writes availability and handoffs
Oversight
- Dira CommandOperations and administrationShows the network, each store and each order, with the exception queue, replay, roles and audit history.Reads every record · writes controls and replays
- Dira ReconcileMarketplace financeImports marketplace payouts, matches each line to its order and checks commissions against contract rates.Reads orders and events · writes matches and journals
Follow one order from intake to payout.
Step through a single Uber Eats order as it moves through Dira. Switch the scenario to see what happens when the store's POS stops answering.
The order arrives once
The Uber Eats webhook is verified and checked against its idempotency key, then converted into one canonical order. Items and modifiers are mapped to the catalog before the order is accepted.
Dira Connect- 11:42:03webhook.receivedSignature verified
- 11:42:03order.createdIdempotency key new · canonical order DR-48213
- 11:42:04order.mapped3 items · 4 modifiers resolved against catalog
- 11:42:05order.acceptedStatus synced to Uber Eats
Step 1 of 6: The order arrives once. 4 new events.
Every step writes to the same order and the same event history.
Reliability and operations
Built for the night the POS goes down.
Restaurant systems fail in ordinary ways: a store controller times out, a marketplace rejects an update, a menu mapping is missing. Dira is designed so each failure is caught, retried, visible and recoverable.
Read the architectureResilience
- Idempotency
- Every inbound event and outbound call carries an idempotency key. A duplicate webhook or a repeated retry never creates a second order or a second POS check.
- Retries with backoff
- Failed calls to a POS or marketplace retry on a backoff schedule. When retries run out, the work moves to an exception queue instead of disappearing.
- Outbox events
- A state change and its event are committed together, then published from the outbox. Downstream products never hear about a change that did not happen.
- Exception queues
- Anything that needs a person lands in one queue with the order, the stage, the reason and the attempts so far. Store teams are alerted when it affects them.
- Replay
- Operators replay a failed step from Command once the cause is fixed. Replays reuse the original keys, so the result is applied exactly once.
- Health monitoring
- Marketplace adapters, POS adapters and stores report health continuously. A degraded store is flagged before the next order arrives, not after a complaint.
Operations and control
- Role-based access
- Roles decide who can change prices, pause stores, replay orders or close a payout period, across every product.
- Audit history
- Every change and every replay is attributed and timestamped, from a menu publish to a manual POS entry.
- Load and chaos testing
- The platform is load tested and chaos tested, with adapters and dependencies failed on purpose to prove recovery paths work.
- DDDR-48212pos.submit
Store controller timeout
Legacy West · Retry 2 of 5
- UEDR-48176order.map
Modifier not in catalog version
Domain North · Held for action
- GHDR-48150status.sync
Status update rejected by channel
Montrose · Retry 5 of 5
Replays reuse each event's idempotency key.
Connected to the systems you already run.
Each connection is listed with its real status. Uber Eats is integrated today, and the DoorDash and Grubhub adapters are in development on the same order model.
All integrations- MarketplaceOrders in, status both ways, menus and availability out.Uber EatsIntegratedDoorDashIn developmentGrubhubIn development
- POSOne gateway contract, with each brand's POS behind its own adapter.POS gatewayPlatform capabilityBrand POS connectorsScoped per deploymentStore tablet appPlatform capability
- InfrastructureThe services, data and interfaces Dira runs on.Google CloudReference deploymentPostgreSQLPlatform capabilityDira APIsPlatform capability
- Finance / AnalyticsPayout reports in, reconciled journal entries out.Marketplace payout reportsPlatform capabilityJournal exportPlatform capabilityOperational analyticsPlatform capability
Platform questions
See the whole platform run one of your orders.
Bring your channels, POS and store structure. We'll walk an order through Dira end to end.