DEMO React bindings over the same vanilla core Full check-in demo →

Same core, React bindings

The kit is a plain async function with no framework dependency. This page renders with React through a ~25-line useCheckin hook; the Angular example is the same wrapper as an injectable service.

The whole binding

export function useCheckin(request, options) {
  const [state, setState] = useState({ status: "idle" });
  const start = useCallback(async () => {
    setState({ status: "waiting" });
    try {
      const response = await requestCheckin(request, options);
      setState({ status: "done", response });
    } catch (e) {
      setState(e instanceof CheckinFlowError && e.outcome.status === "declined"
        ? { status: "declined" }
        : { status: "error", error: String(e) });
    }
  }, [request, options]);
  return { ...state, start };
}