Skip to content
Log in

Bookable events and services

On this page

StoreConnect allows you to sell bookable events and services, such as courses, seminars, and various kinds of appointments through your stores. You set up bookable events as normal products (with some extra configuration) so they can be browsed, searched for, added to cart, and purchased at checkout.

This topic explains all the configuration possibilities for bookable products, and where to find each record in Salesforce. For a step by step example, see create a bookable event. If something does not work as expected, see troubleshoot bookable events.

Before you begin

Your Salesforce profile must use the SC Product Layout for the Product object. The booking fields are only on that layout. If a product record does not show the Booking Information section, your profile is assigned the standard Salesforce Product Layout. Assign SC Product Layout to your profile as described in assigning page layouts.

How a bookable event is set up

What you configure:

  • Product — what is being booked (the session), with its length and attendee settings
  • Bookable Location — where sessions are held, physically or virtually
  • Product Bookable Location — links one product to one Bookable Location, and sets how many bookings each slot takes
  • Availability — when the product can be booked at that location

When a customer books, StoreConnect creates:

  • Bookable Event — one booked time slot, created the first time someone buys that slot
  • Booking — one ticket for a bookable event
  • Booking Attendee — a person attending under a booking

Each record type has its own list in Salesforce. Search for its plural name (for example Bookable Locations or Availabilities) in the App Launcher to open it. To create or update these records in bulk through the API or Data Loader, the object API names are Product2, s_c__Bookable_Location__c, s_c__Product_Bookable_Location__c, s_c__Availability__c, s_c__Bookable_Event__c, s_c__Booking__c, and s_c__Attendee__c.

To set up a new bookable product, work in this order:

  1. Create a new product and set the Booking Information fields.
  2. Create the Bookable Location, or reuse an existing one.
  3. Create a Product Bookable Location that links the two.
  4. On the product bookable location, create Availability records.
  5. Check Booking Hold Duration (mins) on the Store.

Products (sessions)

A session is the fixed-duration time period that can be booked, for example an 8-hour course with a maximum of 10 attendees, or a 60-minute appointment. Sessions can also be variants of a master product.

On the product record, set the booking fields in the Booking Information section. A product is bookable only when Booking Duration (mins) has a value. Without it, StoreConnect ignores all the other booking fields.

Product field Usage
Booking Duration (mins) How long a session lasts. For an hour-long appointment, enter 60.
Booking Start Buffer (mins) Time before a session during which no other booking can be made, allowing for preparation.
Booking End Buffer (mins) Time after a session during which no other booking can be made, allowing for wrap-up or admin.
Max Attendees Per Booking How many people one booking covers. A ticket for a table of 10 has a value of 10. If blank, each booking covers 1 attendee.
Require Attendee Details for Bookings When checked, the customer is prompted after checkout for the name and either a phone number or email address of each attendee.
Virtual Marks the session as not shipping a physical product, so checkout does not ask for shipping.

Bookable locations

A Bookable Location is a place where sessions can be held, physical or virtual. One location can host many products, and one product can be offered at several locations so customers choose the one that suits them.

Open the Bookable Locations list and select New. You can also create one from the Bookable Locations related list on the Store record.

Bookable Location field Usage
Bookable Location Name The internal name of the location.
Display Name The location name shown in your store.
Store The store that can sell sessions at this location.
Active When unchecked, no sessions are offered for sale at this location.
Information Text (Markdown) Information about the location shown to the customer, in plain text, HTML, or Markdown.
Standard Timezone The time zone of the location, in standard time. Session dates and times at this location display in this zone.
Location is Virtual Tells the customer the location is virtual rather than physical.
Address Line 1 The street address of a physical location.
Address Line 2 The second address line.
City The city.
State/Province The state or province.
Zip/Postal Code The zip or postal code.
Country The country.

Product bookable locations

A Product Bookable Location offers one product at one Bookable Location. It sets how many bookings each time slot can take there, and it holds the Availability records for that pairing.

Create it from either side:

  • On the Bookable Location record, select New in the Product Bookable Locations related list, then choose the product.
  • On the Product record, select New in the Product Bookable Locations related list, then choose the Bookable Location.
Product Bookable Location field Usage
Bookable Location The location where the session is held.
Product The product (session) held at the location.
Maximum Bookings The number of bookings a slot at this location can take before it is full (sold out).
Minimum Bookings The number of bookings a slot needs before it can go ahead. This is for your own reference, and is not shown to the customer by default.

Availabilities

An Availability record defines when a product can be booked at one location. StoreConnect fills each availability window with back-to-back slots of the product’s Booking Duration (mins), separated by any start and end buffers.

Open the Product Bookable Location record and select New in its Availabilities related list. Each Product Bookable Location needs its own Availability records, so the same product at two locations can run on different schedules.

Availability field Usage
Availability Name The internal name of the record.
Product Bookable Location The product and location pairing this availability applies to.
Start Date The first date the availability applies.
End Date The last date the availability applies. Leave blank for no end date.
Start Time The time each day the availability starts.
End Time The time each day the availability ends.
On these days The days of the week the availability applies to. At least one day is required.
Unavailable When checked, the record blocks out time instead of making it available.

