> 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/help/frequently-asked-questions-and-issues.md).

# Frequently Asked Questions & Issues

## Slot doesn't appear on the storefront

This is issue number one. Check step by step, don't change many things at once.

```mermaid
flowchart TD
  A["Slot doesn't appear"] --> B{"Is the service active<br/>& linked to the branch?"}
  B -->|"No"| B1["Activate the service,<br/>add it to the branch"]
  B -->|"Yes"| C{"Is that day active in<br/>the weekly schedule?"}
  C -->|"No"| C1["Activate the day &<br/>add time slots"]
  C -->|"Yes"| D{"Is there a specific date<br/>schedule for that date?"}
  D -->|"Yes"| D1["That schedule overrides<br/>the weekly schedule.<br/>Check its contents"]
  D -->|"No"| E{"Is the assigned resource<br/>available at that time?"}
  E -->|"No"| E1["Fix the resource<br/>schedule"]
  E -->|"Yes"| F{"Has the booking<br/>deadline passed?"}
  F -->|"Yes"| F1["Lower the minimum<br/>booking deadline"]
  F -->|"No"| G{"Is the slot capacity<br/>already full?"}
  G -->|"Yes"| G1["Increase capacity or<br/>add resources"]
```

**Important:** the branch's operating hours **do not** affect slots. Changing them will not make slots appear or disappear. Only the service schedule and resource availability determine that.

## I changed the weekly schedule, but a specific date didn't follow

That's right, that's the intended behavior. Dates that have a specific date schedule — including the result of **Materialize** — stand on their own and no longer follow the weekly schedule.

The fix: change those dates in the Specific Date Schedule tab, or delete and re-materialize. See Setting Up Service Schedules.

## How do I close just one date?

Create an entry in the **Specific Date Schedule** tab for that date, then disable its status. Because it overrides the weekly schedule, that date becomes closed.

## How do I create a monthly schedule?

There's no automatic monthly recurrence rule. Enter the dates as a single specific date schedule entry in the form of a **date list**. See example 4 in Setting Up Service Schedules.

## My provider doesn't show up as an option

Three causes, in order of frequency:

1. The provider hasn't been assigned to that time slot in the service schedule.
2. The provider's availability schedule doesn't cover that time.
3. The provider already has another booking at the same time.

## I've added a staff member, but they don't appear on the storefront

Staff and provider are different. **Staff** is an account for logging into the portal. **Provider** is the person who performs the booking and appears on the storefront. If that person serves customers, also register them as a provider-kind resource in **Master Data → Resources → Resource Items**.

## My class fills up fast even though its capacity is 20

This is almost always the wrong **capacity mode**. If the resource group is set to `per item`, capacity is taken from the number of instructors — not from the 20 on the schedule. Four instructors means the class is limited to four people.

For a class led by one instructor, the mode must be **shared**. See Resources: Providers & Rooms.

## Bookings can exceed my number of therapists

The reverse of the case above: the mode is `shared` when it should be `per item`. In `shared`, capacity is taken from the number on the schedule slot, and the number of therapists doesn't limit it.

For one-on-one services, use **per item**, and make sure every therapist or room is registered as a separate item.

## All the instructors show up on every class

In `shared` mode, every schedule slot must mark who is on duty. Instructors not teaching that slot must be marked **inactive** for that slot. If everyone is left active, the entire list shows up on every class.

## My add-on doesn't appear at checkout

Check whether that item is registered as an **Additional Item** (Master Data → Additional Items), not as a resource. The add-on selector on the checkout page reads the Additional Items list. An add-on-kind resource registered in the wrong place won't show up there.

## There are two provider filters with the same people's names

You have two bookable resource groups containing the same people. The storefront shows one filter chip per group, so both show up.

Merge them into one group, then **deactivate** the old group — don't delete it, so past bookings stay intact.

## I can't create a booking at the time I want from the portal

The portal uses exactly the same availability rules as the storefront, and there is no button to force it. If the slot is full or unavailable, the save button is disabled.

The fix is in the schedule, not in the booking form: increase slot capacity, add resources, or open up that time in the service schedule. See Setting Up Service Schedules.

## A walk-in customer paid cash, how do I record it?

Create the booking from the portal with the **Pay at Counter** method. After the money is received, open the booking detail → **Charge Payment** → choose **Pay at Counter**. The booking is recorded as paid in full without going through the payment gateway. See Creating a Booking from the Portal.

## The customer's number already exists but I already created new data

When creating a new customer from the portal, the system checks the phone number first and offers the existing customer if found. If that offer was missed, merge the data through the Customers menu — or contact the DIRO team if there are already bookings on both records.

## Customer's custom form answers aren't visible in the booking detail

That's correct. Answers are stored in the customer's profile and used to auto-fill the next form, but they are not yet shown in the booking detail or in exports. For information your team needs to read while serving the customer, use booking notes. See Custom Booking Form.

## The customer says they've paid, but their booking has expired

This happens when bank confirmation arrives after the payment deadline has passed. The system recovers bookings like this automatically through the reconciliation process. Wait a moment, then check again. If it still hasn't recovered after that, note the booking code and contact the DIRO team.

## There's a transaction in the history but no booking for it

Normal for **package or membership** purchases. The customer buys credit first; the booking is only created when the credit is redeemed. The money isn't lost. See Payment Reconciliation.

## Voucher quota went down even though the booking was cancelled

The quota is restored automatically when a booking is cancelled or its payment expires. If the number hasn't changed yet, reload the page — the restoration follows the booking status change.

## My balance can't be withdrawn yet

Check whether the funds are still in **held balance**. Funds move to active balance **H+3** after payment is received. Only active balance can be withdrawn. See Wallet & Withdrawals.

## My automatic withdrawal hasn't run today

Automatic withdrawal runs every day at **23.00 WIB** on the balance that is already active at that time. Balance that becomes active after that time follows the next day's schedule.

## My staff member can't see a certain menu

The menu follows their role's access rights. Open **Master Data → Staff & Roles**, check the module in question, and make sure its access level isn't "no access". Changes take effect after that staff member reloads their portal.

## I don't want staff to be able to withdraw funds

Set the **Balance** module to "no access" on their role. Only roles with access to this module can request withdrawals.

## My storefront isn't showing a certain page

Check **Sites → Website**. Hiding a menu there only hides its link. If the page is empty, fill in the content first — for example, an unfilled package catalog will appear empty.

## Still having issues?

Prepare these three things before contacting the DIRO team, so it can be handled faster:

1. **Booking code** or invoice number involved.
2. **When** it happened, as close to the exact time as possible.
3. **Screenshot** of what you saw.


---

# 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/help/frequently-asked-questions-and-issues.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.
