useExperienceJourney when you want React state management from the adapter but your own markup for each journey state.
claim() to begin checkout: it returns the AdmissionGrant (use grant.token for handoff) and starts checkout, stopping the client-side grant-expiry timer so the server reservation owns the deadline. An unclaimed grant lapses to an ended sequence with an "expired" outcome.
Gate handling
YourGatePanel should complete the user action, then call reroute().
view.submitAccessCode(code), which returns an AccessCodeSubmitResult instead of rerouting the gate.
Use generic customer-facing copy for gates. Do not describe private enforcement or routing logic.