> For the complete documentation index, see [llms.txt](https://kb.logicerp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.logicerp.com/logic-erp-learning-hub-tutorials-and-best-practices/billing/setup-appointments/appointments/stylist-attendance.md).

# Stylist Attendance

**Available on:** Desktop · Web · Phone

This screen shows **which stylists are in, their shifts and punches, and which booked appointments clash with their attendance** — so you can move or cancel those appointments before the client arrives.

It appears in the menu only when **Use Employee Wise Attendance** is ticked in Configuration, and it lists only stylists linked to an employee with **Agent-Employee Linking**. If no stylist is linked, the stylist list is empty (on the web it reads *No linked stylists.*).

In Setup Appointments, open the menu and double-click **Appointments › Stylist Attendance**. The menu item, the tab and the name column of the attendance list use your **Agent Caption** — for example *Therapist Attendance* and *Therapist Name*; with no caption set they say *Employee*. The other headings always say *Agent*, for example *Agent Work Time* and *Agent Time In*.

## Choosing what to see

* **From** and **To** — the days to look at. Both start at today. On the desktop, click **Refresh** after changing them.
* **Group By** — **Date** sorts the rows by day, then by stylist; **Agents** sorts them by stylist, then by day.
* The list of stylists — all are ticked at first. Untick the ones you don't need; the lists update at once. Type in **Find** to jump to the first stylist whose name starts with that text.
* **Refresh** — reloads.

## The three lists

### **Attendance**

One row per stylist per day: **Attendance Date**; **Attendance** — the day's status, such as *Full Day*, *Half Day*, *Paid Leave*, *Casual Leave*, *Leave Without Pay*, *Branch Holiday* or *Employee Holiday* (blank if no attendance is marked); the stylist's name; **Employee Name**; **Shift**; **Date of Join**; **Date of Leaving**; **Agent Work Time** (the stylist's shift times) and **Branch Work Time**.

Click a row to see that stylist's day in the two lists below. The first row is selected when the list loads.

### **Agent Attendance Detail**

The punches for the selected row — that stylist on that day: **Agent Name**, **Attendance Date**, **Agent Time In** and **Agent Time Out**.

### **Conflicted Appointments Detail**

For the selected row, this branch's **open appointments** (Unconfirmed, Confirmed or Lobby) and **checked-in job slips** for that stylist on that day that fall **outside the stylist's working time** — leave, a half day, outside the shift, or before joining or after leaving. On a branch or employee holiday, every booking that day is listed. Grouped appointments are not shown.

Columns: **Appointment Type**, **Status**, **Appointment ID**, **Customer Name**, **Membership ID**, **Start Time**, **End Time**, **Mobile No.**, **Service Name**, **Agent Name** and **Service Cost**.

## Dealing with a clash

Select a conflicted service, then:

| Button             | What it does                                                                                                                                                                                                                                                      |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Open**           | Opens the appointment (or job slip) so you can change it                                                                                                                                                                                                          |
| **Move**           | Opens the **Time Slot Finder** for that service, starting at its own time. Leave **Filter Agent** unticked to see every stylist, click **Search** and pick a slot. The service is cancelled and booked again at the new time and stylist, in the same appointment |
| **Cancel Service** | Asks *"Are you sure you want to cancel selected appointment service?"*. Click **OK** to cancel it. You are not asked for a reason — one is recorded for you — and any package service used is given back                                                          |

Job slips and checked-in services cannot be moved or cancelled here: *"You must delete checked-in appointment before moving!"*.

> **Example — a stylist on leave.** Meera has taken leave on Saturday. Open **Stylist Attendance**, set **From** and **To** to Saturday and click **Refresh**. Click Meera's Saturday row: her attendance shows *Paid Leave*, and **Conflicted Appointments Detail** lists her three Saturday bookings. Select Priya's 11:00 AM facial and click **Move**. In the Time Slot Finder, leave **Filter Agent** unticked, click **Search**, and pick Anita at 11:00 AM. Do the same for the other two — or call the client and click **Cancel Service**.

## On the web

The screen works the same way on the web, and the lists reload as soon as you change a date. **Find** narrows the stylist list to names containing what you type (*None match.* if nothing does). On a phone the stylist list starts folded — tap its heading to open it.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://kb.logicerp.com/logic-erp-learning-hub-tutorials-and-best-practices/billing/setup-appointments/appointments/stylist-attendance.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
