Wix Bookings supports 3 types of services: appointment-based, classes, and courses. Depending on business needs, you can set up services for all or only the relevant types.
Appointments allow customers to book services at their preferred time during the business hours. For example, a hair salon might offer different appointment-based hair cutting and styling services. Appointments appear in the booking calendar once they're booked by a customer. Not-yet-booked times during the business hours are displayed as available slots to potential customers while booking.
You can use the Service Options And Variants API
(SDK | REST)
to set different session durations for the same appointment-based service. For
example, 30, 45, or 60-minute shiatsu massages. You can find a service's
complete list of supported session durations in the Services V2 API
(SDK | REST)
as service.schedule.availabilityConstraints.sessionDurations
.
You can allow customers to select their preferred staff member when booking an appointment-based service. Use the Staff Members API (SDK | REST) to manage staff and their working schedules.
Check service and staff member availability with the
Availability Calendar API
(SDK | REST).
Specify a filter based on the slots's startDate
, endDate
, serviceId
, and
staff member's resourceId
.
You can allow customers to choose their appointment location, for example
their home or office. When calling Create Service
(SDK | REST), include a location with {"type": "customer"}
.
You can configure a service so that it ensures buffer times between appointments.
For example, you can specify a 10-minute buffer between appointments for a hair
coloring service. Call Create Service
(SDK | REST),
and specify schedule.availabilityConstraints.timeBetweenSessions
.
Manage booking, rescheduling, cancellation, and other rules using the Booking Policies API (SDK | REST).
In the Services V2 API (SDK | REST) you can check whether customers are allowed to:
service.bookingPolicy.reschedulePolicy
).service.bookingPolicy.cancellationPolicy
).A class is a single event or a series of recurring events that multiple customers can book. For example, a yoga studio might offer a twice-weekly vinyasa flow class. Classes may have a set end date or continue indefinitely. If a class includes more than a single event, customers can sign up for 1, several, or all of the events. Upon creation, classes are listed immediately in the booking calendar.
Manage booking, rescheduling, cancellation, and other rules using the Booking Policies API (SDK | REST).
In the Services V2 API
(SDK | REST)
you can check whether customers are allowed to sign up for a waiting list when a
class is fully booked (check service.bookingPolicy.waitlistPolicy
).
A course starts and ends on pre-defined dates with a limited number of events that multiple customers can book. For example, a yoga studio might offer a teacher training course with 5 events. In contrast to classes, customers must book the entire course. Upon creation, courses are displayed immediately in the booking calendar.
In the Services V2 API
(SDK | REST)
you can check a course's start and end in service.schedule.firstSessionStart
and service.schedule.lastSessionEnd
.
Manage booking, rescheduling, cancellation, and other rules using the Booking Policies API (SDK | REST).
In the Services V2 API
(SDK | REST)
you can check whether customers can continue to sign up for a course after its
first session has begun (check service.bookingPolicy.bookAfterStart
).
You can update a service's type
if there are no upcoming events with
participants, but it's recommended to create a new service instead.
Changing a service type by calling Update Service (SDK | REST) deletes the service’s existing schedule and creates a new one.