Custom Attributes let you add your own fields to bookings, customers, resources, partners, and users — without any code changes. Define the fields you need, choose a type (text, number, date, dropdown, and more), and start capturing data that matters to your business.
What are Custom Attributes?
Every business is different. While CaptainBook comes with a rich set of built-in fields, you may need to track information that is unique to your operation — a guest's T-shirt size, a dietary preference, an internal reference number, or a VIP status.
Custom Attributes solve this by letting you define your own fields on five entity types:
Bookings — track extra details per reservation
Customers — store profile information beyond name and email
Resources — add metadata to your boats, vehicles, guides, etc.
Partners — keep notes and categorizations on distribution partners
Users — annotate team members with internal data
Once defined, custom attributes appear automatically in the relevant edit forms, list views, and filters — and can even trigger Workflows when their values change.
Supported Attribute Types
CaptainBook supports 10 attribute types to cover a wide range of data:
Type | Description | Example |
Text | Free-form text string | Special requests, notes |
Number | Numeric value | Group size, weight |
Checkbox | Yes / No toggle | Is VIP, Requires transfer |
Date | Date picker | Arrival date, Expiry date |
Timestamp | Date and time | Follow-up scheduled at |
Rating | Star rating (1–5) | Customer satisfaction |
Select | Single choice from a list | T-shirt size, Language |
Multi-select | Multiple choices from a list | Dietary needs, Interests |
Currency | Monetary value | Tip amount, Deposit paid |
Status | Color-coded label | Lead stage, Follow-up status |
Where to Find Custom Attributes
Each entity type has its own Attributes page where you create and manage definitions:
Bookings → Bookings sidebar menu → Attributes
Customers → Customers sidebar menu → Attributes
Resources → Resources sidebar menu → Attributes
Partners → Partners sidebar menu → Attributes
Users → Users sidebar menu → Attributes
You will only see Attributes pages for entity types you have permission to manage.
Creating a Custom Attribute
To create a new attribute:
Navigate to the Attributes page for the entity type you want (e.g. Bookings → Attributes).
Click the Create Attribute button.
Fill in the form:
Name (required) — a descriptive label, e.g. "Dietary Preference". A unique slug is generated automatically.
Type (required) — choose from the 10 supported types. Defaults to Text.
Description (optional) — help text shown alongside the field to guide your team.
Options — for Select, Multi-select, and Status types, enter one option per line. For Status, you can also pick a color for each option (green, yellow, red, blue, gray, purple, or orange).
Validation Rules — optionally enforce constraints like required, minimum/maximum length, min/max value, or a regex pattern (depending on the type).
Click Save. The attribute is now live and will appear on forms for that entity type.
Important: The attribute type and options cannot be changed after creation. Choose carefully — if you need a different type, create a new attribute and archive the old one.
Editing a Custom Attribute
From the Attributes page, click the three-dot menu (⋯) on an attribute and choose Edit. You can update:
Name — rename the attribute (the slug stays the same for consistency).
Description — update the help text.
Validation Rules — change which constraints apply.
Type and options are locked after creation to protect existing data.
Sorting Attributes
You can drag and drop attributes on the list to control the order in which they appear on edit forms. The order you set here is the order your team sees when filling in data.
You can also sort the management list itself by name, type, or creation date using the sort controls at the top.
Filling in Custom Attribute Values
Once attributes are defined, they appear automatically when editing the relevant entity. For example, if you create a "Dietary Preference" attribute for Customers:
Open a customer record and click Edit.
Scroll to the Custom Attributes section.
Fill in the value — a text field, dropdown, date picker, etc. depending on the type.
Save the record. The value is stored and displayed going forward.
Filtering and Searching by Custom Attributes
Custom attribute values are integrated into list views:
Filters — on list pages (Customers, Bookings, etc.), you can filter by custom attribute values. For Select and Multi-select attributes, choose from the predefined options.
Search — the global search on list pages also searches across custom attribute values, so you can find records by the data you've stored.
Using Custom Attributes in Workflows
Custom Attributes integrate with CaptainBook's Workflows automation system in two ways:
Trigger: Custom Attribute Updated
When a custom attribute value changes on any entity, CaptainBook fires a Custom Attribute Updated event. You can use this as a workflow trigger to automate actions — for example:
When a customer's "VIP Status" changes to "Yes", send a welcome email.
When a booking's "Follow-up Status" changes to "Needs Review", notify the manager.
The trigger provides the entity, the attribute definition, and both the old and new values as context data.
Actions: Set Custom Attributes
Workflow actions like Update Customer and Update Booking can set custom attribute values as part of an automated flow. This lets you enrich records automatically — for example, marking a customer as "Repeat Guest" after their third booking.
Archiving and Restoring Attributes
If you no longer need an attribute, you can archive it instead of permanently deleting it:
Click the three-dot menu (⋯) on the attribute.
Select Delete. The attribute is soft-deleted (archived).
Archived attributes appear in a collapsible Archived section at the bottom of the page.
Archiving hides the attribute from forms and filters but preserves the data. This means you can still reference historical values if needed.
Useful Tips
Copy the slug or ID — from the three-dot menu, you can copy the attribute's slug or ID to the clipboard. This is handy when referencing attributes in workflows or API integrations.
Usage count — the Attributes page shows how many records currently use each attribute, helping you gauge adoption.
Status colors — for Status-type attributes, color-coded badges (green, yellow, red, blue, gray, purple, orange) make it easy to scan records at a glance.
Validation is optional — you can enforce rules (required, min/max, regex) or leave attributes flexible. Validation applies to manual form edits only.
Permissions — custom attribute management respects your existing permissions. If a team member can edit bookings, they can also fill in booking custom attributes.
FAQ
Can I change the type of an attribute after creating it?
No. The type is locked after creation to protect existing data. Create a new attribute with the desired type and archive the old one.
What happens to data when I archive an attribute?
The data is preserved. Archiving only hides the attribute from forms and filters. You can view archived attributes in the collapsed section at the bottom of the Attributes page.
Can I use custom attributes in email templates or notifications?
Yes — custom attribute values are available as context data in Workflows. You can reference them using the attribute slug in your workflow actions and templates.
Is there a limit to how many custom attributes I can create?
There is no hard limit. Create as many as your business needs.
