Bookable Workshops

In this guide, we outline how to use FooEvents to manage a recurring series of workshops. Customers can choose an available date and time, select a package, provide details for each participant, pay online and receive confirmation of their booking.

This guide outlines a recommended setup for a bookable workshop series with the following requirements:

  • Selectable workshop dates and morning or afternoon time slots, with a maximum of 12 attendees per occurrence
  • Standard and Accelerator package options with different prices and inclusions
  • Group bookings with information captured for each participant
  • A confirmation email and ticket showing the attendee’s package, date and time
  • Automated preparation information and reminders before the workshop
  • Bookings, attendee information and attendance managed by workshop date and time slot
  • Optional on-site sales of remaining places and workshop materials

Here is an example of this type of setup: Training / Workshop

The example uses one variable bookable event product. FooEvents Bookings manages the workshop dates, time slots and capacity, while WooCommerce variations manage the package options and pricing.

The same approach can be used for creative classes, corporate training, sports or specialist skills clinics, cooking courses, first-aid or certification sessions, maker-space inductions, coaching and other instructor-led sessions where customers choose from scheduled dates or time slots with limited capacity.

If you are new to FooEvents, we recommend reading the Getting Started guide before continuing.

Plan your workshop booking setup

Products used

The following products and extensions are used in this workshop booking setup:

Recommended workshop product structure

The most important decision is how the workshop offering should be divided into WooCommerce products, variations and optional add-ons.

OfferingEvent configurationΕπιλογέςCapacity and access
Recurring workshop with selectable dates and timesOne Bookable event productWorkshop dates and time slotsStock is managed separately for each date and time slot
Standard, premium or accelerator packagesVariations on the Bookable event productPackage attributes and pricesPackages draw from the selected workshop’s booking capacity
Optional materials or merchandiseSeparate WooCommerce productsSize, color or kit options as requiredUses separate product stock and does not create another workshop booking
Private or corporate workshopSeparate Bookable event productPrivate dates, packages and attendee fieldsKeeps pricing, capacity and reporting separate from public workshops
Course where one ticket covers several required datesMulti-day event productSequential or specific course daysOne ticket covers every configured day and supports a separate check-in for each day
Single workshop with no customer date choiceSingle event productVariations if requiredStandard event or variation stock can be used without FooEvents Bookings

Use one Bookable event product when the workshop content, venue and packages remain substantially the same and customers simply choose an occurrence. Create a separate product when a workshop has different content, instructors, policies, attendee questions or reporting requirements.

A booking ticket covers one selected date and time slot. If a customer is purchasing a course that requires attendance on several dates, use a multi-day workflow instead of expecting one booking to represent the complete course. See the Πρότυπο: Συνέδριο πολλαπλών ημερών guide for an example of a ticket with daily attendance.

The paid FooEvents plugins used in this example can be purchased individually. The FooEvents δέσμη κρατήσεων includes FooEvents for WooCommerce, FooEvents Bookings, FooEvents Custom Attendee Fields, FooEvents PDF Tickets and FooEvents Calendar. The Check-ins apps and ticket themes are also included. AutomateWoo and FooEvents POS are optional and are not included in the Bookings Bundle.

Configure packages, capacity and attendee data

Setting up the workshop product

Create the recurring workshop as a variable Bookable event product:

  1. Πηγαίνετε στο Products > Add Product and enter the workshop title, full description, short description, featured image, gallery, categories and tags.
  2. Στο Δεδομένα προϊόντος panel, select Μεταβλητό προϊόν.
  3. Set the product and its variations to Εικονικό so WooCommerce does not request shipping for the workshop.
  4. Set them to Κατεβάστε το if paid workshop orders should be able to move to the completed status without manual fulfillment, depending on the payment and order configuration.
  5. Πηγαίνετε στο Product Data > Event Settings, set Είναι αυτό το προϊόν ένα γεγονός; στο Ναι και επιλέξτε Κράτηση ως το Τύπος εκδήλωσης.
  6. Complete the venue, organizer, contact and directions fields, then save the product.

The product page should answer the practical questions a customer needs to resolve before booking:

  • Who the workshop is designed for and the experience level required
  • What attendees will learn or produce
  • The workshop duration, venue and accessibility information
  • What is included in each package and what attendees must bring
  • Age limits, prerequisites, safety requirements or clothing guidance
  • The cancellation, transfer, late-arrival and minimum-attendance policies

