AKIN Travel developer platform
Add AKIN Travel loyalty, authentication, and bookings to your product — on any stack. Everything is exposed through a single, partner-scoped GraphQL API, so a web app, a mobile app, or a back-end service all integrate the same way.
If you’re building in React or Next.js, the optional @akin-travel/partner-sdk wraps that API in providers, hooks, and headless components so you can ship in minutes. Every other stack (Vue, Svelte, Android, iOS, Go, …) talks to the API directly — the Quickstart shows the same flow in each.
What you can build
- Members & tiers — read points balances, tier progression, and benefits for the signed-in member.
- Authentication — magic-link, passkey, and email/password flows backed by Google Identity Platform (GIP).
- Bookings — list upcoming and past stays, surface in-stay perks, and trigger automatic loyalty enrolment.
- Localisation & currency —
en/es/fr/ptcontent with currency conversion (built into the React SDK; available as fields on the API).
Two ways to integrate
| GraphQL API | React SDK | |
|---|---|---|
| Works with | Any language or framework | React 18 / 19, Next.js 15 / 16 |
| You write | Queries + the auth exchange | A provider + hooks |
| Auth | Firebase custom-token → ID token, sent as a Bearer header | Handled for you |
| Start here | Using the API | Quickstart → React |
Both paths hit the same endpoint and the same schema. The SDK is a convenience layer, not a separate product — anything it does, you can do directly against the API.
How the React SDK is shaped
When you are on React, the SDK exposes three layers; pick whichever fits your team:
- Provider — wrap your app once with
<AkinProvider>(plus optional<I18nProvider>/<CurrencyProvider>); any descendant can read auth, loyalty, language, and currency from context. - Hooks (
useAkinAuth,useAkinLoyalty,useI18n,useCurrency) — what most apps actually call. Typed state plus actions. - Headless components (
<LoginForm>,<SignupForm>,<MagicLinkForm>,<RequireAuth>, …) — render-prop components that own the logic while you write the markup.
The SDK reference lists every export; it’s generated from the package source, so it can’t drift.
What’s beta
The platform is in beta. Specifically:
- GraphQL introspection is gated on a valid partner API key — see Authentication.
- Some surfaces are still roadmap: Sandbox reset and Webhooks land in phases 1.4 and 3.2.
- Error codes are stable; copy in error messages may change. Always switch on
extensions.code, never the message.