About Service Types: Appointments, Classes and Courses

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

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.

Varied service durations

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.

Staff members

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.

Customer locations

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"}.

Buffers between sessions

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.

Appointment policies

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:

  • reschedule their appointments (check service.bookingPolicy.reschedulePolicy).
  • cancel their appointments and/or limit the time frame for cancellations (check service.bookingPolicy.cancellationPolicy).

Classes

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.

Class policies

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).

Courses

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.

Course policies

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).

Update a service type

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.

Did this help?