The main event date is less important than the selectable booking dates, but the product and ticket information should still describe the overall workshop series accurately.

Creating package options

Use WooCommerce variations when a customer must choose a package that changes the price or what is included. Go to Δεδομένα προϊόντος > Χαρακτηριστικά, add an attribute called Package, enter the available options, enable Χρησιμοποιείται για παραλλαγές and save the attribute. Then go to Παραλλαγές and use Generate variations.

PackageExample priceExample inclusions
Πρότυπο$90Workshop admission, use of shared equipment and basic consumable materials
Accelerator$290Workshop admission, complete materials kit, take-home resources and a follow-up group coaching session

Set the price, Virtual and Downloadable options for each variation. Describe the package differences clearly on the product page and in the variation description so customers do not need to infer what the higher price includes.

In this setup, capacity is managed by the selected booking date and slot. Both packages draw from the same 12 workshop places. Only enable variation stock if a package also needs its own sales limit; variation stock then acts as an additional restriction and does not replace the slot-and-date capacity.

Materials and add-ons

Use a separate WooCommerce product for a physical item that can be purchased without changing workshop admission, such as an apron, tool set or additional materials pack. WooCommerce coupons can be used for corporate partners, returning attendees or promotional campaigns without creating another package.

Creating workshop dates and time slots

Πηγαίνετε στο Product Data > Bookings Settings και επιλέξτε + New Slot. A slot usually represents a repeatable workshop time or format, for example Morning Workshop ή Afternoon Workshop. Enable the time fields and enter the starting time for each slot.

ΥποδοχήDatesΏρα έναρξηςStock per date
Morning Workshop5, 12 and 19 September10:0012
Afternoon Workshop5, 12 and 19 September14:3012

Επιλέξτε Προσθήκη ημερομηνιών to open the Booking Wizard. Use the start date, end date and days-of-the-week options to generate repeating workshop dates, or add individual dates manually. Each generation range should cover no more than six months. If another slot uses the same dates, copy the first slot and adjust its name and time.

Managing workshop capacity

Set stock for every slot and date combination:

  • Leave stock empty for unlimited availability.
  • Εισάγετε το 0 when the occurrence has no availability.
  • Enter a positive number, such as 12, to limit that date and slot to a fixed number of attendees.

Booking stock is reduced for each attendee ticket, not only once per WooCommerce order. If the room holds 12 people but the instructor and assistant also require working space, set public stock to the actual number of customer places rather than the room’s theoretical maximum.

Σημαντικό: Use booking stock when capacity differs by workshop date or time. If booking slots are set to unlimited and capacity is managed only through product or variation stock, all occurrences draw from the same WooCommerce stock pool and are not limited independently.

Review every generated date before saving. Avoid deleting, reordering or repurposing dates that already have bookings. If the schedule must change after sales begin, update the affected tickets carefully and communicate the change directly to those attendees.

For a complete description of the slot builder and stock behavior, see the FooEvents Bookings guide.

Configuring booking selection and terminology

Πηγαίνετε στο Product Data > Event Terminology and select the Bookable event type. Replace generic booking terms with language that fits the customer journey. For example:

Default termWorkshop term
ΥποδοχήWorkshop time
ΗμερομηνίαWorkshop date
Booking DetailsWorkshop selection

Return to Event Settings > Display Options. For the Attendee Details Page workflow, use Ημερομηνία → Υποδοχή ως το Σειρά επιλογής κρατήσεων, since this is the supported order on the attendee page.

Display the booking fields on the product page when customers should see and choose availability before adding the workshop to their cart. Display them on both the product and Attendee Details pages when purchasers booking for several people should be able to review the selection for each attendee before checkout.

  • Keep the slot time visible when more than one time is offered.
  • Show stock in the date and slot selectors if remaining availability will help customers choose.
  • Leave Εμφάνιση ημερομηνιών κράτησης εκτός αποθέματος disabled if sold-out dates should disappear from the selector.
  • Hide the general stock notice only when it is unnecessary or potentially confusing.

Booking confirmation: Choosing a date or adding the product to the cart is not a completed booking. Treat the place as confirmed only after checkout succeeds, the order reaches a configured ticket-generating status and the attendee’s booking ticket is created.

