With custom forms you can collect extra information from users at the moment they book an asset. You build the form in the Workplace Manager, link it to an asset configuration, and every asset that uses that configuration shows the form in the Workplace app when someone books it.
Typical uses are:
- Car plate number when booking a parking space.
- Catering orders for a meeting: items and quantities, cost center, and delivery time.
- Cost center when booking a resource, for internal cost control.
- Room setup requests, such as U-shape or cinema seating.
- Any other service order or request your organization needs at booking time.
You decide which fields the form contains and whether each field is optional or required. When a user completes the booking, the filled-in form is sent by email to the address you set on the asset configuration.
How it works
- Create the form under Settings > Custom Forms.
- Link the form to an asset configuration under Assets > Asset Configurations.
- Every asset that uses that asset configuration now shows the form when a user books it in the Workplace app.
Because the form is linked to the asset configuration and not to a single asset, one form can serve all parking spaces, all meeting rooms in a building, or any other group of assets that share a configuration.
Create a custom form
- Go to Settings > Custom Forms.
- Select Create.
- Enter a name for the form, and a short description if you want one. The description helps you recognize the form later in the list.
- Add fields from the Field palette on the left. Drag a field onto the canvas, or select it to add it at the end.
- Select a field on the canvas to open Field properties on the right, and set its label, help text, options, and validation rules.
- Select Preview to see the form the way the user will see it.
- Make sure the Active toggle is on, then select Save.
Field types
The field palette is divided into four groups.
| Group | Field | Description |
| Inputs | Text input | A single line of free text, such as a car plate number. |
| Inputs | Text area | Several lines of free text, for longer notes or special requests. |
| Inputs | Integer | A whole number, such as a quantity. |
| Inputs | Date | A date. |
| Inputs | Date and time | A date and a time, for example a delivery time. |
| Inputs | Time | A time. |
| Choice | Select | A dropdown list where the user picks one option. |
| Choice | Multi-select | A list where the user can pick several options. |
| Choice | Checkbox | A single box the user selects or clears. |
| Choice | Radio group | A set of options shown at once, where the user picks one. |
| Advanced | Nested form | Embeds another form as a repeatable group. See Add a nested form for repeating items. |
| Layout | Header | A heading or introductory line on the form. |
| Layout | Divider | A horizontal line that separates sections of the form. |
| Layout | Group | Collects several fields under a shared label. See Group related fields. |
Field properties
Which properties are available depends on the field type.
| Property | Description |
| Key | The name of the field in the API. It identifies the answer when the form data is read by another system. |
| Label | The name shown above the field. |
| Help text | Explanatory text shown beneath the field, for example instructions on what to fill in. |
| Placeholder | Example text shown in the empty field, such as e.g. ABC123. |
| Options | For Select, Multi-select, and Radio group. Each option has a Label, which the user sees, and a Value, which is the parameter name used in the API. Select Add option to add more. |
| Default | The value the field starts with. |
| Input style | For Integer. Text lets the user type the number, Stepper adds plus and minus buttons. |
| Required | The field must be filled in before the booking can be completed. |
| Disabled | The field is visible but not editable. |
| Min and Max | For Integer. The lowest and highest number allowed. |
| Min length and Max length | For Text input and Text area. The shortest and longest text the user can enter. The values are in number of letters including spaces. |
| Regex pattern | For Text input and Text area. A pattern that the entry has to match, for example ^[A-Z]{2}-\d{4}$ for two letters, a hyphen, and four digits. Use it when the value has to follow a fixed format, such as a car plate number. |
Place two fields side by side
Drag a field on top of another field on the canvas to put the two side by side. They are then held together in a row, shown as ROW on the canvas. This is how a choice and a quantity are usually combined, for example a drink and the number of glasses.
Drag a field out of the row to separate the fields again.
Group related fields
Add a Group from the Layout part of the field palette to collect several fields under a shared label, for example a room seating request that consists of a seating layout and a number of chairs. The fields in a group can be placed under each other or side by side in a row. The group is shown on the canvas with its label and the number of fields it contains.
You can build a group in two ways. Add a Group from the field palette, which starts empty with a Drop fields here area to drag fields into. Or select the fields that are already on the canvas, using the check box in the corner of each field, and then select Create group in the bar that appears.
[Screenshot: Two fields selected on the canvas with the Create group button]
- Select the group itself to set its Label and an optional Description, which is shown below the label.
- Select a field inside the group to edit that field.
- Select Ungroup in the upper right corner of the group to dissolve it and move its fields back to the top level of the form.
In the Workplace app, the group label is shown as a heading above the fields it contains.
Reorder and remove fields
- Drag a field by its handle to move it.
- Select a field, then use the up and down arrow keys to reorder it, and Del to remove it.
- Select Delete in the Field properties panel to remove the selected field.
Make fields required or optional
Two settings work together here, one on the field and one on the asset configuration.
- Required in Field properties makes a single field mandatory. The field must be filled in before the form counts as completed.
- Require this form for booking on the asset configuration makes the whole form mandatory. The user can't book the asset until the form is completed.
A form is completed once all its required fields are filled in. If a required form contains one required field and one optional field, the user only has to fill in the required field to be able to book.
Add a nested form for repeating items
A nested form embeds one form inside another as a repeatable group. The user selects Add item to add another entry, so the same set of fields can be filled in as many times as needed. This is what makes catering orders work: each entry is one item and its quantity.
Create the form to embed
Build the repeating part as a separate form first. A catering example is a form named Hot drinks that contains:
- A Select field named Hot drinks, with one option per drink, such as Coffee and Tea.
- An Integer field named Quantity.
Embed the form
- Open the form that the user will fill in, for example Catering form.
- Add a Nested form field from the Advanced group in the field palette.
- With the field selected, open Form in Field properties and select the form to embed.
- Under Instances, set Min and Max to control how many entries the user starts with and how many they can add. Turn on Unlimited to remove the upper limit.
- Optionally, enter Add button text to change the label of the add button.
- Select Save.
A form that already contains a nested form can't be embedded in another form, so nesting goes one level deep.
Example: a catering form
A catering form can combine layout fields and several nested forms so that the user orders item by item within each category:
- A Header with an instruction, such as “Add the items you like to order to your booking.”
- A nested form for Hot drinks.
- A nested form for Breakfast & Snacks.
- A nested form for Soft drinks.
- A Divider between each category to keep the form easy to read.
- A Text input for the cost center and a Time field for the delivery time.
Link the form to an asset configuration
The form is shown to users only after you link it to an asset configuration.
- Go to Assets > Asset Configurations.
- Select the configuration that should use the form. The Update asset configuration panel opens on the General tab.
- Under Custom booking form, select the form. The form is shown when booking assets with this configuration.
- Optionally, select Require this form for booking. The user can't book until the form is completed.
- Enter a Notification recipient. This address is notified whenever a booking is made with the form, and it is where the filled-in form is sent. Only one address can be entered, so use a group mailbox if several people need the order, for example the reception or a catering supplier.
- Select Save.
All assets that use the configuration now show the form. You can see and change which configuration an asset uses under Assets > Assets, on the General tab of the asset.
A custom booking form can only be used on asset configurations that have the booking mode Bookable, since the form is filled in as part of a booking.
What the user sees in the Workplace app
When a user selects an asset and books it, the form is shown in the booking panel together with the other booking details. The form is shown in the Workplace app, both the mobile app and the web version.
- Required fields are marked with an asterisk.
- Help text is shown beneath the field, so use it to explain what you expect the user to fill in.
- If a required field is empty, Book asset is unavailable and the message Complete required fields to book is shown.
- In a nested form, the user selects Add item to add another entry, up to the maximum you set.
- The form is also shown when a user books on behalf of someone else.
- The user can change the answers afterwards by editing the booking.
Where the answers end up
When the booking is made, the filled-in form is sent by email to the Notification recipient you set on the asset configuration. This is how the order or request reaches the person who has to act on it, such as the reception, the catering supplier, or facility management.
Set a recipient on every asset configuration where the form results in a task for someone. Because only one address can be entered, use a group mailbox or a distribution list when more than one person needs the information.
If no recipient is set, the answers are not shown anywhere in Workplace Manager. They are then only available through the API.
Manage your custom forms
All forms are listed under Settings > Custom Forms.
| Column | Description |
| Form | The name and description of the form. |
| Fields | The number of fields the form contains. |
| Used by | The asset configurations that use the form. Select it to see them and open one. |
| Status | Whether the form is active. |
| Created and Last Edited | When the form was created and last changed. |
| Actions | Opens a menu with Edit, Duplicate, and Delete. |
Other options in the form editor
- Active turns the form on or off.
- Preview shows the form as the user will see it.
- Export saves the form definition as a JSON file, and Import reads a file in the same format. Use this to reuse a form definition, to move a form between environments, or to build a form outside Workplace Manager.
- Delete removes the form.
Edit a form that is in use
When you edit a form, the change applies everywhere the form is used. Every asset configuration linked to the form, and every form that embeds it as a nested form, shows the updated version straight away.
A form that is linked to an asset configuration can't be deleted. Remove the form from the asset configuration first, by clearing Custom booking form, and then delete it.
If you rename a field, the new name is used in the Workplace app from that point on. Emails that have already been sent are not affected, so an older order still shows the name the field had when the booking was made.
Examples
| Use case | How to set it up |
| Parking | A Text input for the car plate number, set to required, linked to the asset configuration used by your parking spaces. Add a Regex pattern if your plate numbers follow a fixed format. |
| Catering | A form with one nested form per category, plus a Text input for the cost center and a Time field for delivery time, linked to the configuration used by your meeting rooms. |
| Cost control | A Text input or Select for the cost center, set to required, on the resources you want to follow up. |
| Room setup | A Radio group with the setups you offer, such as U-shape, cinema seating, or standard, and a Text area for special requests. |
Use the answers in another system
The answers are available through the Flowscape API, where the Key you set on each field is the name of the field. This makes it possible to send what the user fills in to a system outside Flowscape.
A typical example is parking. The car plate number that the user fills in when booking a parking space can be passed to the parking system, so that the barrier opens automatically when the car arrives.
To get the API documentation, contact support@flowscapesolutions.com. The documentation is shared under a non-disclosure agreement.
Good to know
- Keep forms short. Every extra field is one more thing between the user and a completed booking.
- Set Required only on fields you truly need, such as a car plate number or a cost center.
- Use Help text instead of long labels to explain what you expect.
- Build one small form per category before you build the form that embeds them, since a nested form can only point to a form that already exists.
- Use Preview before you link the form to an asset configuration.
- Add a Notification recipient whenever the form results in a task for someone, such as a catering order or a room setup, and use a group mailbox so the order doesn't depend on one person.
- Use Export to keep a copy of a form before you make larger changes to it, and Duplicate when you need a variant of a form you already have.
Comments
0 comments
Please sign in to leave a comment.