ProjectR Docs
Screen MapMobile app

Order confirmation

Mobile app: every screen, state and flow in Order confirmation.

1 screens and overlays, 11 states, 2 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

Order confirmation

Step 1
Wireframe

Order Confirmed!

Loading

Loading your order

Polling every 3 s; message shows attempt n/10

Not reachable on a device: Transient loader; needs throttled network

Loader while the order document is polled
Order arrives
Step 2
Wireframe

Order Confirmed!

Success

Order Confirmed!

Order document exists, even if payment status is pending

Needs data: Capture audit 2026-10-30. ios: Real checkout/payment required; do not bypass route allowlist. android: Real checkout/payment required; do not bypass route allowlist.

Order Confirmed with summary and actions
View Order Details
Step 3
Order Details, Loaded order (iOS)Order Details, Loaded order (Android)
Order detail opens

Branches and edge cases

Edgefrom step 1
Wireframe

Order Confirmed!

Edge

Order Processing timeout

No order after 30 s; screen flips to success if webhook lands later

Not reachable on a device: Needs a network fault, crash, race or code change to show

No document after 30 s
Errorfrom step 1
Wireframe

Order Confirmed!

Error

Unable to load order details

Missing shopifyOrderId or order not visible; Please try again later

Needs data: Capture audit 2026-10-30. ios: Real checkout/payment required; do not bypass route allowlist. android: Real checkout/payment required; do not bypass route allowlist.

Missing id or hidden order
Edgefrom step 1
Orders (iOS)Orders (Android)
Processing: View Order History
Edgefrom step 1
Home (iOS)Home (Android)
Processing: Continue Shopping
Edgefrom step 2
Know when your order ships, Offer rule (iOS)Know when your order ships, Offer rule (Android)
About 1.2 s later, offer notifications
Edgefrom step 2
Wireframe

Order Confirmed!

Edge

No stamp or reward message

Screen shows no stamp earned, voucher used or points copy

Needs data: Capture audit 2026-10-30. ios: Real checkout/payment required; do not bypass route allowlist. android: Real checkout/payment required; do not bypass route allowlist.

Stamp or reward message absent
Flow diagram

Checkout to first order view

Step 1
Wireframe

Order Confirmed!

Loading

Loading your order (attempt n/10)

Waiting for webhook to create the order

Not reachable on a device: Transient loader; needs throttled network

Screen polls every 3 s for up to 30 s
Order appears
Step 2
Wireframe

Order Confirmed!

Success

Order Confirmed!

Order document exists, even if payment status is pending

Needs data: Capture audit 2026-10-30. ios: Real checkout/payment required; do not bypass route allowlist. android: Real checkout/payment required; do not bypass route allowlist.

Order confirmed with actions
View Order Details
Step 3
Order Details, Loaded order (iOS)Order Details, Loaded order (Android)
Order detail opens

Branches and edge cases

Edgefrom step 1
Wireframe

Order Confirmed!

Edge

Order Processing

30s timeout; History and Shopping buttons

Not reachable on a device: Needs a network fault, crash, race or code change to show

30 s elapse
Errorfrom step 1
Wireframe

Order Confirmed!

Error

Unable to load order details

Missing shopifyOrderId or order not visible; Please try again later

Needs data: Capture audit 2026-10-30. ios: Real checkout/payment required; do not bypass route allowlist. android: Real checkout/payment required; do not bypass route allowlist.

Order not visible
Edgefrom step 2
Know when your order ships, Offer rule (iOS)Know when your order ships, Offer rule (Android)
Permission rules allow, after 1.2 s
Edgefrom step 2
Wireframe

Order Confirmed!

Edge

No header or back control

Only Android hardware back leaves without a button; no deep link entry

Needs data: Capture audit 2026-10-30. ios: Real checkout/payment required; do not bypass route allowlist. android: Real checkout/payment required; do not bypass route allowlist.

Permission rules block: stay
Flow diagram

Screens and states

Order Confirmed!

Wireframe

Order Confirmed!

Needs data: Needs a real completed checkout or a real shopifyOrderId

Screen(app)/order-confirmation

Order Confirmed!

Post checkout confirmation with order number, total and next-step buttons

src/app/(app)/order-confirmation.tsx

Entry

  • Bag checkout completion (replace)

Exits

  • View Order Details → /(app)/orders/[id]
  • Continue Shopping → Home
  • View Order History → /(app)/orders
  • Back to Home → Home
  • Notification permission modal after 1.2 s

States · 11

Loading
Loading your order · Polling every 3 s; message shows attempt n/10src/app/(app)/order-confirmation.tsx:37
Edge
Order Processing timeout · No order after 30 s; screen flips to success if webhook lands latersrc/features/orders/hooks/use-convex-orders.ts:436
Error
Unable to load order details · Missing shopifyOrderId or order not visible; Please try again latersrc/app/(app)/order-confirmation.tsx:83
Success
Order Confirmed! · Order document exists, even if payment status is pendingpackages/backend/convex/webhooks/shopify.ts:1507
Edge
No stamp or reward message · Screen shows no stamp earned, voucher used or points copysrc/app/(app)/order-confirmation.tsx:109
Edge
No header or back control · Only Android hardware back leaves without a button; no deep link entrysrc/shared/utils/route-validation.ts:33
Edge
Notification prompt · Once per visit if eligible, pushes notification-permission modalsrc/features/notifications/hooks/use-offer-notifications-after-order.ts:12
Gate
Signed out unreachable · Not reachable signed outsrc/app/(app)/order-confirmation.tsx
Offline
Offline loader then timeout · Loader holds until the 30 s Order Processing screensrc/app/(app)/order-confirmation.tsx:37
Loading
Loading your order (attempt n/10) · Waiting for webhook to create the ordersrc/app/(app)/order-confirmation.tsx:43
Edge
Order Processing · 30s timeout; History and Shopping buttonssrc/app/(app)/order-confirmation.tsx:54

On this page