Setting a booking cutoff

Πηγαίνετε στο Product Data > Event Expiration and find Λήξη κρατήσεων. Enable Λήξη κρατήσεων and choose how long before the scheduled workshop a date and slot should stop accepting new bookings.

For example, an artist who must prepare materials the previous afternoon might close bookings 24 hours before each workshop. A corporate trainer might close registrations several days earlier to prepare access cards, catering and printed materials. The cutoff hides the occurrence from customers; it does not cancel existing bookings.

Confirm the WordPress timezone under Ρυθμίσεις > Γενικά before relying on date-based expiration or automated reminders. See the event expiration guide for related settings.

Capturing attendee information

Use the Attendee Details Page to collect participant information before WooCommerce checkout. This provides a dedicated step where the purchaser can complete the fields and confirm the workshop selection for every attendee in the order.

Σημαντικό: FooEvents for WooCommerce 2.0.16 and newer enables the Attendee Details Page by default on new installations. Existing installations should confirm that it is enabled. Update FooEvents for WooCommerce and all installed FooEvents extensions, then test any change to an established checkout process on a staging site first.

Πηγαίνετε στο FooEvents > Settings > Attendee και ενεργοποιήστε Enable Attendee Details page. FooEvents can create the page automatically. If you use a custom page, include the following shortcode:

[fooevents_attendee_form]

Select the page under Attendee Details page and save the settings. If one purchaser commonly books for a team or family, consider enabling the option that lets them copy basic attendee details before completing the unique information for each participant.

Στο Product Data > Event Settings > Attendee Details, enable the standard fields needed for each participant. First name, last name and email address are usually sufficient for a small workshop. Add telephone, company and designation only when they support the actual workshop workflow.

Δείτε το Attendee Details Page guide for setup and page-flow details.

Workshop-specific attendee fields

Απαιτεί το FooEvents Προσαρμοσμένα πεδία συμμετεχόντων plugin.

Πηγαίνετε στο Product Data > Custom Attendee Fields and create only the fields the instructor will use. Suitable examples include:

  • Experience level — use a select field with consistent values such as Beginner, Intermediate and Advanced.
  • What would you like to learn? — use a short text field or textarea for goals that will help the instructor prepare.
  • Accessibility requirements — collect this only when the information is needed to make practical arrangements.
  • Company or team — useful for corporate training and private group workshops.
  • Certification or membership number — useful for accredited training or specialist clinics.
  • Terms, waiver or safety acknowledgment — use a checkbox with clear wording when explicit confirmation is required.

Use fixed options for information that will be grouped or reported later. Mark fields as required only when an answer is necessary to accept or deliver the booking. Avoid collecting dietary, health, identity or emergency information unless it is genuinely relevant, and restrict access to exports containing sensitive attendee data.

Custom attendee fields can be displayed on the ticket and in the Check-ins app, but operationally sensitive responses should not be placed on a customer-facing ticket unless the attendee needs to see them. See the custom attendee fields guide.

Ticket generation and delivery

The FooEvents ticket is the attendee’s workshop booking confirmation. Go to Product Data > Ticket Settings and select a suitable HTML ticket theme. Confirm that the ticket displays the workshop name, attendee, package variation, booking date, booking time or slot, venue and barcode or QR code.

Use a clear ticket email subject such as Your workshop booking is confirmed. Add stable information to the ticket email body, including arrival time, venue access, parking, what to wear, what to bring and a link to the cancellation or transfer policy. Keep details that might change at short notice in a managed reminder workflow rather than hard-coding them into every ticket.

Enable the option to email the ticket directly to the attendee when each participant should receive their own confirmation. If the purchaser is responsible for the whole group, test whether your preferred combination of purchaser and attendee ticket emails sends the right information to the right people.

FooEvents generates the booking and ticket when the WooCommerce order reaches one of the statuses selected under FooEvents > Settings > General > Send on order status. Ολοκληρωμένο is the default. Select only statuses that represent an approved or intentionally accepted booking so confirmations are not issued for orders that are still awaiting payment or review.

Σημαντικό: A WooCommerce order email confirms the commercial transaction, while the FooEvents ticket confirms the attendee’s workshop booking. Make sure your email wording does not tell a customer that their place is confirmed before the booking ticket has been generated.

Optional PDF and calendar confirmation

