Skip to main content

Hooks

Each component in the SDK is built on a hook with the same data flow. These two are the ones every embed needs directly — the rest of the hook surface backs components and is rarely consumed independently.

  • useCheckout — confirm the active reservation, branch on free vs paid, surface server errors.
  • useOrderStatus — poll the order until it reaches a terminal state (completed, failed, refunded).
  • useTicketingConfig() — read whether Ticketing is enabled for the event, and whether checkout is free or paid.

Hooks behind the pricing surface

These two power <EstimateBreakdown>, <TicketRow>, and the aggregated picker. Consume directly when you're building a custom UI that bypasses those components.

  • useTicketTypes() — aggregated, currently-active view of the event's ticket types. One entry per ticket-type ID with fromPrice, totalAvailable, maxPerOrder, and the contributing sourceWaves sorted cheapest-first.
  • useSelectionEstimate() — greedy-fill breakdown for the current selection. Returns the tree shape <EstimateBreakdown> renders.

The full algorithm and disclaimer requirements live in Pricing and estimates.

Other hooks (covered by their components)

useConfig, useAvailability, useReservation, useReservationCountdown, useCaptcha, usePaymentStatus, useLocale, useHasHydrated, useRiftProvider, useRiftEvent, useSession, useAuthCallback, useAttendeeOrders — these power the components on the happy path. Their public types are exported from @feelrift/react with full JSDoc.