# Services

Services are the bookable offerings that customers can schedule appointments for. In Sesami, services are linked to Shopify products and configured with durations, resources, locations, and other settings.

## What are Services?

A **Service** in Sesami represents a bookable offering such as:

* A 60-minute massage
* A 30-minute haircut
* A 2-hour photography session
* A 90-minute group class

Each service is connected to a **Shopify product** and configured with:

* **Duration** (product variants like "30 Minutes", "1 Hour", "90 Minutes")
* **Resources** (team members, rooms, equipment needed)
* **Locations** (where the service is offered)
* **Availability** (when the service can be booked)
* **Special features** (group appointments, instant booking, etc.)

## Creating a Service

{% stepper %}
{% step %}

#### Create the Shopify product

1. In Shopify Admin, go to **Products > Add product**
2. Enter a clear **product title** (e.g., "Haircut", "Massage", "Consultation")
   * Do NOT include duration in the title
3. Add **variants for different durations**:
   * Click **Add variant**
   * Create variants like "30 Minutes", "1 Hour", "90 Minutes"
   * Set the price for each duration
4. Add description, images, and other product details
5. **Save** the product

{% hint style="success" %}
**Best practice**: Use variants for different durations of the same service rather than creating separate products.
{% endhint %}

See: [Quickstart - Create Service Products](/get-started/quickstart.md)
{% endstep %}

{% step %}

#### Add the service in Sesami

1. Open **Sesami** in your Shopify Admin
2. Navigate to **Services**
3. The Shopify product should appear in the list
4. Click **Manage** to configure the service
   {% endstep %}

{% step %}

#### Configure basic settings

Set up the core service configuration:

* **Service name** - Automatically pulled from Shopify product title
* **Duration variants** - Automatically detected from product variants
* **Status** - Enable or disable the service for booking
  {% endstep %}

{% step %}

#### Assign locations (if using multi-location)

If you have multiple locations:

1. Under **Locations & Resources**, click **Add Location**
2. Select the location(s) where this service is offered
3. Assign resources for each location
4. Save your changes

See: [Locations](/admin/locations.md)
{% endstep %}

{% step %}

#### Assign resources

Resources are what your service needs to be bookable:

1. Under **Resources**, select required resource types:
   * **Team member** - Staff who deliver the service
   * **Room** - Physical space needed
   * **Equipment** - Tools or machines required
2. Optionally, assign **specific resources** (or leave it open to any available resource of that type)
3. Save your changes

{% hint style="warning" %}
**Important**: Every service must have at least one resource type assigned, or no availability will appear!
{% endhint %}

See: [Resources](/admin/resources.md)
{% endstep %}
{% endstepper %}

## Key Service Features

Once your service is created, you can enable additional features:

### Instant Booking

Skip the Shopify checkout for faster bookings:

* **Just Book** - No Shopify order created (perfect for free consultations)
* **Book + Create Order** - Create Shopify order with manual payment capture

Booking happens in just 3 steps: pick a time, enter details, confirm.

See: [Instant Booking](/booking/booking-features/instant-booking.md)

### Group Appointments

Allow multiple customers to book the same time slot:

* Perfect for classes, workshops, tours, seminars
* Set maximum number of participants per slot
* Available on Pro and Premium plans

See: [Group Appointments](/booking/booking-features/group-appointments.md)

### Cancellations & Rescheduling

Let customers manage their own bookings:

* Allow customers to cancel appointments
* Allow customers to reschedule appointments
* Set how many hours before appointment changes are allowed
* Option to automatically refund on cancellations
* Available on Pro and Premium plans

See: [Cancellations, Rescheduling and Refunds](/booking/booking-features/cancellations-rescheduling.md)

### Same Day Bookings

Control whether customers can book on the same day:

* **Disable same day bookings** entirely
* **Round-up starting interval** - Set minimum advance notice (15 or 30 minutes)

See: [Same Day Bookings and Round Up Starting Interval](/booking/availability/same-day-bookings.md)

### Buffer Times

Add time between appointments for preparation:

