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

# Custom Forms

> Collect individual information during booking with custom form fields per booking option.

Custom forms let you ask your customers for individually tailored information directly during booking. You create one or more forms with different field types and flexibly assign them to individual booking options, so you can collect customer data efficiently and precisely.

## How do custom forms work?

You create a form with any number of fields and define at which level the data is collected:

* **Booking**: customers fill in the form for each individual booking.
* **Order**: customers fill in the form once per overall order (e.g. with several bookings in one cart).
* **Customer**: customers fill in the form once for their customer profile (e.g. for rarely changing master data).

Each form is assigned to a booking option. Several forms can be active on one booking option at the same time. Forms you do not currently need can be moved to the inactive area by drag and drop, and you can reactivate them or assign them to another booking option at any time.

Once a form is added to a booking option, you define the **collection time** per form:

* **At booking completion**: customers fill in the form directly at checkout (default behavior).
* **Later (at check-in)** (BETA): customers fill in the form only at check-in on site, not already at booking. This is especially useful when details only become relevant or known shortly before the appointment.

You find more details on setting up and running the delayed form request at check-in in the article [Check-in: Getting Started](/en/check-in-setup).

After booking, customers can view and edit their submitted form data in the booking overview, provided you enable later editing in the respective service. This function is currently only available in the web version.

<Tip>
  Use the "Customer" level for details that rarely change (e.g. company data, certificates). This way customers only need to enter this information once.
</Tip>

## When do I use this?

* **You ask for specific details per booking (e.g. number of participants, special requests, arrival time)**: create a form on the booking level with the fitting field types.
* **You need one-time details per order that apply to all included bookings (e.g. project name, insurance confirmation)**: use the order level so customers only enter the information once.
* **You collect rarely changing master data (e.g. trade license, certificate)**: use the customer level so the detail is stored permanently in the profile.
* **You want documents in advance (e.g. proof, photos, filled-in PDFs)**: use the file upload field type.
* **Not suitable for**: plain contact data (name, email, phone), because anny already collects these automatically in the customer profile.

## Relationship with other features

* [**Legal documents**](/en/legal-documents): legal documents are also configured in the Forms tab. They serve legal protection (e.g. terms confirmation), while custom forms collect content information.
* [**Recurring bookings**](/en/recurring-bookings): for booking series, form data is stored exclusively on the master appointment and is only visible and editable there.

## Settings & options

| Setting (admin)  | Description                                           |
| ---------------- | ----------------------------------------------------- |
| Internal name    | Name for management                                   |
| Description      | Optional hint text for customers                      |
| Apply to         | Booking, order or customer                            |
| Field title      | Name of the input field                               |
| Field type       | See table below                                       |
| Required field   | Field must be filled in                               |
| Show at checkout | Field visible directly at checkout                    |
| Collection time  | At booking completion or Later (at check-in, BETA)    |
| Later editing    | Customers may change data after booking (per service) |

For the file upload field type, you additionally define the maximum file size (default: 5 MB) as well as the minimum and maximum number of allowed files.

## Available field types

| Field type         | Use case                                              |
| ------------------ | ----------------------------------------------------- |
| Text               | Short details, e.g. name of a companion               |
| Number             | Numeric values, e.g. number of participants           |
| Text (long)        | Detailed information, requests or notes               |
| Selection          | Exactly one answer, e.g. skill level                  |
| Multiple selection | Several answers, e.g. topics of interest              |
| Checkbox           | Optional confirmation, e.g. "I bring my own material" |
| Date               | A specific date, e.g. date of birth                   |
| Date and time      | Date with time, e.g. arrival time                     |
| File upload        | Provide documents, proof or media in advance          |

<Tip>
  Supported file types for upload: JPEG, PNG, GIF, WebP, PDF, Word (.doc/.docx), Excel (.xls/.xlsx), OpenDocument (.odt/.ods/.odp), text (.txt), CSV, ZIP, MP3, MP4.
</Tip>

## Practical examples

<AccordionGroup>
  <Accordion title="Workshop provider asks for prior knowledge and dietary preferences">
    A workshop provider wants to ask each booking for the participants' skill level and dietary preferences, in order to sort groups and plan catering.
  </Accordion>

  <Accordion title="Equipment rental collects project data per order">
    A rental provider wants to ask once per order for the project name and a damage insurance confirmation, regardless of how many devices are included in an order.
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="Can I assign a form to several booking options?">
    Yes. You find existing forms centrally in the Custom Forms area. From there you can assign them to different booking options by drag and drop.
  </Accordion>

  <Accordion title="What happens to form data with recurring bookings?">
    For booking series, form data is stored exclusively on the master appointment. In the individual series appointments, the fields are not editable, to ensure the consistency of the series.
  </Accordion>

  <Accordion title="Can customers change their form data after booking?">
    Yes, if you enable later editing in the respective service. Customers then see their details in the booking overview and can edit them there. This function is currently only available in the web version.
  </Accordion>

  <Accordion title="How many fields can a form contain?">
    There is no fixed upper limit. You add any number of fields within a form via **+ Add field**.
  </Accordion>

  <Accordion title="Which file types are allowed for file upload?">
    JPEG, PNG, GIF, WebP, PDF, Word, Excel, OpenDocument, text, CSV, ZIP, MP3 and MP4. The default file size is 5 MB.
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="My form does not appear during booking">
    The form may be in the inactive area. Open the booking option, switch to the **Forms** tab and check whether the form is on the left (active) or right (inactive). Drag and drop it to the left to activate it.
  </Accordion>

  <Accordion title="Customers cannot edit their form data afterwards">
    Check whether later editing is enabled in the respective service. Also make sure the person uses the web version, since the function is not yet available in the mobile app.
  </Accordion>

  <Accordion title="Form fields on series appointments cannot be filled in">
    This is expected behavior. Form data is only collected and stored on the master appointment for series. The individual series appointments do not show the fields separately.
  </Accordion>
</AccordionGroup>

> Important information for agents:
>
> * UI path: **Resources** → select resource → **Booking option** → **Forms** tab → **Custom Forms**
> * "Apply to" controls the storage location: Booking = per individual booking, Order = once per cart, Customer = once in the profile
> * Move forms between active (left) and inactive (right) by drag and drop
> * Series: form data only stored on the master appointment, individual appointments not editable
> * Later editing by customers: admin enables it per service in the service settings, web version only (mobile app not included)
> * Max. upload file size: default 5 MB (configurable), supported formats: JPEG, PNG, GIF, WebP, PDF, DOC/DOCX, XLS/XLSX, ODT/ODS/ODP, TXT, CSV, ZIP, MP3, MP4
> * Collection time per form: "At booking completion" (default) or "Later (at check-in)" (BETA). Delayed request = form is filled in only at check-in, not at checkout.
> * Custom forms ≠ Legal documents: forms collect content data, legal documents provide legal protection (terms, right of withdrawal, etc.)
> * Related articles: /en/legal-documents, /en/configure-booking-option, /en/recurring-bookings
