# Catalog and Products

Sesami uses Shopify products to represent bookable services. Understanding how products and inventory work with Sesami helps avoid common issues.

## Setting Up a Booking Product

To create a product that works with Sesami:

1. Go to **Shopify > Products > Add Product**
2. Add a name, description, and image as usual
3. Under **Variants**, add an option called **Duration**
   * The option name must be exactly `Duration` (case-sensitive, no trailing spaces)
   * Add values in a valid format: `30`, `45 m`, `90 minutes`, `3h`, or `1 hour`
4. Under **Inventory**, uncheck **Track quantity**
5. Under **Shipping**, uncheck **This is a physical product**
6. **Save**

{% hint style="warning" %}
**Track quantity must be off.** If inventory tracking is enabled, customers will eventually see "Sold out" instead of the booking calendar.
{% endhint %}

{% hint style="info" %}
**Shipping must be off** for service-only products. Otherwise customers will be asked for shipping information at checkout.
{% endhint %}

## Duration Variant Format

Sesami reads the "Duration" variant to determine time slot length. Accepted formats:

| Format                | Example                       |
| --------------------- | ----------------------------- |
| Minutes (number only) | `30`                          |
| Minutes with unit     | `45 m`, `90 minutes`          |
| Hours                 | `3h`, `1 hour`                |
| Combined with text    | `45 minutes: express service` |

Time frames must fit within a single day (00:00 to 24:00).

## Inventory and "Sold Out"

If your booking product shows "Sold out" instead of the calendar:

1. Go to **Shopify > Products > \[your product]**
2. For each variant, uncheck **Track quantity**
3. **Save**

Sesami manages availability through its own scheduling system — it doesn't use Shopify inventory counts.

## Products with Physical Items

If you sell products that include both a booking and a physical item (e.g., a gift box with a consultation), keep in mind:

* The Duration variant tells Sesami this is a bookable product
* You can still set a price and use Shopify checkout
* For physical fulfillment, manage shipping settings as needed on the product

## Related

* [Orders](/apps-integrations/shopify/orders.md) — how Sesami bookings appear as Shopify orders
* [No Availability](/get-started/onboarding/troubleshooting/no-availability.md) — troubleshooting missing time slots


---

# 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/apps-integrations/shopify/catalog-and-products.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.
