Product flow · derived view

Checkout flow — partial view

A view derived from checkout.flow.json, not an edit surface. This is a partial view: the empty-cart screen state and the session-heartbeat system transition are excluded, and both are named in the fidelity ledger below.

Checkout flow, partial view The checkout entry point opens the cart. The cart advances to shipping, shipping advances to payment, and payment advances to the confirmation screen, which is terminal. Payment is the focal screen. A declined card moves payment into its error state, which returns to payment on retry, and shipping can return to the cart to edit the basket. Both return paths are drawn as dashed back-edges. This is a partial view: the empty-cart state and the session-heartbeat transition are excluded and listed in the fidelity ledger. Start checkout entry.checkout-start Cart screen.cart Shipping screen.shipping Payment screen.payment Confirmation ✓ screen.confirmation · terminal Payment error screen.payment.error open cart checkout continue pay now card declined retry ↩ edit basket ↩

Derived-view declaration

Source
checkout.flow.json
Source reference
v3.2.0
Generated
2026-08-16
Flow lint
Passed — ui flow lint, run by the author
Diagram lint
Passed — ui diagram lint, run by the author
Fidelity
Partial — the ledger below is non-empty

Fidelity ledger

ActionAffected IDsReason
drop screen.cart.empty Empty-basket state; never reachable on the purchase path this view answers.
drop t-session-heartbeat AFTER_DELAY system transition with no user-visible effect.

Nothing is merged or collapsed. Both lints check disjoint things and neither resolves a data-source-id against the source flow — that resolution, and this ledger's completeness, is a manual audit.