> 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/check-in-and-parameter-values.md).

# Check-In and Parameter Values

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

**Checking in** means the client's service is starting. From that moment the visit is recorded on a **job slip**, which is later completed and billed. Along the way you can record **parameter values** — details about the client before and after the service, such as hair length, skin type, weight, or a photo.

## Checking in a booked client

In the Appointment Viewer, right-click the appointment and choose **Set Status As › CheckedIn**. When it is offered depends on **Filter Status** in Configuration — see [Appointment Status and Cancellation](/logic-erp-learning-hub-tutorials-and-best-practices/billing/setup-appointments/appointments/appointment-status-and-cancellation.md). An appointment in the **Lobby** can always be checked in, as long as its end time has not passed.

* A **job slip** is created for all of the client's services in that appointment that have the same status, and they turn yellow (*CheckedIn*) in the diary.
* If **Show Parameter Values Before Checkin** is ticked in Configuration, the **Parameter Values** window opens for each service on the job slip that has parameters, one after another.
* Then, if **Print Job Slip On Checkin** is ticked, you are asked *"Print Job Slip?"*.

A client who walks in — with or without a booking — is checked in through **Walk In** instead. See [Walk In](/logic-erp-learning-hub-tutorials-and-best-practices/billing/setup-appointments/appointments/walk-in.md).

## Parameter values

Parameters are the details you want to record for a service or a package. They are set up in **Package Parameters** (the **Define Package Parameters** window), where you also decide which are **required**. They can be numbers, text, yes/no, or an image. A package service shows the **package's** parameters if the package has any; otherwise it shows the **service's** own. Hidden parameters are not shown.

### **The Parameter Values window**

The top of the window shows the **Appointment ID**, **Customer**, **Service** and **Stylist**. For a package service it also shows the **Package**, the **Services** count (maximum, used and pending), the **Package Start** and the client's **First Visit** on this package service.

The grid has one row per parameter:

| Column                                                                  | What it is                                                                                          |
| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| **PARAMETER**                                                           | The detail being recorded; a required one is marked **\***                                          |
| **LAST BEFORE**, **LAST AFTER**, **LAST REMARKS 1**, **LAST REMARKS 2** | What was recorded at the client's last visit for this service — for comparison, not editable        |
| **BEFORE**, **AFTER**                                                   | This visit's values, before and after the service                                                   |
| **REMARKS 1**, **REMARKS 2**                                            | Notes                                                                                               |
| **IMAGE**                                                               | For an image parameter: which images are attached — *Before*, *After*, *Before + After* or *(none)* |

How you enter a value depends on its type:

* **Number** — type it. A value outside the set range gives *"Value of … cannot be less than …"* or *"Value of … cannot be greater than …"*.
* **Text** — typed in capitals, up to its maximum length (*"Length of … cannot be greater than …"*).
* **Yes/No** — pick **YES** or **NO** from the list.
* **Image** — select the parameter's row, then use **Before Image** or **After Image**. The BEFORE/AFTER cell then shows *Image*.

Remarks are typed in capitals too. When you leave a row, the value being checked (see below) is validated — a required value left blank gives *"… cannot be blank."*, or *"Invalid selection for …"* for a yes/no.

The **History** list underneath shows every value recorded for this client, newest first — **Appointment ID**, **Date**, **Parameter**, **Before**, **After**, **Remarks 1** and **Remarks 2**.

Click **Save** and answer **Yes** to *"Are you sure you want to save details."*. If a required value is missing, you see *"Details required."* and nothing is saved. **Close** leaves the window; if required values are still missing you are asked *"Required values not supplied,are you sure to exit"*.

### **Before at check-in, after at billing**

* At **check-in**, the **BEFORE** values are the ones that must be filled — the line beside the grid says *"Check-in: the BEFORE values are checked."*.
* With **Show Parameter Values Before Billing** ticked, the window opens again **just before the bill** — when the job slip is completed, or billed from the Job Slip Viewer — and the **AFTER** values are checked: *"Billing: the AFTER values are checked."*.

If you close the window at check-in without all the required values, the job slip is **still saved**, and you see *"Saved, but required parameter values are missing for n service(s)."*. Fill them in later from the **Job Slip Viewer**: tick the job slip and click **Param. Values** (with none ticked, you can search for the job slip).

> **Example — a hair spa.** Your *Hair Spa* service has two parameters: *Hair Fall (strands per wash)*, a number, required; and *Scalp Photo*, an image. Kavya checks in for her third hair spa. The window shows her last visit's 120 under **LAST BEFORE**. You enter **BEFORE** 95, select the *Scalp Photo* row and attach a photo with **Before Image**, then **Save**. After the session, when she is billed (with **Show Parameter Values Before Billing** ticked), the window opens again showing BEFORE 95, and you enter **AFTER** 90. The next time it opens, the **History** lists all three visits, newest first — you and Kavya can see the hair fall coming down.

## On the web

Check-in and the Parameter Values window work the same way on the web. On a phone, long-press the appointment and pick **Set Status As: CheckedIn** from the list; the Parameter Values window opens full screen. On the web the **History** is a list in which each line shows the parameter and its *before → after* values, then the date, appointment and remarks.


---

# 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/check-in-and-parameter-values.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.