* **Before each appointment** - Prep time
* **After each appointment** - Cleanup time
* **Before first appointment of the day** - Opening setup

Buffer times appear only in the admin calendar, not for customers.

See: [Buffer Times Between Bookings](/booking/availability/buffer-times.md)

### Flexible Slots

Control when customers can book:

* Set slot intervals (15, 30, 45, or 60 minutes)
* Service-specific configuration
* Match booking times to your actual operations

See: [Flexible Slots](/booking/availability/flexible-slots.md)

### Storefront Calendar Start Date

Set a specific start date for the booking calendar:

* Calendar opens to your chosen date instead of today
* Perfect for seasonal services, future events, or pre-sales

See: [Storefront Calendar Start Date](/booking/availability/calendar-start-date.md)

### Online Meeting Links

Add virtual meeting links for online appointments:

* Add Zoom, Google Meet, Skype, or Teams links
* Include in confirmation emails automatically
* Can be set per team member or per service

See: [Adding Online Meeting and Conferencing Links](/booking/booking-features/online-meeting-links.md)

## Managing Services

### View all services

In **Sesami > Services**, you can:

* See all services linked to Shopify products
* View service status (enabled/disabled)
* Access configuration for each service
* See which locations each service is offered at

### Edit a service

1. Go to **Sesami > Services**
2. Find the service and click **Manage**
3. Make your changes
4. **Save**

Changes take effect immediately.

### Remove a service

To remove a service from Sesami:

1. Go to **Sesami > Services**
2. Find the service and click **Manage**
3. Scroll to **Remove Service**
4. Type **Remove** to confirm
5. Click **Remove** again

{% hint style="warning" %}
**Important**: This removes the service from Sesami's booking system but does NOT delete the product from your Shopify store.
{% endhint %}

## Service Configuration Checklist

Before launching a service, verify:

* [ ] **Shopify product created** with duration variants
* [ ] **Service added** in Sesami
* [ ] **Locations assigned** (if using multi-location)
* [ ] **Resources assigned** (team members, rooms, equipment)
* [ ] **Resource availability set** for assigned resources
* [ ] **Special features configured** (instant booking, group appointments, etc.)
* [ ] **Test booking completed** from customer view
* [ ] **Confirmation email tested** and verified

## Best Practices

* **Use clear names** - "60-Minute Massage" is better than "Massage Package A"
* **Use variants for durations** - Don't create separate products for each duration
* **Assign resources carefully** - Ensure required resources are actually needed
* **Set realistic buffer times** - Don't make buffers so long that availability disappears
* **Test customer experience** - Book a test appointment to see what customers see
* **Configure locations first** - If using multi-location, set up locations before services

## Troubleshooting

<details>

<summary>Service not appearing in Sesami</summary>

Check:

* Product is **created in Shopify** with proper variants
* Product variants use correct format: "30 Minutes", "1 Hour", "90 Minutes"
* You've **refreshed** the Sesami services page

</details>

<details>

<summary>No time slots appearing for service</summary>

The most common issue! Check:

1. **Resources are assigned** to the service
2. **Availability is set** for assigned resources
3. **Timezone is correct** in Sesami Settings
4. **Booking window** allows future bookings
5. **No block-offs** covering all available dates

See: [Quickstart Troubleshooting](/get-started/quickstart.md#troubleshooting)

</details>

<details>

<summary>Customer can't complete booking</summary>

Check:

* Service is **enabled**
* Resources have **availability** for the selected time
* Selected location (if multi-location) has **resources assigned**
* No **conflicting bookings** at that time

</details>

## Related

* [Quickstart Guide](/get-started/quickstart.md) - Complete setup walkthrough
* [Resources](/admin/resources.md) - Assign team members, rooms, equipment
* [Locations](/admin/locations.md) - Multi-location setup
* [Instant Booking](/booking/booking-features/instant-booking.md) - Skip checkout
* [Group Appointments](/booking/booking-features/group-appointments.md) - Multi-participant bookings
* [Set Up Resource Availability](/booking/availability/resource-availability.md) - Configure working hours


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.sesami.co/admin/services.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
