> For the complete documentation index, see [llms.txt](https://docs.diro.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.diro.app/en/operations/services-packages-and-add-ons.md).

# Services, Packages & Add-ons

## Creating a service

**Master Data → Services → Add.** The service form is split into seven tabs.

```mermaid
flowchart LR
  A["Information"] --> B["Schedule"] --> C["Resources"] --> D["Duration<br/>Options"] --> E["Additional<br/>Input"] --> F["Attributes"] --> G["Location"]
```

Three fields are **required** before a service can be saved: **Name**, **Category**, and **Duration**. The rest can be completed later.

### Information tab

| Field                                 | Function                                                                                                                                       |
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Category**                          | Required. Grouping in the storefront catalog.                                                                                                  |
| **Name**                              | Required, at least 2 characters. Can include a resource-name token, so the service title automatically includes the provider's or room's name. |
| **Price**                             | The service's base price.                                                                                                                      |
| **Struck-through price**              | Display only — shown crossed out next to the price. Does not change the amount charged to the customer.                                        |
| **Duration (minutes)**                | Required. Determines how long one booking is and how the schedule range is split into slots.                                                   |
| **Bookings per slot**                 | The capacity of one slot. `1` for a private session, higher for a class.                                                                       |
| **Slots per booking**                 | How many consecutive slots a single customer can take at once.                                                                                 |
| **Minimum participants**              | The minimum number of participants for the session to proceed. If left blank, it uses the business setting.                                    |
| **Buffer time (minutes)**             | Cleanup or preparation time after a booking, before the next booking can start.                                                                |
| **Auto-close (minutes before start)** | How long before the scheduled time a slot stops accepting bookings.                                                                            |
| **Description**                       | A full text editor for describing the service.                                                                                                 |
| **Images**                            | Up to 10 photos, one of which is marked as the thumbnail.                                                                                      |
| **Color**                             | The service's marker color in the calendar and storefront. Leave it "Auto" if not needed.                                                      |
| **Waitlist**                          | Enable so customers can join a waitlist when a slot is full, along with the waitlist capacity.                                                 |
| **Status**                            | Active or inactive. Inactive services do not appear on the storefront.                                                                         |

{% hint style="info" %}
The **struck-through price** is often misunderstood. Fill in this field with the normal price while you are running a discount, so customers see the old price crossed out. What gets charged is still the **Price** field.
{% endhint %}

### Schedule tab

The weekly schedule and the specific date schedule. This is the most important part and is covered separately in Setting the Service Schedule.

### Resources tab

Determines the providers and rooms this service requires. See Resources: Providers & Rooms.

### Duration Options tab

A single service can offer several durations at different prices — for example, a 60-minute massage and a 90-minute one. Each option has its own duration, price, buffer time, capacity, and booking cutoff.

This tab can only be filled in after the service has been saved.

### Additional Input tab

Extra input fields specific to this service, which can be marked required. Different from the Custom Booking Form, which applies to the whole business.

### Attributes tab

Colored labels like Level and Intensity. See Service Attributes.

### Location tab

The branches where this service is available.

## Category

**Master Data → Category.** Customers filter the catalog by category, so use terms they understand ("Facial Treatments", "Massage"), not internal terminology.

## Add-ons

**Master Data → Additional Items.** Additional paid items offered at checkout — hair mask, aromatherapy, premium towel.

Add-ons increase the average value per booking without adding a new slot. Add-ons do not have their own schedule; they attach to a service booking.

## Packages & Memberships

A package is a bundle the customer buys in advance, then redeems as bookings. A membership is a subscription that grants certain privileges, such as automatic booking confirmation.

Both are managed through **Master Data → Vouchers** and **Customer Memberships** — not as services. When a customer buys a package, what they receive is credit that can be used when booking, not an immediate booking.

{% hint style="info" %}
Because of this, a package purchase transaction has no associated booking. This is normal, not missing data. See Payment Reconciliation.
{% endhint %}

Details in Vouchers & Memberships.

## Data import

If you are migrating from another system, services and customers can be uploaded all at once through the import feature, without typing them in one by one. Template files are available in the **Help** menu.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.diro.app/en/operations/services-packages-and-add-ons.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
