With 10Web, you can create a website or web app where customers browse classes, view schedules, book available places, and enroll in courses. Whether you run a yoga studio, Pilates studio, gym, martial arts club, dance school, swim school, or another class-based business, you can manage your classes and bookings from one place.
You can create a class-booking website or app from scratch using the 10Web AI Builder, or add class-booking functionality to an existing website or app created with 10Web Vibe Coding.
This article explains how to set up your business information, locations, instructors, classes, timetables, booking rules, and courses using AI and the WordPress management interface.
What you can create with 10Web Classes & Memberships
The Classes & Memberships functionality supports different ways of organizing classes and managing bookings:
- Recurring classes: Weekly yoga, Pilates, fitness, dance, martial arts, or other regularly scheduled sessions.
- One-off sessions: Workshops, special classes, introductory sessions, and events that take place on a specific date.
- Courses: Programs consisting of multiple sessions purchased through one enrollment, such as an eight-week swimming course.
- Private lessons: Classes with one available place at a fixed scheduled time.
- Online classes: Virtual sessions with meeting links.
- Class bookings: Reservations with capacity limits, booking windows, waitlists, and cancellation policies.
- Instructor management: Instructor profiles, assignments, and time off.
- Multiple locations: Physical studios, rooms, and online locations.
You can also offer memberships, prepaid class packs, and time passes, and allow customers to manage their bookings and plans through their accounts.
Important:
Classes & Memberships is intended for class-based websites and web apps created with 10Web Vibe Coding. It uses its own booking functionality, separate from the 10Web Appointments plugin. It is designed for scheduled classes, courses, and recurring access rather than traditional appointment scheduling or recorded online courses.
Step 1. Create a class-booking website or app with AI
If you are starting a new business website or web app, describe the type of classes you offer and how customers should book them.
- Visit 10web.io or open your 10Web dashboard.
- Start creating a new website or app using the AI Builder.
- Describe your business, the classes you offer, and the booking functionality you need.
- Specify any requirements for instructors, locations, memberships, class capacity, and scheduling.
- Review the proposed website or app structure and functionality.
- Approve the plan and start generating your project.
- Review the generated pages and class-booking functionality.
Example prompt: Create a yoga studio website
Create a modern website for a yoga and Pilates studio called Balance Studio. Include a homepage, class timetable, instructor profiles, membership plans, and online class booking. Offer morning yoga, evening yoga, Pilates, and beginner classes. Each class should have a maximum of 15 participants. Allow customers to browse classes by day and instructor, book available places, join waitlists, and manage bookings from their accounts. Use a calming, minimal design with natural colors.
Example prompt: Create a dance school app
Build a web app for a dance school that offers weekly classes and term-based courses. Parents should be able to register their children, browse classes by age group, enroll in courses, and view upcoming lessons. Include instructor profiles, class schedules, capacity limits, waitlists, and a management interface for staff.
Quick tip:
Include your class names, typical schedules, number of participants, instructor information, and pricing in your initial prompt. This helps the AI configure your project around your business requirements.
Step 2. Add class-booking functionality to an existing 10Web project
If you already have a website or web app created with 10Web Vibe Coding, you can use the AI editor to request class-booking functionality without starting a new project.
- Open your existing 10Web Vibe-coded website or app in the 10Web Editor.
- Open the AI chat.
- Describe the classes, timetables, and booking functionality you want to add.
- Review any proposed changes and required configuration.
- Confirm the changes and review the resulting interface.
- Test the class-booking functionality before publishing.
Example prompt: Add classes to an existing website
Add a class-booking system to my existing fitness studio website. Create a weekly timetable with filters for class type and instructor. Each class should display its description, available places, and price. Allow customers to book classes, join a waitlist when a session is full, and manage their reservations from their accounts. Match the timetable and booking experience to my existing website design.
Note:
The Classes & Memberships plugin manages class data, schedules, booking rules, and availability. The 10Web builder manages the design and layout of the customer-facing pages. You can customize the design without changing the underlying booking rules.
Step 3. Access the Classes & Memberships management panel
Your class-booking website or app includes a management area for configuring classes, timetables, locations, instructors, bookings, members, payments, and other business settings.
To access WordPress admin, click the W icon on your website thumbnail in the 10Web dashboard or the W icon next to the Publish/Save button in the 10Web Editor.
The generated site adds a Classes menu to WordPress admin. This menu contains the following main sections:
- Overview: Review setup progress, plugin connections, activity, and quick actions.
- Timetable: Manage classes, weekly slots, sessions, courses, instructors, booking windows, and time off.
- Bookings: Manage bookings, check-ins, recurring reservations, and penalties.
- Members: Manage members, families, and related information.
- Money: Manage plans, billing, and other financial records.
- Messages: Manage customer and staff notifications.
- Settings: Configure business information, locations, booking rules, and other plugin settings.
Review the Overview dashboard
Navigate to Classes → Overview to review the initial setup checklist under Ready to open.
The checklist includes four actions:
- Set the timetable or opening hours: Create a class with a weekly schedule or configure open-gym opening hours.
- Put one plan on sale: Create a membership, class pack, or time pass customers can purchase.
- Connect payments: Configure a supported Payments connector for online payment collection.
- Make one test booking: Book a test member into a session to verify the booking process.
The Overview dashboard also provides business activity summaries and a Connections section showing the status of related plugins.
Under Quick actions, you can use shortcuts such as Add New Class, Add New Member, Add New Location, Add New Instructor, and Open Switches.
Important:
User Management is required for Classes & Memberships. The Payments connector is optional, but without it, online payment buttons and automatic billing are unavailable. You can still configure classes, memberships, and bookings, and record cash or bank transfer payments manually.
Step 4. Configure your business information
Before setting up classes, review the business information used in messages, receipts, and other business records.
- In WordPress admin, navigate to Classes → Settings.
- Under the Business tab, review the available information.
- Enter your Business name, which members see in messages and receipts.
- Enter your Legal name, if different from the business name.
- Enter your Tax number, if applicable.
- Complete your business address, including street, town or city, region, postcode, and country.
- Enter your Business phone, Business email, and Website.
- Click Save Changes.
The Settings area also includes tabs for location defaults, booking settings, members, messages, and other configuration options. You can return to these as you set up the rest of your business.
Step 5. Add locations and rooms
Locations define where your classes take place. You can add physical locations with addresses and rooms, or online locations for virtual classes.
Each location can have its own time zone, opening hours, and contact information.
Create a new location
- In WordPress admin, navigate to Classes → Settings → Locations or enter Overview and scroll down to see Add New Location
- Click Add New Location.
- Enter the location Name.
- Under Kind, select one of the following:
- Physical: A place with an address.
- Online: A meeting link, with no rooms.
- For a physical location, complete the address fields, including Street, Second line if needed, Town or city, County, state or region, Postcode, and Country (two letters). For an Online location, add the meeting link.
- Under Time zone, select the location's time zone if it differs from your business's default time zone.
- Configure the additional location settings as described below.
- In the Save panel, optionally select The default location to make this the first location selected wherever a location is required.
- Click Add Location.
Add rooms to a physical location
Rooms allow multiple classes to take place at the same physical location without conflicting schedules.
- On the location form, find the Rooms section.
- Enter the name of the first room.
- Click + Add room to create additional rooms.
- Save the location.
For example, a fitness studio might have a Yoga Room, Pilates Room, and Main Studio.
Each session can be assigned to a particular room. The system prevents two sessions from using the same room at the same time.
Configure opening hours and special hours
Physical locations can also have opening hours for open-gym access.
- On the location form, find the Opening hours section.
- Click + Add opening.
- Select the day and enter the opening and closing times.
- Repeat for any additional opening periods.
- Under Special hours, click + Add special hours to configure holidays, closures, or exceptions.
- Save your changes.
If you offer open-gym access, select Open gym: members come in during opening hours without booking a class in the right sidebar and configure Visits per member per day.
Configure contact details and messages
- Find the Contact and messages panel in the right sidebar.
- Enter the location's phone number and email address.
- Under Messages go out between, configure the sending window for member nudges.
- Save the location.
The default sending window shown in the interface is 09:00 to 20:00. Booking confirmations are sent immediately rather than waiting for this window.
Quick tip:
If you operate in multiple locations, configure the correct time zone for each one. Class sessions use the location's local time, helping customers see the correct schedule.
Step 6. Add instructors
Instructors are the people who teach your classes. You can create instructor profiles, assign them to sessions, and manage their time off.
Create an instructor profile
- In WordPress admin, navigate to Classes → Timetable → Instructors.
- Click Add New Instructor.
- Enter the instructor's First name and Last name.
- Enter their Email and Phone, if applicable.
- Under About them, write a description of the instructor.
- In the Colour and profile panel, choose a Colour on the timetable.
- Enable Show a profile on the site if you want customers to see the instructor's public profile.
- Add the instructor's photo if available.
- Click Add Instructor.
You can manage existing instructors from Classes → Timetable → Instructors.
The instructor list shows contact information, account status, public profile visibility, and upcoming time off.
Set instructor time off
If an instructor is unavailable for certain dates, you can record their time off to help avoid scheduling conflicts.
- Navigate to Classes → Timetable → Time off.
- Click Add Time Off.
- Under Instructor, select the person who will be unavailable.
- Choose the start date under From.
- Choose the end date under To, or leave it empty for one day.
- Optionally enter a Reason, which is visible only to the team.
- Click Add Time Off to save.
Note:
If you assign an instructor to a session on a date when they are marked as unavailable, the system warns you. You can still save the assignment and arrange a replacement instructor when needed.
Step 7. Create your classes
A class defines the activity you offer, such as Morning Yoga, Pilates, or Beginner Dance. You create the class once, then schedule it on the timetable as often as needed.
Create a new class
- In WordPress admin, navigate to Classes → Timetable → Classes.
- Click Add New Class.
- Enter the class Name.
- Under Description, explain what the class includes and who it is for.
- In the Colour and category panel, select a timetable color and enter a category if needed.
- Configure the class capacity, waitlist, prices, and booking eligibility as described below.
- Under Booking window, select the booking rules that should apply to this class.
- Click Add Class to save.
Set class capacity and waitlist size
The Places and waitlist section controls how many people can book a class.
- Under Places, enter the number of available places.
- Leave the field empty if the class should have unlimited places.
- Enable People can join a waitlist when it is full if you want customers to join a waiting list.
- Under Waitlist size, enter the maximum number of waiting members, or leave it empty for an unlimited waitlist.
For example, you might configure:
- Morning Yoga: 15 places.
- Beginner Pilates: 12 places.
- Private training: 1 place.
- Online workshop: Unlimited places.
An individual timetable slot can have a different capacity from the class default.
Set class prices
Under Prices, configure:
- Drop-in price: The price for someone booking without an eligible plan. Leave empty if drop-in bookings are not available.
- Member extra fee: An additional charge for members attending a premium class, in addition to the required plan credit.
For example, you might charge $15 for a drop-in yoga class and allow members with eligible plans to book it using one class credit.
Configure who can see and book a class
Under Who can see and book it, configure the class visibility and eligibility requirements.
- Under Who can see it, select:
- Everyone: Anyone can see the class.
- Holders of a plan that covers it: Only members with eligible plans can see the class.
- Staff only: The class is not publicly available.
- Under Ages, optionally enter the minimum and maximum participant age.
- Under Level needed, select a required level if your business uses a progression system.
- Under Waivers, select any agreements that must apply to the class.
- Under Plans, select the eligible membership plans when available.
- Save the class.
Important:
Creating a class does not automatically create scheduled sessions. You must also add a timetable slot or a one-off session before customers can book that class. If no location exists, the First slot section prompts you to create one before scheduling the class.
Step 8. Create a recurring class timetable
A timetable slot defines when a class takes place and how frequently it repeats.
For example, you can schedule Morning Yoga every Monday at 8:00 AM and every Wednesday at 9:00 AM. Each recurring time is a separate slot.
Add a new timetable slot
- Navigate to Classes → Timetable.
- Click Add New Slot.
- Under Class, select the class you want to schedule.
- Under Day, select the weekday.
- Under Time, enter the start and end times.
- Under Repeats, choose how often the class runs:
- Every week.
- Every 2 weeks.
- Every 3 weeks.
- Every 4 weeks.
- Under Starts on, select the date the timetable should begin.
- Under Ends on, optionally enter an end date. Leave it empty if the slot should continue without a scheduled end date.
- In the Where panel, select the Location and, if applicable, the Room.
- Under Instructors, select the instructors assigned to the slot.
- Review the Places and price section.
- Click Add Slot to save.
Customize the capacity and price of a timetable slot
By default, a timetable slot inherits the class's capacity and drop-in price. You can override these values for particular times.
In the Places and price section:
- Places: Enter a different capacity or leave empty to use the class's default.
- Price: Enter a different drop-in price or leave empty to use the class's default.
- Plans: Choose which plans cover the slot when you need different plan eligibility for peak or off-peak sessions.
For example, an evening Pilates class could have a higher drop-in price than the same class offered during off-peak hours.
Note:
Sessions are generated from recurring timetable slots. The timetable uses the location's local time, so the scheduled class time remains consistent when clocks change. You can review the generated sessions under Classes → Timetable → Sessions.
Step 9. Create one-off sessions and workshops
One-off sessions are useful for workshops, trial classes, special events, and classes that do not repeat on a weekly schedule.
Unlike a recurring timetable slot, a one-off session takes place on a specific date.
Add a one-off session
- Navigate to Classes → Timetable → Sessions.
- Click Add One-off Session.
- Under Class, select the class type.
- Optionally enter a custom Name for the session. Leave this empty to use the class name.
- Under Date, select the session date.
- Under Time, enter the start and end times.
- Under Where, select the location and room, if applicable.
- Under Instructors, select the people teaching the session.
- Under Places and price, optionally override the class capacity and drop-in price.
- If applicable, enter a private Staff note or a Meeting link.
- In the Save panel, optionally enable Open early for booking, ignoring the window.
- Click Add Session to save.
Set up an online session
For online classes, select an online location when creating the session.
Under Staff note and meeting link, you can provide a meeting link specifically for that session. If the field is left empty, the session uses the online location's meeting link.
Create a grading or assessment session
If your business tracks member levels, you can create a one-off session for grading or assessments.
Enable Grading day when creating the session. This allows multiple eligible members to be advanced from the session's management page with confirmation.
Step 10. Create courses and term-based programs
A course is a block of sessions purchased through one enrollment. Courses are particularly useful for swimming schools, dance schools, children's programs, and other businesses that offer structured programs over several weeks.
For example, a beginner swimming course might consist of eight weekly sessions, with several groups running at different times.
Create a new course
- Navigate to Classes → Timetable → Courses.
- Click Add New Course.
- Enter the course Name.
- Under Runs as the class, optionally select an existing class type. Its color, age range, level requirements, and waivers then apply to the course.
- Enter the course Description.
- Under Price, enter the amount charged to customers without an eligible plan.
- Choose how eligible plan holders pay for the course.
- Configure single-session purchases, late enrollment, make-ups, and installments as needed.
- In the Enrolment panel, optionally set a date and time when enrollment opens.
- Review the Publish: members see it setting.
- Click Add New Course.
Configure course pricing and enrollment options
The Price section lets you configure how customers pay for a course.
Under Plan holders pay, choose one of the following:
- Plan holders: one credit per session: Use plan credits for the remaining course sessions.
- Plan holders: the price: Charge the course price.
- Plan holders: a credit per session plus a fee: Use plan credits together with an additional fee.
You can also configure:
- Single sessions: Enable Sell one session on its own if customers should be able to purchase individual sessions.
- Late joining: Choose whether enrollment is allowed after a course has started and how the price is calculated.
- Make-ups: Enable A missed session can be taken in another group when your business allows make-up sessions.
Allow customers to pay in installments
Under Pay in parts, you can divide the course price into multiple payments.
- Find the Pay in parts section on the course form.
- Click + Add part.
- Configure the payment part using the available Kind, Value, and Due on fields.
- Repeat for additional installments.
- Make sure the parts add up to the full course price.
- Save the course.
If no payment parts are configured, the full course price is due at enrollment.
Organize course groups
A course can run through one or more groups, each with its own schedule, location, instructor, and available places.
For example, you might offer the same swimming course through a Monday group and a Wednesday group, allowing customers to enroll in the time that suits them.
After creating a course, configure its groups and session schedules through the course management interface. Review each group's dates, capacity, and enrollment options before opening registration.
Important:
Once a course is published, its sessions can be cancelled but the course cannot simply be hidden from members. Review the course price, schedule, enrollment options, and groups before publishing. Cancelling a course or course session requires a decision about how affected payments should be handled.
Example prompt: Create a swimming course
Create an eight-week beginner swimming course for children aged 6 to 10. Offer two groups, one on Mondays at 4 PM and another on Wednesdays at 5 PM. Each group should have a maximum of eight children. Allow parents to enroll their children, pay in installments, join a waitlist when a group is full, and view the complete course schedule.
Step 11. Configure booking windows
Booking windows control how far in advance customers can book a class, when booking closes, and when cancellations are considered late.
You can use one standard booking window for all classes or create different windows for different class types.
Create a new booking window
- Navigate to Classes → Timetable → Booking windows.
- Click Add New Booking Window.
- Enter a Name for the booking window.
- Under When booking opens and closes, configure the following:
- Opens: How many days, hours, and minutes before the session customers can book.
- Closes: When booking stops, either before or after the session starts.
- Cancel cutoff: How long before the session customers can cancel without it counting as a late cancellation.
- Under Priority booking, optionally configure earlier access for selected members or membership plans.
- In the Save panel, optionally enable The default window if you want new classes to use this booking window.
- Click Add Booking Window.
Understand the default booking rules
The standard booking window uses the following default settings:
- Opens: 30 days before the session.
- Closes: At the session start time.
- Cancel cutoff: 12 hours before the session.
For example, if a class starts on Friday at 6 PM and the cancellation cutoff is 12 hours, a cancellation after 6 AM on Friday is considered late.
Configure priority booking
Priority booking allows selected members or plan holders to book earlier than other customers.
In the Priority booking section:
- Under Members, enter the email addresses or member numbers of customers who should receive earlier access, one per line.
- Under Plans, select the eligible membership plans if available.
- Save the booking window.
If a member qualifies for more than one priority booking window, the earliest applicable opening is used.
Apply a booking window to a class
- Navigate to Classes → Timetable → Classes.
- Open the class you want to update.
- Find the Booking window panel.
- Select the appropriate booking window.
- Save the class.
Quick tip:
You can create separate booking windows for different types of classes. For example, regular classes could open 30 days in advance, while special workshops could open 60 days in advance.
Step 12. Manage waitlists for fully booked classes
Waitlists allow customers to express interest in classes that have reached their capacity.
You can enable or disable waitlists for individual class types and control how many members can join.
Enable a waitlist
- Navigate to Classes → Timetable → Classes.
- Open the class you want to configure.
- Find the Places and waitlist section.
- Enable People can join a waitlist when it is full.
- Optionally enter a Waitlist size. Leave it empty to allow an unlimited waiting list.
- Save the class.
When a place becomes available, the system checks the next waiting member's eligibility, including plan access, credits, and any outstanding waiver requirements.
Depending on when the place becomes available, the system can automatically book an eligible member or offer the place for a limited time.
Note:
The default waitlist behavior automatically books an eligible member when a place opens more than three hours before the session. Closer to the start, or when the member needs to take action, a time-limited offer is sent instead. Waitlist notifications inform members when they are added, offered a place, booked, or when a place is no longer available.
Step 13. Review and manage scheduled sessions
After creating your timetable, individual sessions appear under Classes → Timetable → Sessions.
This section lets you review upcoming, cancelled, and past sessions.
- Navigate to Classes → Timetable → Sessions.
- Select To come, Cancelled, or Past to view the relevant sessions.
- Use the available filters to find a particular session.
- Open a session to review its details and available management actions.
The session list includes the date and time, class, location, instructors, number of booked places, drop-in price, and session status.
Change a session
You can adjust an individual session without changing the rest of the recurring timetable.
For example, you may need to replace an instructor, change the room, or move a particular class to a different time.
- Open the session you want to change.
- Update the relevant session details.
- Review the effect on any existing bookings.
- Save the changes.
Members affected by changes to a session are notified according to the configured communication settings.
Cancel a session
If a class cannot take place, you can cancel the affected session.
When a session is cancelled, the system handles existing bookings according to the class cancellation rules. Plan credits are returned, and drop-in payments are handled as account credit by default or refunded when staff choose the applicable refund option.
Important:
Changing a recurring timetable slot may affect multiple future sessions and their bookings. Existing booked sessions are not silently deleted. Review the affected sessions and members before confirming changes or cancellations.
Step 14. Review the customer-facing class timetable
The public timetable is where customers browse classes and choose which sessions to book.
Your generated website or web app can display the timetable using a design that matches your brand.
For example, a studio timetable may include:
- Class or activity filters, such as Morning Yoga, Evening Yoga, and Pilates.
- An instructor filter.
- A date selector for viewing classes on different days.
- Available sessions for the selected date.
- Booking actions for eligible classes.
Understand the customer booking experience
When scheduled classes are available, the customer booking process can include:
- Open the class timetable on the website.
- Choose the preferred class, instructor, and day.
- Select an available session.
- Review the class details and available places.
- Choose an eligible membership plan or a drop-in booking, if available.
- Complete any required waiver or other booking requirements.
- Confirm the booking.
Customers with accounts can also access their booking history and review upcoming reservations through the My bookings area.
The customer interface shown in the example includes Upcoming and Past visits tabs, allowing members to review their booking activity.
Customize the timetable design with AI
You can use the AI editor to change the appearance of your timetable while keeping the underlying booking system intact.
Example prompt: Redesign the class timetable
Redesign my class timetable with a modern, mobile-friendly layout. Display classes in a weekly calendar with filters for class type and instructor. Show the class name, time, instructor, location, and available places. Make booking buttons easy to find and use the same fonts, colors, and visual style as the rest of my website.
Quick tip:
If no classes appear on the public timetable, check that you have created timetable slots or one-off sessions for the selected dates. Also verify class visibility, location settings, and any active filters.
Step 15. Test your class-booking setup before publishing
Before accepting real customer bookings, test the timetable and reservation process.
- Navigate to Classes → Overview in WordPress admin.
- Review the Ready to open checklist.
- Make sure you have created at least one scheduled class or configured open-gym opening hours.
- Review the class capacity, prices, and booking window.
- Open the customer-facing timetable and confirm your scheduled sessions appear correctly.
- Create a test member if needed.
- Make a test booking using the public booking interface or Classes → Bookings → Add New Booking.
- Verify that the booking appears in the management area.
- Check the booking confirmation and any required waivers.
- Test the cancellation and waitlist behavior where applicable.
- Publish or update your website or app once the booking process works as expected.
Important:
Before accepting online payments, verify that a compatible Payments connector is connected and configured. Without it, the class and membership system can still manage bookings and record offline payments, but online payment collection and automatic billing are unavailable.
What to do next
Once your classes and timetable are ready, you can create memberships and prepaid class packs, configure payments, and manage your members' bookings and attendance.
Continue with the following guides: