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 withfromPrice,totalAvailable,maxPerOrder, and the contributingsourceWavessorted 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.