LatePoint Group Bookings - WordPress Plugin
LatePoint Group Bookings is a plugin designed specifically for WordPress that offers a convenient and efficient solution for group booking management. With this plugin, users can easily handle bookings for multiple people or groups in a streamlined and organized manner. It enhances the functionality of the LatePoint plugin by introducing features tailored to group bookings, making it an essential tool for businesses that frequently cater to group reservations.

Plugin Features
This plugin simplifies the process of managing group bookings by providing a user-friendly interface that allows administrators to easily create, modify, and track bookings for multiple individuals or groups. The intuitive and straightforward design enables users to efficiently handle group reservations, saving time and effort. By automating and centralizing the management of group bookings, this plugin enables businesses to provide a seamless experience for their customers.
With LatePoint Group Bookings, businesses can effortlessly set up group reservation rules and customize various aspects of the booking process. Users have the flexibility to define the maximum number of guests per booking, which ensures that capacity limitations are adhered to. Additionally, administrators can set group-specific pricing, such as offering discounted rates for larger groups or special packages for specific events or occasions.
This plugin provides businesses with a comprehensive overview of their group bookings, allowing them to easily monitor and manage all reservations in one centralized location. Users can access detailed reports that provide key insights about each booking, including the number of guests, booking status, and payment information. These reports enable businesses to make informed decisions and optimize their operations.
The LatePoint Group Bookings plugin seamlessly integrates with the LatePoint plugin, enhancing its functionality without compromising its user-friendly interface. Businesses that rely on the LatePoint plugin to manage appointments can seamlessly extend their capabilities to include group booking management as well. This integration ensures a smooth and cohesive experience for both administrators and customers.
Overall, this plugin for WordPress provides businesses with a powerful tool to efficiently manage group bookings. By simplifying the process and offering robust features, businesses can enhance their operations and deliver an exceptional booking experience for their customers. Whether its a hotel, tour operator, or any other business that frequently handles group reservations, this plugin streamlines the process and helps drive success.
A Guide to LatePoint Group Bookings for Group Appointments in WordPress
LatePoint Group Bookings is not meant for standard one-on-one appointments. It is built for cases where a single time slot needs to accommodate multiple participants: a workshop, training session, group consultation, tour, group online session, room rental with a seat limit, or any other service with a clear capacity. This guide is not a promotional overview of the add-on. It focuses on the practical workflow: how to prepare LatePoint, where to enable group mode, how to set minimum and maximum capacity, how pricing is calculated, how to verify the setup on the site, and what to do if seats, emails, meetings, or the final amount do not behave as expected.
The most common mistake when implementing group bookings is treating them like a regular appointment with an extra numeric field. In reality, the entire chain changes: the service gets a capacity limit, the customer chooses the number of attendees or is placed into a predefined mode, the slot may stay open until it fills up or close once a threshold is reached, the total is recalculated based on the number of people, and notifications and exported data include attendee count details.
The guide below is structured as a working set of instructions: first, when this setup makes sense, then preparation, installation, service configuration, publishing the form, a practical group class example, result verification, troubleshooting, safe ways to add explanatory text to the form, alternatives, and FAQs. Where the official source confirms specific behavior, the wording is direct. Where behavior depends on the LatePoint version, add-on set, payment gateway, calendar integration, or WordPress theme, the guide uses cautious checks and a clear rollback path.
When group mode actually makes sense
Group booking is useful when multiple customers need to share the same time interval for one service, one agent, one location, or one resource. A typical example is not "book a haircut appointment," but "buy 2 spots for Saturday's class," "register 4 participants for a tour," "reserve a spot in a yoga group," or "use part of a meeting room's capacity." In an individual booking model, one customer takes the slot entirely. In a group setup, the slot becomes a container with seats.
In LatePoint Group Bookings, this is handled through the service capacity settings. The add-on adds support for group bookings and lets you define capacity for services. The changelog also highlights important details: displaying total attendees in the appointments table, showing capacity on the group service card, locking a timeslot when the minimum threshold is reached, recalculating the deposit based on the number of people, and the {{total_attendees}} variable for messages. For a site owner, that means the setup affects more than just the form. It also affects the admin panel, payments, notifications, and exports.
LatePoint Group Bookings is a good fit if you are selling spots in a single event or class, rather than creating separate private appointments for each customer. That distinction matters. If five customers need five separate links, five separate specialists, or five separate time intervals, you do not need group booking. You need separate services, multiple agents, cart support, recurring appointments, or a different model in LatePoint Pro.
Good use cases for group booking
- A class, session, tour, workshop, or group consultation where all participants join the same time slot.
- A service with fixed capacity: a room, studio, equipment rental, car, boat, sports court, or classroom.
- An online session where all participants need the same Zoom, Google Meet, or Microsoft Teams link.
- A service with per-person pricing plus a separate fixed fee for preparation, space, or equipment.
- A page where the customer should go directly to a specific group service through a shortcode, block, or Instant Booking Page.
When a different model is the better choice
If a customer is booking several different services at once, such as a massage and a facial, group booking should not replace an appointments cart. If administrators create more complex combined orders from the admin panel, it is worth reviewing the backend workflow separately. In WordPress.org discussions, users have raised questions about how flexible manual creation of multiple bookings is, and the developer clarified that multiple appointments can be added one after another, but a dedicated full-duplication feature or a more advanced REST API may matter depending on the project.
For classes that depend on reaching a minimum number of attendees, check how your business interprets minimum capacity. Some projects want to keep selling spots until the class is full. Others close the slot after the first booking if the customer immediately selects the required number of attendees. The LatePoint documentation and changelog show that this behavior has evolved, so before publishing, you should run a real test case rather than simply saving the capacity field.
What should be ready before installing the add-on
Before enabling group mode, review your core LatePoint setup. If regular booking is not working, group booking will almost always make troubleshooting harder: it becomes unclear whether the issue comes from the capacity rules, the service, the agent, the calendar, payments, email, or the page with the form. Start with a working single booking flow: the service is visible to the customer, the agent is available, the schedule shows open slots, the form opens on the page, the email is sent, and the test order appears in the admin panel.
The base version of LatePoint can be installed from the WordPress directory or via ZIP file. After activation, the dashboard and setup wizard become available. In the wizard, it is important to complete at least the core steps: notifications, services, and work hours. That is not enough for Group Bookings, but it gives you a clean baseline. If the customer still cannot see the service, the calendar does not appear, or emails are not being sent at this stage, fix the foundation first.
Quick checklist before turning on group mode
- LatePoint is installed and activated, and the standard booking form opens on the page without errors.
- There is at least one active service, one agent, defined work hours, and an available time range on the calendar.
- The service business model is clear: spots are sold individually, one order covers multiple attendees, or the service uses a fixed fee plus a per-person price.
- It is clear whether you need one shared meeting link for the entire slot or a separate link for each booking.
- You have verified that the customer cabinet page is not cached, since WordPress.org specifically notes that caching should be disabled for the customer cabinet page.
- If older standalone add-ons are in use, you have a plan to migrate to Pro Features without enabling outdated overlapping modules at the same time.
Compatibility with Pro Features and older add-ons
A separate LatePoint documentation page explains that in version 5, many utility add-ons were merged into the Pro add-on, and Group Bookings is included in that list. It also warns that before using the Pro add-on and version 5, the listed standalone add-ons should be deactivated to avoid conflicts. This is especially important for sites that have been evolving for several years and may still have the old standalone Group Bookings plugin installed alongside the newer Pro Features package.
Do not enable the old standalone version of Group Bookings and the new Pro Features package at the same time if the documentation for your installed version requires older add-ons to be deactivated. Conflict symptoms can look like missing fields, incorrect price recalculation, add-on installation errors, or unpredictable form behavior. The safe way to test is simple: work on a staging copy, update LatePoint and Pro Features, keep only one current source of group-booking functionality, then create a small-capacity test group service.
Roles, agents, and resources
Group booking does not replace LatePoint's core structure: the service still needs to be connected to an available agent, location, or resource if those are used on the site. If you have multiple instructors, rooms, or halls, first confirm who can actually run the group session and which resource limits capacity. For physical resources, LatePoint offers Assets in Pro Features: you can enable the resource system in LatePoint > Settings > General, create an asset with a quantity value, and link it to services or agents. This does not replace Group Bookings, but it helps when availability depends not only on the number of people, but also on the number of rooms, tables, bikes, or projectors.
Installing Group Bookings and running the first check
The installation path depends on which LatePoint setup the site is using. In the current Pro line, Group Bookings functionality may be included in Pro Features. In the older model, it existed as a standalone add-on with its own page, changelog, and version number. In both cases, the goal is the same: activate the compatible module, then confirm that a Group Bookings section or related settings appear when editing a service.
Do not include purchase steps, license key instructions, or activation workarounds in the working documentation for site editors. For the site owner, it is enough to understand that the functionality should come from the official LatePoint account or from the Add-ons mechanism available in the admin panel. The add-on installation documentation explains that once the license is connected, you can open the LatePoint dashboard and install add-ons from the Add-ons page. If that menu item is missing, do not start hunting for third-party archives. First check the user role, access to Premium Features, and version compatibility.
A low-risk activation sequence
- Create a backup or work on a staging copy of the site, especially if the site accepts real payments.
- Update the core LatePoint plugin to a compatible version using the standard WordPress update flow.
- Check whether older standalone add-ons are still active if the documentation recommends disabling them before using Pro Features.
- Enable Pro Features or the relevant official add-on through
LatePoint > Add-ons. - Open
LatePoint > Services, choose a test service, and find theGroup Bookingssection. - Save the service with a minimal test capacity, then open the booking form as a regular visitor.
The initial verification should happen in the public form, not just in the admin panel. The admin panel only shows that the setting was saved. Only the customer-facing flow shows whether seat availability, attendee count, pricing, and confirmation are displayed correctly.
What counts as a successful activation
Once group mode is enabled, service editing should show a set of options related to capacity and group-slot behavior. On the front end, the customer should either be able to choose the number of attendees or receive a preset attendee count, unless you intentionally hid that step through settings or shortcode parameters. In the appointments list, you should be able to see total attendees if your LatePoint version includes that column. In the order confirmation and notifications, attendee count information should be available through supported variables if you added them to the template.
If none of this appears, do not immediately start changing the theme or writing code. First check that you are editing the same service that the form is actually displaying, that the shortcode is not forcing a different service ID, that caches have been cleared, and that older add-ons are not conflicting with Pro Features. The mismatch between "I edited one service" and "the page is showing another" is one of the most common reasons a setting appears not to work.
Service settings map: capacity, attendee selection, and pricing
Group Bookings is configured within the service itself. That makes sense: capacity and pricing belong to a specific service, not to the booking form as a whole. A single site may offer individual consultations, group classes, private corporate sessions, and tours. If all of that were controlled by one global rule, the different models would interfere with one another.
Capacity as a business limit
Minimum and maximum capacity should reflect how the service actually works. The maximum is not a marketing goal like "how many we'd like to sell." It is the real operating limit: room size, equipment availability, number of seats in the group, the agent's ability to serve participants properly, a video meeting limit, or the capacity of some other resource. The minimum matters when the class only makes sense with a certain number of participants, or when a slot should lock once a threshold is reached.
The Group Bookings changelog mentions a fix for a minimum capacity issue and support for locking a timeslot when minimum capacity is reached. That is an important signal: in LatePoint, minimum capacity is not just a label in the form. It can be part of the availability workflow. After saving a minimum value, make sure to test two cases: a booking below the minimum and a booking that reaches the threshold. Then check how the slot appears to the next customer.
Should customers be allowed to choose total attendees?
The official changelog notes that you can disable customer selection of total attendees for group services. In practice, that is useful in two situations. First, when you are publishing a public class where one order always equals one seat. Second, when you are guiding users into a predefined group option and do not want them changing the attendee count during booking. If you disable that choice, make sure the surrounding text explains it clearly: the customer should understand whether they are booking one seat or a preset package.
If attendee selection is enabled, make pricing and verification easy to follow. When the customer changes the number of attendees, LatePoint should recalculate the total. The add-on changelog specifically mentions a fix where changing the attendee count automatically recalculates the total price. That is worth checking manually: choose 1, 2, and 3 attendees, then compare the subtotal, deposit, and final payment. If the price does not change when the attendee count changes, do not publish the form until you have checked the service price, multiplier settings, service extras, and the payment step.
Base Fee: a fixed charge applied once per booking
LatePoint's Base Fee documentation explains a separate pricing mechanism: a fixed fee that is added once per group booking regardless of the number of attendees. This works well for costs that do not depend on headcount: room prep, equipment rental, cleaning, a starter kit, or admin processing. To configure it, open LatePoint > Services, edit the target service, go to the Group Bookings section, fill in Base Fee, and save the service.
It is important not to confuse Base Fee with the per-attendee price. If the service price is the price per seat and Base Fee is a fixed charge, then the total is calculated as "price per attendee multiplied by attendee count plus the fixed fee." If Base Fee is set to 0, the fee is effectively disabled. In the booking summary, it should be displayed in a way that makes the pricing structure obvious to the customer. Do not bury this charge in policy text. A separate line in the summary lowers the risk of disputes after payment.
Deposit and cost multiplier
The Group Bookings changelog notes that the deposit can be adjusted based on the number of people in the group, and later added a setting to control whether charge and deposit amounts should be multiplied based on attendee count. This affects your payment model. For a group class, it usually makes sense to multiply both the full price and the deposit by the number of attendees: two seats should require a higher deposit than one. But for a room rental, you may want one fixed deposit per slot regardless of participant count.
A safe setup process looks like this: first decide whether the service price represents a seat or the entire slot. Then test the deposit for one attendee, two attendees, and the maximum number of attendees. If you also use Service Extras, confirm whether extras should multiply by attendee count as well. The Service Extras changelog mentions the ability to turn off the cost multiplier when using the Group Bookings add-on. That means the Group Bookings + Service Extras combination needs separate testing, especially if extras represent not "one mat per participant" but "one projector for the whole group."
How to publish a group booking form without confusing users
Once the service is configured, the booking form should be published so that visitors land in the correct group-booking flow. LatePoint supports shortcodes, blocks, page builder widgets, and Instant Booking Pages. For simple pages, you can insert the form directly with [latepoint_book_form] or add a button with [latepoint_book_button]. For a landing page dedicated to a specific class, it is better to preselect the service ID so the customer does not end up in the general service catalog or accidentally choose an individual consultation.
The form documentation lists parameters that let you hide panels, preselect the location, agent, service, duration, total attendees, category, start date, and start time, and also limit the visible list of services, agents, locations, and categories. For Group Bookings, the most useful parameters are selected_service, show_services, and selected_total_attendees. The last one can skip the attendee count choice when the intended package is already known.
Shortcode example for a dedicated class page
If you have a dedicated landing page for a "Group Training Session," it is better to show only that service. That way the visitor sees the service, date, time, attendee count, and payment, rather than the site's full appointment catalog.
[latepoint_book_form selected_service="12" hide_side_panel="yes"]
If you need to preselect the number of attendees right away, use the documented selected_total_attendees attribute. This is a good fit for a "Family Ticket for 3" page or for a button in an email where the package has already been chosen:
[latepoint_book_button selected_service="12" selected_total_attendees="3" button_caption="Book 3 Spots"]
Do not use these values blindly. The service ID comes from the LatePoint admin panel and is usually visible in the service edit URL. After inserting the shortcode, test the form as a regular visitor, because administrators may see more available items than customers do.
When a block or Instant Booking Page is more convenient
If the site is built with a block theme, Gutenberg, Elementor, or Bricks, using LatePoint's native elements is often more convenient. WordPress.org documentation also confirms the availability of blocks: booking form, booking button, list of resources, calendar, customer dashboard, and customer login. Blocks are helpful when the page editor needs to manage settings in the sidebar and avoid shortcode syntax mistakes.
Instant Booking Pages are useful when you need a direct link for a specific service, agent, or location. That works well for email campaigns, social media, and QR codes at a front desk. But that direct link still needs testing: it may hide part of the selection flow, so confirm that the customer understands the number of attendees, the total amount, and the cancellation terms.
Text around the form
A group booking form should answer three questions before the user even picks a date: how many spots can be booked, how pricing is calculated, and what happens after payment or submission. If you do not explain that before the date selection step, customers will interpret the attendees field in their own way. For a workshop, "2 attendees" obviously means two participants. For a room rental, it may mean two people in the space, while the price itself may still be per slot. Those mismatches are exactly what tend to generate support requests.
In the Booking Form Editor, you can visually change steps and add explanatory content. If you need to insert more precise HTML before or after a specific step, LatePoint documentation describes the latepoint_before_step_content and latepoint_after_step_content action hooks, which receive $step_code. For group bookings, the step code is booking__group_bookings. Below is a safe custom adaptation based on the officially documented hook. It is best added through a child theme or the Code Snippets plugin, not inside the theme core or LatePoint itself.
add_action('latepoint_before_step_content', function($step_code) {
if ($step_code === 'booking__group_bookings') {
echo '<p class="latepoint-group-note">Choose the number of attendees. The total will update before you confirm the booking.</p>';
}
});
The basis for this change is the official documentation for custom content before or after booking steps and the published booking__group_bookings step code. Verification: open the form as a visitor, go to the attendee selection step, and confirm that the text appears only where intended. Rollback: disable the snippet or remove it from the child theme. Do not use this hook to inject JavaScript that changes the amount or slot availability. That should be handled by LatePoint's own logic, not by external code.
Core booking behavior: the slot, seats, and availability lockout
To configure LatePoint Group Bookings correctly, it helps to think in terms of slot behavior rather than just the form. A service has a schedule and duration, an agent has work hours, a location or asset may impose a resource limit, and a group service adds capacity on top of that. When the customer chooses a date and time, LatePoint needs to determine how many seats are already taken and whether another booking can still be accepted for the same interval.
This works differently from the "one customer, one slot" model. In individual mode, the first successful booking closes that time. In group mode, the time may remain visible until the limit is reached or until the configured lockout behavior kicks in. That is why you cannot validate the setup with just the first booking. You need a second and third test using different customers, otherwise you will not see whether the remaining capacity is behaving correctly.
Capacity verification chain
- Create a test service with a limited maximum capacity, such as a small class or a trial tour.
- Choose a date and time with an available agent.
- Complete a booking that uses only part of the capacity, without reaching the maximum.
- Open the form in a private browser window and check whether the same slot is still available.
- Create another booking that reaches the limit, then check whether the slot disappears or becomes blocked for new customers.
- Open the appointment or orders in the admin panel and compare the attendee count with what the customer selected.
If your setup depends on minimum capacity, add a separate test for that as well. For example, the class only runs if at least two participants sign up. Check how the system behaves after a booking for one attendee, after a booking for two attendees, and after the maximum is reached. Write down the conclusion for your team in plain language: "the slot stays available until maximum capacity" or "the slot closes once the threshold is reached." That way, administrators are not left arguing with customers based on expectations that do not match the actual configuration.
Why some seats may appear to be "missing"
Sometimes the owner sees that a maximum is set, but the customer still cannot select the expected number of seats. The cause is not always Group Bookings. Availability is also affected by service duration, the agent schedule, buffer time, holidays, existing bookings, location, asset quantity, calendar sync, and form restrictions. If Assets are enabled, LatePoint checks resource availability separately and may hide a slot when all units are in use. If Google Calendar is connected, an external event may occupy the agent's time.
The practical approach is to start with a simple service: no extras, no external calendar, and no assets. If that works, add dependencies back one by one. That is the fastest way to find the conflict: capacity, agent, resource, calendar, or payment step. Group capacity is only one layer in LatePoint's availability system, not the only source of truth about free time.
Pricing, deposits, and add-ons in a group booking flow
The financial side of a group service should be clear before you publish it. From the customer's perspective, there are three common models: price per attendee, a fixed price for the entire slot, and a hybrid model of "per-attendee pricing plus a one-time fee." LatePoint Group Bookings provides tools for the first and third models, while deposit behavior and the charge multiplier should be tested in your actual add-on combination.
The "price per attendee" model
This is the most straightforward option. The service price is treated as the cost of one seat. The customer selects total attendees, and LatePoint recalculates the total price, deposit, and summary. For a class, tour, consultation group, or training session, this is usually the most natural setup. The main thing to check is that your service text does not say "class price" if what you really mean is "price per seat."
The test is simple: choose different attendee counts and confirm that the total changes predictably. If the site uses coupons, tax, or invoices, test those steps as well. The official Pro Features changelog mentions Base Fee support for Group Bookings and updates to invoice and payment mechanics in the main LatePoint line, so it is better to verify the final amount in a complete order rather than only on the attendee selection screen.
The "fixed fee plus seats" model
Base Fee is useful when the service includes an unavoidable one-time component. For example, a cooking workshop may charge per participant while also adding a kitchen prep fee. A photo studio might charge per person plus a separate setup fee for the space. LatePoint documentation explicitly says that Base Fee is added once per booking and is only available for services with Group Bookings enabled.
To avoid confusing customers, use two short phrases in the service description and next to the form: "price per seat" and "one-time booking fee." In the summary, the customer should be able to see that the fee is not multiplied by attendee count. If it is being multiplied, you are probably not using Base Fee, but a Service Extra or some other payment mechanism.
Service Extras and the multiplier
Service Extras can be individual or group-level depending on how they are meant to work. "Mat rental" usually applies per participant, while "projector rental" should apply once for the entire group. The Service Extras documentation explains how to create extras with duration, charge amount, maximum quantity, and service assignment. The Service Extras changelog specifically mentions the ability to disable the cost multiplier when Group Bookings is in use. That is a rare but important option: without it, the customer may end up paying for a group-level extra once for every attendee.
Before publishing, test every extra together with total attendees. Create bookings for 1, 2, and the maximum number of attendees, enable the extra, and compare the final amount. If the extra should apply once per group, the price should not increase with attendee count. If it is an individual extra, the increase is expected. Internally, label extras in the admin panel so the team understands the model: "per attendee" or "per group."
WooCommerce, invoices, and payment links
LatePoint can work with different payment mechanisms, including WooCommerce integration as part of the Pro bundle. The WooCommerce Addon Setup documentation explains that the customer may be redirected to the WooCommerce Checkout page and, after payment, sent back to the default WooCommerce Success Page or the LatePoint Confirmation Page. For Group Bookings, that means an additional verification step: attendee count and total price need to pass correctly into checkout and back into the LatePoint order.
If the administrator creates a booking manually and requests payment later, the payment links documentation notes that a workflow for the Payment Request Created event must be set up in advance. Otherwise, the payment request may exist, but the customer will not receive the email. In a group booking flow, that is especially noticeable: the customer may assume the seats are reserved, while payment has not actually been requested. So test not only the form, but also the email workflow.
Online groups: shared or individual meeting links
For virtual classes, the key question is whether the whole group should get one shared link or whether each customer should receive an individual link. LatePoint documentation on shared or individual meeting links says that the setting is located under LatePoint > Services > Edit Service > Group Bookings > Meeting Links and works with Zoom, Google Meet, and Microsoft Teams. If you do not change anything, separate meeting links are used by default.
Separate meeting links make sense when customers are technically booked into one time slot, but in practice should end up in individual sessions. For a group webinar, class, or workshop, that is usually inconvenient: the instructor would need to open multiple rooms. A shared meeting link solves a different problem: all customers booked into the same slot receive the same link.
When to choose a shared link
Choose a shared link when the session is delivered as a single event. That includes a group lesson, a consultation for multiple participants, an online workout, a webinar, or a shared demo session. Check that a supported meeting integration is connected, that the agent is linked to the correct account, and that the service is configured for automatic meeting creation. For Zoom, the documentation specifically explains that the add-on is installed from Add-ons, Zoom is enabled in integrations, the agent is linked to a Zoom user, and automatic Zoom meeting creation is enabled on the service edit screen for appointments with Approved status.
When separate links are safer
Keep separate links if your "group" slot is really just a technical container for several individual interactions. For example, several customers may book the same time interval, but the agent runs short private calls with each person during that hour. In that case, a shared link may create privacy issues. Separate links are also more convenient when customers need different prep materials or individual rooms.
A limitation worth documenting internally
In a public LatePoint feature request, a user noted that Group Booking can define attendee quantity, but that does not necessarily mean every attendee is invited to the Google meeting. In the described case, only the agent and the primary customer were included in the meeting. This should not be treated as a universal bug across all versions and integrations, but it is an important test point for online groups: if every attendee must receive a calendar invitation, verify that before launching sales.
Practical test: create a booking for multiple attendees, open the generated meeting in the connected calendar, and check who received the invite. If only the primary customer appears, add instructions for the administrator or revise the attendee data collection process.
Practical example: a workshop booking page
Let's walk through a concrete example: a studio is running a group workshop, selling spots through WordPress, wants to accept multiple participants in one slot, charge per person, and add a small fixed fee for space preparation. This is a good fit for LatePoint Group Bookings because it includes capacity, attendee-based pricing, Base Fee, a public form, confirmation, and either an online link or a physical location.
Goal
Create a page where the customer chooses the workshop, date, time slot, and number of attendees. After the attendee count is selected, the total amount is recalculated, the confirmation displays total attendees, and the admin panel shows the booking with the number of seats. If the customer chooses a quantity that exceeds the remaining capacity, the form should not allow those extra seats to be booked.
Preparation
- In LatePoint, a service named "Workshop" has been created with a clear duration and a price per attendee.
- The agent or instructor has work hours and available dates configured.
- If the session takes place in a studio, a location or asset is assigned if the site uses those entities.
- Group Bookings is enabled for this service, with minimum and maximum capacity set.
- If a one-time fee is needed,
Base Feeis filled in. - If a shared online link is needed, a shared meeting link is selected for the service and the relevant meeting integration is connected.
Setup steps
- Open
LatePoint > Servicesand edit the workshop service. - In the
Group Bookingssection, enable group mode and define the capacity. For testing, it is better to use a small limit so fill-up behavior is easy to verify. - Decide whether the customer will choose total attendees. If yes, leave that selection visible. If not, prepare dedicated pages or buttons with preset
selected_total_attendeesvalues. - Enter the
Base Feeif a one-time charge is actually needed. If not, leave it at 0. - Check the deposit or payment portion: should it multiply by attendee count or remain fixed?
- Open
LatePoint > Settings > Booking Formand make sure the group attendee selection step has not been hidden by an unexpected step order. - Create a WordPress page and insert the form using either a block or a shortcode with the selected service.
- Open the page as a visitor, create a test booking for multiple attendees, and verify the final amount.
Verifying the outcome
After the test booking, check four places. In the public form, it should be clear how many attendees are selected and what amount will be charged. In the confirmation, total attendees should be displayed if your template and version support it. In the appointments or orders area of the admin panel, the booking and the attendee count should be visible. In the customer email, it is worth including the number of people through a supported variable so that after payment there is no confusion about how many spots were booked.
Then run a capacity fill-up test. If the maximum is 6 seats, create the first booking for 4, the second for 2, and verify that the next visitor can no longer take the same slot. If the maximum has not yet been reached, the same slot should remain available according to the selected behavior. Only publish the page after testing with multiple different visitors, not after a single successful booking.
An admin-side detail to watch
If an administrator creates the booking manually, they may not go through the exact same flow as the customer in the public form. So after creating an order manually, verify the amount, attendee count, and notifications separately. This is especially important when front-desk staff take bookings by phone: they may create the booking faster, but they still need to remember the attendee count and the payment request if payment was not collected immediately.
Notifications, variables, and team data
Group Bookings changes the communication layer. In an individual booking flow, it is enough to send the date, time, service, and customer name. In a group booking flow, you also need to communicate the number of attendees, arrival instructions, payment terms for additional seats, the meeting link if it is shared, and how the customer can update the booking. The official add-on changelog mentions {{total_attendees}} and also adds total attendees to webhooks and CSV export. That is useful not only for the customer, but also for administrators, reporting, and external automation.
What to include in the confirmation
- The service name and selected time slot.
- The number of attendees through a supported variable, if it is available in your template.
- The total amount, deposit, or remaining balance if the site uses payments.
- The rule for changing attendee count: contact the administrator, cancel and rebook, or change it through the customer dashboard if that flow is configured.
- For online sessions, the meeting link and a note explaining whether it is shared across the group or individual.
Do not overload the email with legal boilerplate. The main purpose of the confirmation is to make sure both the customer and the team understand the same thing: how many seats were purchased, when the service takes place, where to go or which link to join, and what to do if something is wrong.
Webhook and CSV: why total attendees matters
If the site sends bookings to an external CRM, spreadsheet, email sequence, or reporting system, attendee count should be passed along with the booking. The Group Bookings changelog mentions total attendees information in the webhook and a total attendees column in the CSV export of bookings. This helps separate "10 bookings" from "10 attendees." In a group business, that difference is critical: you may have 4 orders and 15 participants.
Verification: export bookings after several test orders and compare the attendee total with the actual slot capacity. If the external spreadsheet counts only bookings, add a separate participants column. Otherwise, the team may accept more people than the room can handle because the report only showed order count.
Emails are not being sent: where to look
LatePoint documentation on notification and confirmation emails explains an important detail: the plugin tells WordPress that an email should be sent, but actual delivery is handled by the site's WordPress or hosting mail infrastructure. So if a group confirmation email does not arrive, the cause may not be Group Bookings at all. It may be the mail server, SMTP settings, workflow configuration, or the fact that you tested with an email address on the same domain.
For a basic check, you can use a separate mail testing plugin, as recommended by LatePoint documentation. For production, it is better to set up a reliable SMTP service and test delivery across different domains. Only after that should you review the notification template, the attendees variable, and the workflow event.
Post-launch validation: how to know the system is ready for real customers
You should not consider a group booking setup finished until you have walked through the entire customer and administrator flow. Saving settings in the admin panel is only half the job. The other half is proving that the selected model holds up in real use: multiple customers, varying attendee counts, remaining capacity, payment, email, calendar, dashboard, and reporting.
Test matrix before publishing
| What to test | How to test it | Expected outcome |
|---|---|---|
| Attendee selection | Create bookings with different attendee counts. | The form accepts only the allowed range and shows a clear total. |
| Capacity fill-up | Create multiple bookings for the same slot until the maximum is reached. | After the limit is reached, the slot is no longer available to new customers. |
| Base Fee | Compare pricing for 1, 2, and 3 attendees. | The one-time fee is added once and is not multiplied by attendee count. |
| Deposit | Check the deposit for different attendee counts. | The deposit matches the chosen business model: per person or per booking. |
| Meeting link | Create multiple bookings for the same online slot. | Customers receive either a shared or separate link according to the service setting. |
| Notifications | Check the customer and admin emails. | Emails arrive and include the service, time slot, and total attendees. |
What to review after the first real day
After launch, collect not only successful bookings, but also customer questions. Problems often show up not as PHP errors, but in user behavior: people did not realize the price was per attendee, selected one seat instead of two, could not find the meeting link, confused the date, or assumed minimum capacity already guaranteed that the class would happen. Those issues are usually solved through better text before the form, step order changes, a short helper message on booking__group_bookings, or a revised service description.
The administrator should compare bookings, attendees, and actual attendance. If attendee count often does not match the people who show up, add a required field for participant names through Custom Fields or revise the confirmation process. If many customers book the minimum quantity and then ask to add seats manually, you may need to make attendee selection more prominent or use separate buttons for popular packages.
Combined workflows: resources, calendars, WooCommerce, and team rules
Group Bookings rarely works in isolation. In a real project, it almost always sits alongside at least one dependency: an agent, a room, equipment, a payment gateway, a meeting integration, a customer dashboard, a reminder workflow, or an external reporting sheet. So after the basic capacity check, you need to document the operating workflow for the team. This is not documentation for its own sake. This is where you decide who is responsible for available seats, who confirms payments, who checks the online meeting link, and who fixes a booking if the customer entered the wrong attendee count.
Group Bookings and Assets: when capacity depends on physical items
If the service is limited only by headcount, capacity in the group service is enough. But if both people and physical resources are limited, a second layer is added. For example, a bike tour may allow 8 participants, but only 6 bikes are available at a specific location. A photo studio may allow 10 people, but only one dressing room and one main room are available at the same time. The Assets documentation says that LatePoint checks resource availability before allowing the booking and hides the time slot if all units are occupied. That means service capacity and asset quantity need to be aligned.
A practical setup looks like this: first configure the group service around people, then create an asset for the resource and link it to the relevant services or agents. After that, repeat the capacity test. If the service maximum capacity is 8 but the asset quantity is 6, expect the resource to become the limiting factor before the group itself fills up. In your internal notes for administrators, explicitly state that "seats" and "resources" are separate constraints. Otherwise, the team may start looking for an error in Group Bookings when the slot is really being closed by the asset.
Simple resource check example
- Create a test asset with a small quantity, such as "Training Room" with one available unit.
- Link that asset to the group service.
- Create a booking for one slot and check whether the conflicting slot disappears for another service if it uses the same asset.
- If the slot disappears, confirm that this is the expected resource limit rather than a capacity issue.
Do not increase maximum capacity just to "fix" a closed slot until you have checked assets, the agent schedule, and the external calendar. That kind of fix can give customers more seats than the business can actually support.
Calendars and video meetings: where responsibilities split
Calendar integration is responsible for agent availability and event creation, while Group Bookings is responsible for attendee count inside the LatePoint booking. Those responsibilities overlap, but they are not the same thing. If Google Calendar shows the instructor as busy, LatePoint may hide the slot regardless of capacity. If a booking is created, the meeting integration may generate either a shared or separate link based on the service setting. If the external calendar does not sync correctly, the group may be sold while the agent never sees the event in the tool they actually use.
For online classes, create an internal rule with three checks. First: the agent has connected their calendar or meeting account. Second: the service is configured for the correct meeting mode. Third: after a test group booking, the link appears in the confirmation, the email, or the customer dashboard. If every class should use one common link, document shared meeting link as the standard for that service. If privacy matters more, keep separate links and make sure the instructor understands this is not a webinar room, but a set of individual meetings.
WooCommerce checkout: what to verify when selling group spots
If LatePoint sends payment to WooCommerce checkout, the customer goes through not only the booking form, but also the standard WooCommerce checkout. Here, it is important to preserve the relationship between the order, the booking, attendee count, and the amount. The WooCommerce Addon Setup documentation states that after selecting the WooCommerce payment option, the user is redirected to the WooCommerce Checkout page, and the confirmation setting determines where they land after the order. In a group booking flow, this makes return-path testing essential: the customer should see either the LatePoint confirmation or a clear success page, and the administrator should see the paid state and the correct attendee count.
Do not overload the checkout with extra products if they are not related to the booking. The more coupons, shipping fields, cross-sell blocks, and custom checkout rules you add, the greater the risk that the customer loses the context of the group booking. If WooCommerce is used only for local payment methods, keep the process short: choose attendees, confirm the amount, pay, and return to the confirmation page. After testing, compare the LatePoint order and the WooCommerce order. If the totals match but the booking still shows as unpaid, check the integration settings and webhook or payment status processing.
Team roles: who checks what
Group booking creates operational overhead that cannot be solved through settings alone. The site administrator is responsible for service settings, payments, and the form. The instructor or agent is responsible for actually delivering the class and checking attendees. The support manager is responsible for changes: adding a seat, canceling a booking, explaining a payment request, or resending the meeting link. If all roles have the same dashboard access, that may be convenient but risky. If access is restricted, support staff may not be able to see orders belonging to another agent.
On WordPress.org support, users have discussed the need to give agents access to all customers, orders, and bookings, not just their own. That points to a real issue in a shared workspace. Do not present that in the article as a guaranteed feature. Instead, create an internal policy: which LatePoint roles are used, who is allowed to modify bookings, who can see payments, who handles the customer cabinet, and who can adjust service capacity. For a small studio, one administrator may be enough. For a larger class network, it is better to split permissions and verify in advance that an agent cannot change settings that affect pricing or seat limits.
Reporting: bookings are not the same as participants
In a group model, the key management metric is not just the number of bookings, but total attendees. If four customers each buy three seats, the dashboard will show fewer orders than the actual number of people attending the class. The Group Bookings changelog mentions total attendees in CSV and webhook output, so use that field in reports. For a manager, two numbers matter: order count and attendee count. The first shows support and payment workload, while the second reflects actual class, room, or instructor utilization.
If you export data to a spreadsheet, add a simple utilization formula: attendees divided by maximum capacity. That gives you an easy fill-rate percentage for each slot. When several classes consistently fail to reach minimum capacity, you can adjust the schedule, pricing, or promotional page. When slots regularly fill to the maximum quickly, you may need another agent, another location, or an additional time slot. In that sense, Group Bookings becomes not just a booking form, but a source of operational data.
Policy for changes after booking
Customers may choose the wrong attendee count or ask to add seats later. Decide in advance how that will be handled. If the slot is not full yet, the administrator may create an additional booking, edit the existing order, or ask the customer to place another booking, depending on what your version and payment flow support. If the slot is already full, manually adding attendees should be prohibited without approval from the responsible manager, otherwise capacity stops meaning anything.
In emails and on the confirmation page, it is better to include a short rule such as: "If you need to change the number of attendees, contact the administrator before the class is confirmed." Do not promise automatic updates if they are not configured and tested. For paid bookings, it is especially important not to change attendee count without a financial review: the amount, deposit, invoice, payment link, and WooCommerce order all need to remain aligned.
Troubleshooting common issues with group bookings
Issues in Group Bookings rarely live in a single field. The same complaint, "group booking is not working," may mean the add-on is not active, the wrong service is being edited, the shortcode is outputting a different service ID, cache is serving an outdated form, payment is not recalculating, email is not being sent through WordPress mail, or the meeting integration created separate links. That is why troubleshooting should move from the visible symptom to the cause, rather than changing everything at once.
The service does not show a Group Bookings section
Symptom: the administrator opens the service edit screen but does not see capacity settings or group booking options. Possible causes include Pro Features or the old standalone add-on not being active, the user editing the wrong site, insufficient role permissions for the required settings, or a leftover conflict after an update.
Verification: open LatePoint Add-ons, make sure the required functionality is enabled, then review the documentation for the Pro bundle. If the site was updated from an older add-on model, deactivate older duplicate modules on a staging copy and test again. The fix should be done through the standard WordPress admin flow, not by manually deleting plugin files. Rollback: restore from backup or disable only the most recently activated add-on.
The customer cannot see the attendee count selector
Symptom: the service is configured as a group service, but the form does not show a total attendees step or field. Possible causes: attendee selection is disabled for group services, the shortcode presets selected_total_attendees, the Booking Form Editor changed the order or visibility of steps, the page is displaying a different service, or cache is showing an outdated form.
Verification: temporarily output a simple form [latepoint_book_form selected_service="ID"] on a test page, without hiding the side panel and without presetting attendee count. If the field appears, the problem is with that page or shortcode. If it does not, go back to the service edit screen and check the group settings. Fix: enable the selector, remove the unnecessary attribute, or add explanatory text if the selector is intentionally hidden.
The price or deposit does not recalculate
Symptom: the customer changes total attendees, but the total price, deposit, or extras stay the same or increase incorrectly. Possible causes: the service price is being treated as a per-booking price, the multiplier is disabled, Service Extras are configured with the wrong group or individual behavior, or Base Fee is being used instead of per-attendee pricing, or vice versa.
Verification: test one clean service without extras, then add Base Fee, then deposit, then extras. At each step, compare totals for 1, 2, and 3 attendees. Fix: align the pricing model, charge and deposit multipliers, and extras. Rollback: temporarily disable the questionable extra or set Base Fee back to 0 until the formula is clear.
The slot closes too early or stays available after it should be full
Symptom: the slot disappears after the first booking even though seats are still available, or it remains available after the maximum has been reached. Possible causes include the configured minimum-capacity behavior, booking status, the agent schedule, asset quantity, an external calendar, an existing booking, or conflicting add-ons.
Verification: create a new date with no other bookings and run the capacity test with multiple customers. Then check the agent calendar and assets. If an external calendar is connected, temporarily isolate the test service from external events. Fix: adjust capacity, schedule, or resource settings, and if a conflict is suspected, disable recently added scheduling add-ons on staging.
The meeting link is not shared across the group
Symptom: customers booked into the same online slot receive different links, or the meeting invite does not include all attendees. Check the service setting under Group Bookings > Meeting Links, the selected integration, and the behavior of the primary customer. The documentation says separate links are the default, and a shared link must be explicitly selected on the service if all participants should join the same meeting.
Fix: enable a shared meeting link for the relevant service, repeat the test with multiple bookings, and check the event in Zoom, Google Meet, or Microsoft Teams. If each attendee needs to be invited as an individual calendar guest, do not assume Group Bookings solves that automatically. Check the specific integration and, if needed, collect additional attendee emails through custom fields or a separate workflow.
Confirmation emails are not arriving
Symptom: the booking is created, but the customer or administrator does not receive an email. LatePoint documentation explains that the plugin triggers the send through WordPress, while delivery depends on the site's mail configuration. Check SMTP, a mail testing plugin, the hosting mail server, and the notification workflow. If you are testing with an email address on the same domain, keep in mind that some servers block those messages or route them differently.
Fix: configure SMTP, verify core WordPress mail delivery, then check the LatePoint template. If the email arrives but does not include total attendees, review the {{total_attendees}} variable and the event template. Rollback: temporarily restore the default notification template and add variables back one at a time.
Strange errors appeared after an update
Symptom: after an update, settings disappear, the add-on is marked invalid, PHP notices appear, the dashboard becomes unstable, or the form no longer completes bookings. For troubleshooting, LatePoint recommends enabling the WordPress debug log using WP_DEBUG and WP_DEBUG_LOG, reproducing the issue, and then removing debug settings after the fix. Do not leave error output visible on a public site.
Verification: enable debug only for the duration of troubleshooting, ideally on staging. Record the exact test case: service ID, attendee count, payment method, browser, user role, and enabled add-ons. Fix: roll back the most recent update from a backup, deactivate the conflicting older add-on, update the related Pro Features package, or contact LatePoint support with the debug log and a reproducible test case.
Safe form improvements without touching core files
Group Bookings often does not need complex code. It needs a clear interface. The customer should understand that they are selecting the number of attendees, not the number of separate appointments. The administrator should see total attendees in the list and in emails. The team should know where to change Base Fee and how to verify remaining seats. That is why safe improvements should start with text, the Booking Form Editor, shortcode attributes, and standard hooks, not by editing add-on files.
Add guidance only on the group step
The snippet above shows how to output text before the booking__group_bookings step. You can adapt it for an English-language site with wording such as: "If you are booking for multiple people, choose the attendee count here." This does not change the business logic or affect payment, so it is much lower risk than using JavaScript to manipulate the total.
Create separate pages for different packages
If customers often make mistakes with attendee count, create dedicated buttons or pages such as "1 Spot," "2 Spots," or "Family Package." Each one can use selected_total_attendees. But next to the form, clearly state that the quantity has already been preselected. Otherwise, the customer may not realize they are booking more than one seat.
Do not break pricing with external code
Avoid writing custom JavaScript that manually changes the total price in the form, because it can drift out of sync with the server-side payment logic. If you only need to change the presentation, use LatePoint settings, Base Fee, Service Extras, the Booking Form Editor, or CSS. If you need to change the actual pricing formula, look for official payment-related hooks or filters for your specific version instead of copying a random snippet from a discussion thread.
Use CSS only for readability
Official LatePoint documentation allows custom CSS for the booking form, such as changing the font family through the .latepoint-w selector. That can help keep the form visually aligned with the theme. But CSS should never hide critical elements of the group step, payment breakdown, or confirmation. If a Base Fee line or attendee count disappears after styling changes, roll back the CSS and add rules more selectively.
Questions to settle before launching group bookings
Does LatePoint Group Bookings work without LatePoint Pro?
According to current WordPress.org information, group bookings are listed among LatePoint Pro features, and LatePoint documentation says Group Bookings is included in the Pro Features bundle. If you are using an older standalone add-on version, follow the documentation for your installed branch and do not enable older overlapping add-ons together with Pro Features.
Can I charge per attendee and add a separate fixed fee?
Yes. For group services, LatePoint documentation describes Base Fee as a fixed amount added once per booking on top of the normal service price. After setting it up, test the calculation with different attendee counts to make sure the fee is not multiplied by the number of participants.
How can I preselect the number of attendees in the form?
The form embedding documentation lists the selected_total_attendees shortcode attribute. You can use it when the page or button is meant for a predefined package. But next to the form, you should clearly explain how many seats are already selected so the customer does not accidentally book too many or too few.
Why did the customer not receive the confirmation email?
LatePoint triggers the email through WordPress, but actual delivery depends on the site's mail server. Check SMTP, WordPress test email delivery, the notification workflow, and the email template. If standard WordPress emails are not being sent, Group Bookings is not the cause.
Do I need to disable caching on the booking page?
For the customer cabinet, WordPress.org explicitly says caching should be disabled. You should be careful with the booking page as well: if cache serves an outdated form, customers may see stale slots or an outdated configuration. Dynamic booking pages are usually better excluded from aggressive page caching and tested again after the cache is cleared.
Can I use one Zoom or Google Meet link for the entire group?
Yes, if a supported meeting integration is connected and the service has shared meeting link enabled. LatePoint documentation says the setting is located under Group Bookings > Meeting Links and works with Zoom, Google Meet, and Microsoft Teams. Separate meeting links may be used by default, so the shared-link setup should be tested explicitly.
What if the administrator needs to add multiple customers manually?
First, check how your LatePoint version handles backend bookings and stores attendee count. In WordPress.org discussions, users raised questions about backend workflow flexibility, and the developer responded that multiple appointments can be created one after another. For reception staff, it is best to have a short internal checklist: where to choose the service, attendee count, payment request, and how to verify capacity.
When might Group Bookings not be the right fit?
It may not be the right fit if you are selling a mix of different services in one order, if every person needs a fully separate private appointment, if each attendee must be invited as an individual calendar guest without extra setup, or if you need a complex REST integration with an external system. In those cases, compare LatePoint cart features, recurring appointments, custom fields, webhooks, Bookly, Amelia, or Simply Schedule Appointments.
When LatePoint Group Bookings is the right choice
LatePoint Group Bookings is worth using when you already think of the service as a slot with seats: there is a clear capacity limit, pricing or deposit depends on attendee count, the administrator needs total attendees in the booking record, and the customer should be able to reserve multiple spots without back-and-forth communication. The add-on is especially well suited to sites where LatePoint already handles the booking form, payments, notifications, customer dashboard, calendar integrations, and the admin interface.
Before you download the latest version of LatePoint Group Bookings and install it on a live site, prepare one test service and walk through the full workflow: capacity setup, attendee selection, Base Fee, deposit, payment, confirmation, email, shared meeting link, CSV export or webhook, and repeat booking until the slot fills up. That kind of test takes less time than dealing with complaints after launch.
If the test shows that the slot fills correctly, the amount recalculates properly, emails are delivered, the administrator can see the attendee count, and the customer understands exactly what they are booking, then the add-on solves the main problem: it turns a standard booking form into a manageable system for selling spots in a group class, tour, online session, or resource-based service. If your use case requires separate private appointments, complex backend combinations, or unusual per-attendee invitation logic, it is better to compare alternatives first before moving the process onto live bookings.


