> ## Documentation Index
> Fetch the complete documentation index at: https://docs.calgest.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom fields

> How to add custom data fields to appointments and customers.

Custom fields let you capture information specific to your business that CalGest doesn't include by default. For example, a physiotherapy clinic might add an "Injury type" field to appointments, or a salon might add a "Hair type" field to customers.

## Field types

CalGest supports four types of custom fields:

| Type         | Description                   | Example                             |
| ------------ | ----------------------------- | ----------------------------------- |
| **Text**     | Free-form text input          | "Allergy notes", "Referral source"  |
| **Number**   | Numeric value                 | "Session number", "Weight (kg)"     |
| **Yes/No**   | A toggle (true/false)         | "Consent given", "Returning client" |
| **Dropdown** | Select from a predefined list | "Hair type", "Service level"        |

## Creating a custom field

<Steps>
  <Step title="Navigate to Custom Fields">
    Go to **Custom Fields** in the sidebar under **Configure**.
  </Step>

  <Step title="Choose the entity type">
    Select whether this field applies to **Appointments** or **Customers** using the tabs at the top.
  </Step>

  <Step title="Click Add">
    Click the **+ New** button.
  </Step>

  <Step title="Configure the field">
    * **Name** — what you want to call it (e.g., "Injury type")
    * **Slug** — auto-generated from the name, used internally
    * **Description** — optional; helps your team understand what to enter
    * **Type** — select from Text, Number, Yes/No, or Dropdown
    * **Required** — toggle on if this field must be filled in
    * **List options** — for Dropdown fields, add the available choices
  </Step>
</Steps>

## Binding fields to appointment types

For appointment custom fields, you can optionally restrict a field to specific appointment types. For example:

* An "Insurance number" field only appears for "Consultation" appointments
* A "Vehicle plate" field only appears for "Car Service" appointments

If no appointment type is selected, the field appears for all appointments.

## Where custom fields appear

Once created, custom fields show up in:

* **Appointment creation/edit form** — when creating or editing an appointment
* **Customer creation/edit form** — when creating or editing a customer
* **Customer detail page** — as read-only values on the customer profile

## Managing custom fields

You can edit, activate, or deactivate custom fields at any time:

* **Editing** — change the name, description, or required flag. You cannot change the field type if values already exist.
* **Deactivating** — hides the field from forms but preserves existing data
* **Reactivating** — makes the field visible again with all existing data intact

<Warning>
  You cannot change a field's type (e.g., from Text to Number) if any values have already been recorded. Create a new field instead.
</Warning>
