# Add Custom Fields (/how-to/activities/add-custom-fields)



Use this guide when you need to collect information beyond the standard booking details -- for example, a customer's shoe size, dietary restriction, experience level, or emergency contact. Custom fields appear during checkout and the answers are stored with the booking.

Available Field Types [#available-field-types]

Resytech supports the following custom field types:

| Type                     | Description                            | Use Case                              |
| ------------------------ | -------------------------------------- | ------------------------------------- |
| **Text Input**           | A single-line text field               | Names, short answers, license numbers |
| **Textarea**             | A multi-line text area                 | Special requests, detailed notes      |
| **Signature**            | A digital signature pad                | Liability acknowledgments, consent    |
| **Date**                 | A date picker                          | Date of birth, travel dates           |
| **Time**                 | A time picker                          | Preferred arrival time                |
| **Government ID Upload** | A file upload for ID documents         | Identification verification           |
| **Email**                | An email address input with validation | Emergency contact email               |
| **Phone**                | A phone number input                   | Emergency contact phone               |
| **URL**                  | A URL input with validation            | Social media profiles, references     |

Add a Custom Field [#add-a-custom-field]

1. Go to **Activities > \[Activity Name] > Settings > Custom Fields**.
2. Click **Add Custom Field**.
3. In the dialog, configure:
   * **Label** -- The text shown to the customer (e.g., "Shoe Size", "Dietary Restrictions").
   * **Type** -- Select one of the field types listed above.
   * **Required** -- Toggle on if the customer must fill in this field to complete checkout. Toggle off to make it optional.
4. Click **Create**.

The field appears in the custom fields list and will be shown to customers during checkout.

Edit a Custom Field [#edit-a-custom-field]

1. Click the field in the custom fields list.
2. Modify the **Label**, **Type**, or **Required** setting.
3. Click **Save**.

Delete a Custom Field [#delete-a-custom-field]

1. Click the trash icon next to the field you want to remove.
2. Confirm the deletion.

Deleting a custom field removes it from future checkouts. Existing bookings that already collected data for this field retain their answers.

Where Custom Field Answers Appear [#where-custom-field-answers-appear]

* **Booking details** in the dashboard -- staff can see all custom field answers when viewing a booking.
* **Confirmation emails** -- If you enable **Show Custom Field Answers** in the activity's Communication settings, the answers are included in the email sent to the customer.
* **Booking exports and reports** -- Custom field data is included when exporting booking information.

Tips [#tips]

* Keep custom fields to a minimum. Every additional field adds friction to the checkout process and can reduce conversion rates. Only ask for information you truly need.
* Use the **Required** toggle thoughtfully. Mark a field as required only if you cannot process the booking without the information.
* The **Signature** field type is useful for simple acknowledgments, but for full legal waivers and agreements, use the [Agreements feature](/how-to/activities/add-custom-fields#related) instead, which provides a richer experience with full document text and a dedicated signature capture.
* If you need the same custom fields across multiple activities, create them on one activity and then [clone the activity](/how-to/activities/clone-an-activity) to copy everything.

Related [#related]

* [Set Up Activity Manifest](/how-to/activities/set-up-activity-manifest) -- Configure guest limits and demographics.
* [Configure Scheduling](/how-to/activities/configure-scheduling) -- Set when the activity is available.
