> 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/packages/package-parameters.md).

# Package Parameters

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

**Parameters** are the details you record about a client at each visit — hair fall, skin type, weight, blood pressure, a before/after photo. Here you decide **which details** are recorded for a package or a service, and how. The values themselves are entered in the **Parameter Values** window at check-in and billing — see [Check-In and Parameter Values](/logic-erp-learning-hub-tutorials-and-best-practices/billing/setup-appointments/appointments/check-in-and-parameter-values.md).

In Setup Appointments, open the menu and double-click **Packages › Package Parameters**, or click **Parameters** in **Setup Package**. The window is titled **Define Package Parameters**.

You need the right to change the appointment configuration. Without it the window only shows the parameters.

## Choosing what to set up

* **Type** — **Package** or **Service**.
* **Select** — the package or the service. For *Package*, only fixed services packages are listed (only this branch's, if packages are kept branch-wise). For *Service*, every service is listed, so parameters work without packages too.

A package service uses the **package's** parameters if the package has any that are not hidden; otherwise the **service's** own.

## The parameters

Everything you type in the grid is entered in capitals.

| Column                       | What to enter                                                                                                                                                             |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **PARAMETER NAME**           | The internal name, up to 30 characters — unique for this package or service                                                                                               |
| **DISPLAY NAME**             | The name shown in the Parameter Values window, up to 50 characters (required)                                                                                             |
| **DESCRIPTION**              | A longer explanation, up to 255 characters                                                                                                                                |
| **DATA TYPE**                | **Numeric**, **String** (text), **Boolean** (yes/no) or **Image**                                                                                                         |
| **MAX LENGTH**               | For text, the most characters allowed — up to 250. 0 means no limit                                                                                                       |
| **MAX VALUE**, **MIN VALUE** | For numbers, the allowed range. 0 means no limit                                                                                                                          |
| **REQUIRED**                 | **YES** if the value must be filled in                                                                                                                                    |
| **HIDE**                     | **YES** hides the parameter from the Parameter Values window without deleting it                                                                                          |
| **THRESHOLD**                | A note for your own reference, such as a normal range (up to 50 characters). It is only saved here — it is not checked and does not appear in the Parameter Values window |

Click **Save** and answer *"Are you sure to save selected records"* — then *"Parameter Defined Successfully"*. Messages you may see:

* *"Invalid Parameter Name."*, *"Invalid Display Name."*, *"Parameter Name Already Exists."*
* *"Parameter Name can't be longer than 30 characters."*, *"Display Name can't be longer than 50 characters."*, *"Description can't be longer than 255 characters."*, *"Threshold can't be longer than 50 characters."*, *"Maximum length can't be greater then 250"*
* *"Minimum value can't be greater than maximum value."*
* *"Select a package or service first!"*

### **Removing a parameter**

Select its row and press **Delete** (on the web, click **Delete**), then answer *"Are you sure you want to delete row ?"*. It is removed when you click **Save** — **and the values already recorded for it at past visits are deleted too.** To stop asking for a parameter but keep its history, set **HIDE** to **YES** instead.

### **Changing the order**

**Change Order** opens **Setup Order**. Select a parameter and press **Ctrl+U** to move it up or **Ctrl+D** to move it down, then click **OK**. Click **Save** to keep the new order — it is the order the parameters are asked in. Change Order needs at least two parameters: *"There must be at least two parameters to change their order."*.

Changing the **Type**, the package or service, or clicking **Refresh** with unsaved changes asks *"The parameter changes are not saved. Discard them?"*. Closing asks *"Are You Sure You Want To Close Without Saving Data?"*.

> **Example — a slimming package.** Pick **Type** *Package* and the *SLIMMING 12 SESSIONS* package. Add *WEIGHT* (Display Name *WEIGHT (KG)*, **Numeric**, **MIN VALUE** 30, **MAX VALUE** 200, **REQUIRED** *YES*), *WAIST* (*WAIST (CM)*, **Numeric**) and *PHOTO* (*PROGRESS PHOTO*, **Image**), then **Save**. Now every time a client on this package checks in, the Parameter Values window asks for her weight, waist and a photo, and shows what was recorded last time, so you can see the progress. A weight below 30 or above 200 is refused — *"Value of WEIGHT (KG) cannot be less than 30"*.

## On the web

The window works the same way on the web, with a **Delete** button above the grid. It opens full screen on tablets and phones. In **Setup Order**, tap a parameter, then use the **Up** and **Down** buttons.


---

# 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/packages/package-parameters.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.
