Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Next.js template using Wix Headless to manage classes and memberships via Wix Bookings and Pricing Plans.

Astro landing page starter with gradient background, responsive hamburger/dropdown menu, and switchable floating/fullscreen headers.
The Wix Bookings Next.js Template is a boilerplate for building a personal trainer website with class bookings and membership plans on any Next.js 13 host.
The template is a headless website starter that connects a custom Next.js frontend to Wix's Bookings and Pricing Plans business solutions. It takes a Wix project with these apps installed and renders class schedules, booking flows, and membership offers on the public site. The codebase is written in TypeScript, bootstrapped with create-next-app, and runs on Next.js 13 using the App Router.
NEXT_PUBLIC_WIX_CLIENT_ID is needed, set in a .env.local file created from .env.template.A developer creates a Wix Headless project, adds the Bookings and Pricing Plans apps, and authorizes the template either through quick-start deployment or by creating an OAuth app. The OAuth client ID is then pasted into a .env.local file as NEXT_PUBLIC_WIX_CLIENT_ID. After running npm run dev, the site is available at http://localhost:3000 and the homepage can be edited at app/page.tsx.
NEXT_PUBLIC_WIX_CLIENT_ID?It is the client ID from a Wix OAuth app that grants the template access to your Wix project's Bookings and Pricing Plans data. Without it the site cannot fetch any classes or membership plans.
Copy .env.template to .env.local, paste your Wix OAuth client ID after the NEXT_PUBLIC_WIX_CLIENT_ID= line, install dependencies with npm i, and run npm run dev. The site will be served at http://localhost:3000.
Yes, any platform that supports Next.js 13 with the App Router can host it. The repository needs only the single environment variable NEXT_PUBLIC_WIX_CLIENT_ID to be set during deployment.
Payment handling is managed by the Wix Pricing Plans and Bookings apps in the Wix dashboard; the template renders the booking and purchase flows using Wix Headless, but the actual payments happen through Wix.