If FooEvents PDF Tickets is installed, go to FooEvents > Settings > PDF Tickets and enable PDF tickets. Choose whether the PDF should be attached to the HTML ticket email and made available as a download. Then return to the product and select the appropriate PDF ticket theme.

Enable the ticket’s Προσθήκη στο ημερολόγιο option and calendar attachment when appropriate. Calendar entries reduce date and time mistakes, but attendees should still be directed to the latest operational information if arrangements change.

Use a current ticket theme so the selected booking date, slot and time display correctly. See the ticket configuration guide και FooEvents PDF Tickets guide.

FooEvents can also display generated tickets on the WooCommerce Thank You page. If the order has not yet reached a ticket-generating status, the customer will see the configured pending message. Review the Thank You Page Tickets guide and make sure the pending message explains what happens next.

Workshop confirmations and communications

Separate confirmation from preparation messages

The confirmation ticket should be sent as soon as the booking is accepted and should contain the information required to identify the reservation. Preparation and reminder messages can then be sent relative to the selected booking date.

ΧρονισμόςPurposeRecommended method
Immediately after approvalConfirm the package, attendee, date, time and venueFooEvents HTML ticket and optional PDF
Seven days beforeProvide preparation work, materials, directions and cancellation remindersAutomateWoo email
One day beforeSend a concise arrival reminder and last-minute operational informationAutomateWoo email or optional SMS
Immediately after a schedule changeExplain the change and the attendee’s optionsDirect targeted email, followed by an updated ticket when applicable
One day after attendanceShare resources, feedback form, certificate information or the next workshopAutomateWoo follow-up

Avoid duplicating long instructions across several messages. Keep the confirmation concise, use reminders for time-sensitive preparation and link to one maintained information page when details may change.

Automate reminders with AutomateWoo

Optional: Automated booking reminders require a supported automation solution. FooEvents integrates with AutomateWoo, which is purchased and installed separately.

Create an AutomateWoo workflow using the FooEvents Μετά τη δημιουργία εισιτηρίου trigger. Schedule the action relative to the selected booking date using the FooEvents booking variable. For example, a reminder two days before the workshop can use:

{{ fooevents.bookings_mysql | format: 'mysql', modify: '-2 days' }}

Create separate workflows for preparation, reminders and follow-up so each can be tested, paused and edited independently. Useful FooEvents variables include attendee first and last name, attendee email, ticket ID, event name, event venue, booking date and booking slot.

  • Send a preparation guide seven days before the selected workshop.
  • Send directions and an arrival reminder one day before the selected workshop.
  • Send resources or a feedback request after the workshop date.
  • Use the FooEvents check-in trigger when a follow-up should only be sent after an attendee is marked as present.

Timezone: AutomateWoo uses the date and time provided by the FooEvents variable but does not adjust it for a different event timezone. If the workshop timezone differs from the WordPress site timezone, calculate and test the workflow timing carefully.

After generating a test ticket, go to AutomateWoo > Queue and confirm that every message is scheduled for the correct date, time, attendee and workflow. Repeat the test for more than one workshop date and for bookings created close to a reminder cutoff.

Distinguish operational and marketing messages

Directions, preparation requirements, safety information and a booking change are operational messages needed to deliver the workshop. Promotions for unrelated workshops are marketing messages and should follow the consent and unsubscribe requirements that apply to your audience.

AutomateWoo treats workflows as marketing by default. Enable Είναι συναλλακτική; only for genuinely operational messages. Do not use that option to bypass marketing consent. If attendees opt in to ongoing communications, FooEvents can also add them to a tagged Mailchimp audience. See the Mailchimp integration guide.

A CRM integration such as Σύντηξη WP can add attendees as contacts and apply event or package tags. Test consent, field mapping and duplicate-contact behavior before using attendee data in an automated campaign.

Communicate schedule changes and cancellations

Automated reminders are not a substitute for direct communication when a workshop is canceled, moved or materially changed. Filter the affected bookings by event, date and slot, confirm the recipient list, then send a clear message that explains:

  • What changed and why
  • The original and replacement date, time or venue
  • Whether the attendee must take any action
  • The transfer, credit or refund options available
  • How and when the updated confirmation will be delivered

Update each affected booking, confirm the new slot has capacity and resend the ticket so the attendee has the current date and time. Pause or update scheduled AutomateWoo messages before they send outdated information.

