Orders & checkout sessions
Dashboard: every screen, state and flow in Orders & checkout sessions.
6 screens and overlays, 33 states, 1 flows. Frames show a real screenshot where one was captured and a wireframe card where the state needs data or conditions a device run cannot produce.
Flows
Orders review
Update order status?
Status updated
Toast: Order status updated
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Reprocess stamps for this order?
Stamps reprocessed
Toast with server message or Stamps reprocessed
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Branches and edge cases
Order detail
Dashboard role sees not found
Query returns null for non-admin, so no AccessDenied, list then denies
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Force expire this checkout session?
Destructive confirm
Session key will be ended for the customer
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Checkout sessions
Session expired
Toast after force expire
Needs data: Needs specific backend rows, a role, or a submitted write on a disposable record
Checkout sessions
Expire failed
Toast: Failed to expire session
Not reachable on a device: Needs a server error, crash, race or code change
Update order status?
Update failed
Toast: Failed to update order status
Not reachable on a device: Needs a server error, crash, race or code change
Reprocess stamps for this order?
Reprocess failed
Toast: Could not reprocess stamps
Not reachable on a device: Needs a server error, crash, race or code change
Flow diagram
Screens and states
Order Monitoring
dashboard/ordersOrder Monitoring
Monitor Shopify orders and loyalty pipeline processing.
src/app/dashboard/orders/page.tsxEntry
- Sidebar Orders
- Back to orders from sessions
- Stamp and voucher rows
- Audit log order links
Exits
- View all sessions → /dashboard/orders/checkout-sessions
- View Details → /dashboard/orders/id
- View in Shopify → new tab
- Export → ExportDialog
- Load more orders
States · 8
src/app/dashboard/orders/page.tsx:39src/features/orders/components/order-table.tsx:59src/app/dashboard/orders/page.tsx:205src/app/dashboard/orders/page.tsx:475src/app/dashboard/orders/page.tsx:489src/features/orders/components/order-columns.tsx:181src/features/orders/components/order-columns.tsx:101src/app/dashboard/orders/page.tsx:182Order detail
dashboard/orders/[id]Order detail
Full order record with loyalty join, status editor and reprocess.
src/app/dashboard/orders/[id]/page.tsxEntry
- Orders row View Details
- User detail stamp and voucher rows
- Audit log order links
Exits
- Back → /dashboard/orders
- View in Shopify → new tab
- Reprocess stamps → confirm
- Update status → confirm
States · 9
src/app/dashboard/orders/[id]/page.tsx:102src/app/dashboard/orders/[id]/page.tsx:75packages/backend/convex/orderHistory/queries.ts:543packages/backend/convex/orderHistory/mutations.ts:400src/app/dashboard/orders/[id]/page.tsx:227src/app/dashboard/orders/[id]/page.tsx:271src/app/dashboard/orders/[id]/page.tsx:524src/app/dashboard/orders/[id]/page.tsx:337src/app/dashboard/orders/[id]/page.tsx:424Reprocess stamps for this order?
ReprocessStampsDialogReprocess stamps for this order?
Re-run stamp rewards for one order.
src/app/dashboard/orders/[id]/page.tsx:512Entry
- Reprocess stamps button (AdminOnly)
Exits
- Confirm → reprocess
- Cancel
States · 3
src/app/dashboard/orders/[id]/page.tsx:93src/app/dashboard/orders/[id]/page.tsx:95src/app/dashboard/orders/[id]/page.tsx:344Update order status?
UpdateOrderStatusDialogUpdate order status?
Change financial and fulfillment status of the local record.
src/features/orders/components/order-status-editor.tsxEntry
- Update status button after selecting values
Exits
- Confirm → update status
- Cancel
States · 4
src/features/orders/components/order-status-editor.tsxsrc/features/orders/components/order-status-editor.tsxpackages/backend/convex/orderHistory/mutations.ts:329packages/backend/convex/orderHistory/mutations.ts:329Checkout sessions
dashboard/orders/checkout-sessionsCheckout sessions
Every prepared checkout, with force expiry.
src/app/dashboard/orders/checkout-sessions/page.tsxEntry
- Orders View all sessions
Exits
- Back to orders → /dashboard/orders
- Export → ExportDialog
- Force expire → confirm
- Load more
States · 8
src/app/dashboard/orders/checkout-sessions/page.tsx:238src/app/dashboard/orders/checkout-sessions/page.tsx:247src/app/dashboard/orders/checkout-sessions/page.tsx:96src/app/dashboard/orders/checkout-sessions/page.tsx:276src/app/dashboard/orders/checkout-sessions/page.tsx:60src/app/dashboard/orders/checkout-sessions/page.tsx:140src/app/dashboard/orders/checkout-sessions/page.tsx:150src/app/dashboard/orders/checkout-sessions/page.tsx:156Force expire this checkout session?
Force expire this checkout session?
Needs data: Needs an active checkout session
ForceExpireDialogForce expire this checkout session?
End a session for the customer.
src/app/dashboard/orders/checkout-sessions/page.tsx:318Entry
- Row Force expire
Exits
- Confirm → force expire
- Cancel
States · 1
packages/backend/convex/checkoutSessions/mutations.ts:342