The window between Start Time and End Time must be at least the product’s Booking Duration (mins) plus its Booking Start Buffer (mins) and Booking End Buffer (mins). Salesforce does not save an Availability record with a shorter window. The first slot starts after the start buffer, so a window from 18:00 with a 10-minute start buffer offers its first slot at 18:10. Slots that have already started are never offered.

Once-off sessions

For a single event, create one Availability record with the same Start Date and End Date, and set Start Time and End Time to the event’s hours plus any buffers. Select the event’s weekday in On these days, which is required even for a single date. Set the product’s Booking Duration (mins) to the full length of the event, for example 120 for a two-hour event, so the window holds exactly one slot.

You can also offer a once-off slot without an Availability record. Open the Product Bookable Location record, select New in the Bookable Events related list, and fill in Start Date, End Date, Start Time, and End Time. Leave Created From Availability unchecked. The slot is offered for sale on that date alongside any slots from Availability records.

Recurring sessions

For a session that runs regularly, one Availability record covers every slot in the window. For example, dance lessons run 90 minutes, with teachers available from 10am to 5pm every weekday:

  1. Set Booking Duration (mins) on the product to 90.
  2. Create one Availability record with Start Time 10:00, End Time 17:00, and Monday to Friday in On these days. Leave End Date blank to keep offering lessons with no end date.

StoreConnect offers slots at 10:00, 11:30, 13:00, and so on. To leave a break between lessons, set Booking Start Buffer (mins) or Booking End Buffer (mins) on the product.

Availability stacking

Availability records stack on top of each other. To extend lesson hours until 9pm for the last two weeks of June only, create a second Availability record on the same Product Bookable Location with those dates and the extra hours. Stack as many records as your schedule needs.

Unavailability

An Availability record with Unavailable checked blocks out time. It only takes effect where it overlaps one or more normal Availability records. For example, to stop bookings over lunch, keep an Availability record for 9am to 5pm, then add an Availability record from 1pm to 2pm, Monday to Friday, with Unavailable checked. Stack as many unavailabilities as you need.

Booking hold

When a customer adds a session to their cart, StoreConnect holds their places for that slot. A held place counts against Maximum Bookings, which prevents overselling. If the hold expires before checkout, the places are released and the session is removed from the cart.

The hold lasts 15 minutes by default. To change it, open the Store record and set Booking Hold Duration (mins) in the Booking System section.

Bookable events, bookings, and attendees

StoreConnect creates these records when a customer completes a purchase.

Bookable events

A Bookable Event is one booked time slot for a Product Bookable Location. The first purchase of a slot creates it, with Created From Availability checked. Later purchases of the same slot add their bookings to the same Bookable Event.

Find Bookable Events in the Bookable Events related list on the Product Bookable Location record, or in the Bookable Events list.

Bookable Event field Usage
Bookable Event Name The name of the slot.
Display Name The name shown to the customer. If blank, the Bookable Event Name is used.
Product Bookable Location The product and location the slot belongs to.
Start Date, End Date The dates of the slot.
Start Time, End Time The times of the slot.
Created From Availability Checked when StoreConnect created the event at checkout. Unchecked for a slot you created yourself.

Bookings

A Booking is one ticket. A purchase of 3 tickets for a slot creates 3 Booking records, each with Status set to booked.

Find bookings in the Bookings related list on the Bookable Event record, or on the Order Product they were bought with. To cancel a session, open its Bookable Event to see every booking for that date and time. A booking with Status set to cancelled no longer counts against Maximum Bookings, so its place becomes available again.

Booking field Usage
Account The account of the customer who bought the session.
Contact The contact of the customer who bought the session.
Bookable Event The slot this booking is for.
Order Product The order product the session was bought with.
Status booked, confirmed, cancelled, or attended.

Bookings are created only when payment completes. If a session has Hide Price set on its price book entry and the customer submits a quote request instead of paying, StoreConnect creates the Order and Order Products, but creates no Booking or Bookable Event records, and the slot is not reserved. The cart hold expires as normal and the places return to availability. Price sessions normally rather than offering them through a quote request.

Sessions also cannot be reordered. The Reorder option in the customer’s account area skips any session on the original order and shows a notice naming the items it could not add, because a booking is tied to a specific date, time, and location that cannot be copied from a past order. Customers book the session again by adding it to their cart from the product page.

Booking attendees

When Require Attendee Details for Bookings is checked on the product, the customer enters the details of each attendee after checkout. Each attendee becomes a Booking Attendee record, up to the product’s Max Attendees Per Booking for each booking.

Find attendees in the Booking Attendees related list on the Booking record, or in the Booking Attendees list.

When the customer selects themselves as an attendee, the Booking Attendee looks up their own contact record. StoreConnect does not create contact records for other attendees. You can link them to new or existing contacts manually or with Salesforce automation.

Booking Attendee field Usage
Booking The booking the attendee belongs to.
Attendee The contact, when the attendee is the customer who booked.
First Name As entered by the customer.
Last Name As entered by the customer.
Phone As entered by the customer.
Email As entered by the customer.
Attended Check this when the attendee turns up. StoreConnect does not set it.
Attendance Verified by The user who confirmed the attendance. StoreConnect does not set it.

Was this article helpful?

Was this article helpful?