Prepare and manage workshop attendance

Preparing for check-ins

Πηγαίνετε στο FooEvents > Bookings to view the booking list. Filter by event, slot and date to prepare the attendee list for a specific workshop occurrence.

Before each workshop, confirm:

  • The number of confirmed attendees and remaining places
  • The package quantities and materials required
  • Relevant experience levels, goals or prerequisites
  • Accessibility arrangements that have been agreed with attendees
  • Unpaid, canceled, transferred or manually added bookings that require attention
  • Whether reminder messages were sent successfully

Prepare materials from the filtered booking list rather than from the total number of orders. One order can contain several attendees, and each ticket represents one participant and one place in the selected workshop.

Managing bookings before each workshop

From FooEvents > Bookings, select the booking title or ticket ID to edit the attendee information, booking slot or booking date. Confirm that the replacement occurrence has space before moving the attendee.

  1. Verify the attendee and original booking.
  2. Check availability for the requested replacement date and slot.
  3. Update the booking and attendee information.
  4. Confirm that the old and new slot stock values are correct.
  5. Resend the ticket and verify any scheduled reminders now use the updated booking date.
  6. Record any fee, credit or exception according to the published workshop policy.

For cancellations and refunds, use the established WooCommerce order workflow and update the ticket status when necessary. Confirm that the workshop place becomes available again before accepting another customer. Do not manually increase booking stock until you have checked whether the cancellation or refund has already returned it.

Define how late transfers, no-shows and credits are handled before opening bookings. Publishing a concise policy on the product page reduces disputes and gives staff a consistent basis for making exceptions.

Preparing check-in devices

Install the latest version of the free Εφαρμογή FooEvents Check-ins on the devices used at the workshop. Connect each device to the website, open the Bookable event and select the relevant booking date and slot. Bookable events use dedicated screens that make it easier to filter attendees for the occurrence being managed.

Review the app-related settings under FooEvents > Settings > Check-ins:

  • Limit the event list to the workshops the signed-in staff member should manage.
  • Choose a ticket loading period that includes bookings made well in advance.
  • Ενεργοποίηση Include older tickets that have not been checked in when valid workshop tickets might fall outside the selected loading period.
  • Ενεργοποίηση Απόκρυψη προσωπικών πληροφοριών if check-in staff only need the attendee name, package and ticket status.
  • Use a smaller Εισιτήρια προς φόρτωση ανά αίτηση value if the website struggles to load a large ticket history.

Load the attendee data before opening the registration area. Test the built-in camera and any Bluetooth scanner using a real ticket from a completed test order. Confirm that the correct attendee, package, booking date and slot display and that the check-in update appears in WordPress.

If staff must not admit attendees on the wrong date, enable Περιορισμός των check-in των συμμετεχόντων στην τρέχουσα ημέρα in the app. The app can warn when the booking date does not match the device date while still allowing an authorized staff member to handle a legitimate exception. See the current-day check-in guide.

Checking in attendees

Workshop check-in workflow

  1. Confirm the workshop event, date and time slot selected in the app.
  2. Scan the ticket barcode or QR code, or search by attendee name or ticket number.
  3. Verify the attendee, package and booking details before admitting the participant.
  4. Confirm that the ticket changes to Checked In.
  5. Escalate duplicate, unpaid, canceled, wrong-date or unrecognized tickets to the workshop supervisor.

Το Check-in Ίδια παραγγελία εισιτηρίων option can speed up group arrivals, but only use it when every person from the same order and booking slot is physically present. Test the setting with a group booking before making it part of the arrival workflow. See έλεγχος όλων των εισιτηρίων για την ίδια παραγγελία.

Handling unreliable connectivity

For a small workshop, one connected check-in device and a printed emergency attendee list are often sufficient. If several devices are used, keep them online so check-in changes synchronize through the WordPress website. Offline devices do not synchronize directly with one another, which can allow the same ticket to be accepted on more than one device.

For more information, see the FooEvents Check-ins app guide και attendee check-ins guide.

Sell workshop places and materials on-site

Selling bookings and products with FooEvents POS

Optional: This workflow requires FooEvents POS and any FooEvents extensions needed by the products being sold.

FooEvents POS supports Bookable event products, variations and custom attendee fields. Staff can select the workshop date, slot and package, capture the participant information, complete payment and print or email the ticket. Standard WooCommerce products such as materials kits or tools can be added to the same order.

Before accepting walk-ins, check the live availability for the intended workshop occurrence and account for attendees who have booked but not yet arrived. Complete a test POS booking and confirm that booking stock is reduced, the attendee appears under FooEvents > Bookings, the ticket is generated and the Check-ins app can find it.

POS connectivity limitation

Connectivity: FooEvents POS can capture orders while offline, but event tickets are generated and printed after the device reconnects and the order synchronizes with the website. Offline devices might not have current slot availability, so a connected sales point is strongly recommended for capacity-limited walk-in bookings. See the FooEvents POS offline mode guide.

Reporting and final checks

Reporting and attendee exports

After each workshop, compare the filtered booking list with the check-in results. Resolve any check-ins that were recorded on a backup list or offline device before using attendance data for certificates, follow-up or reporting.

Χρησιμοποιήστε το FooEvents event reports to review sales and attendance. You can also εξαγωγή πληροφοριών για τους συμμετέχοντες from the event product, including attendee details, ticket information, custom fields, booking details and check-in data.

Use the verified attendance list to send resources, feedback requests, certificate information or details about the next suitable workshop. The FooEvents Κατασκευαστής χαρτικών can prepare printable name tags, badges and personalized labels using ticket data.

Restrict exports to staff who need them, avoid emailing unprotected files containing sensitive attendee information and delete temporary working copies when they are no longer required.

Final checks before bookings open

Complete the following checks using real test orders and tickets:

Online bookings

  • Confirm that the product page explains the audience, outcomes, duration, venue, package inclusions, prerequisites and booking policies.
  • Verify that the product is a Bookable event and that every variation has the intended price and Virtual and Downloadable settings.
  • Review every workshop date, time and slot label, and confirm that the WordPress timezone is correct.
  • Check the stock for every date and slot combination, including any places retained for instructors, assistants or operational needs.
  • Confirm that package variations draw from the intended booking capacity and that any additional variation stock limits are deliberate.
  • Test the Date → Slot selection order on both the product and Attendee Details pages.
  • Confirm that available, sold-out and expired workshop occurrences display as intended.
  • Book several tickets in one order and verify that each attendee’s details, package, date and time are saved correctly.
  • Test every payment and order-status path, including a slot with only one place remaining and any free or fully discounted bookings that will be offered.

Ticket delivery and communications

  • Confirm that tickets are generated only when an order reaches an approved status.
  • Verify that HTML and PDF tickets show the correct attendee, package, booking date, slot, venue and scannable barcode or QR code.
  • Test purchaser and attendee email delivery, calendar information, Thank You page messaging and My Account downloads.
  • Check every AutomateWoo workflow in the queue and verify the recipient, booking-relative timing, timezone and transactional or marketing classification.
  • Test a schedule change and make sure the attendee receives an updated ticket while outdated reminders are paused or corrected.

Workshop operations

  • Move and cancel test bookings, confirm that slot stock remains accurate and resend the updated ticket.
  • Filter the booking list by event, date and slot, then generate the attendee list or export used by the instructor.
  • Load the event on every check-in device and test successful, duplicate, canceled, unpaid and wrong-date scans using tickets from completed test orders.
  • Confirm the backup process for poor connectivity and reconcile any check-ins recorded outside the main online workflow.
  • Document how staff will handle transfers, cancellations, no-shows, lost tickets, schedule changes and refunds.

Point of sale

  • Complete a test POS booking and confirm the selected workshop date, time, package and attendee fields are recorded correctly.
  • Verify that booking stock is reduced, the ticket is generated and the attendee is visible in the Check-ins app.
  • Confirm that staff understand the connectivity limitation before accepting capacity-limited walk-ins in offline mode.

Run the complete process as a rehearsal: place an online booking, receive the ticket and reminder, move the booking, scan the updated ticket, sell a remaining place through FooEvents POS and review the resulting attendee and check-in records. This exposes most configuration and staff-process issues before customers are affected.

Χρειάζεστε υποστήριξη;

Δεν μπορείτε να βρείτε την απάντηση που χρειάζεστε; Η ομάδα μας είναι εδώ για να βοηθήσει, Επικοινώνησε!