Skip to main content

Custom Attributes

Add your own custom fields to bookings, customers, resources, partners, users, and availabilities to track the data that matters to your business.

Written by Jerome Bajou

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

  • Availabilities — add per-departure information to a specific time slot (an assigned guide, an embarkation port, a public headline for that departure)

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

  • Availabilities → open a schedule’s availability page → Actions → Manage attributes

You will only see Attributes pages for entity types you have permission to manage.


Creating a Custom Attribute

To create a new attribute:

  1. Navigate to the Attributes page for the entity type you want (e.g. Bookings → Attributes).

  2. Click the Create Attribute button.

  3. 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).

  1. 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:

  1. Open a customer record and click Edit.

  2. Scroll to the Custom Attributes section.

  3. Fill in the value — a text field, dropdown, date picker, etc. depending on the type.

  4. Save the record. The value is stored and displayed going forward.


Availability Attributes and Per-Departure Values

Availability attributes work a little differently from the other entity types. Instead of
one value per record, they hold per-departure information — the value you set belongs to one specific time slot.

You set a value in two ways:

  • Per slot — open a single availability and fill in the attribute for that departure
    only. Useful for one-off information (“8hr Barcelona Insider for Amy’s group”).

  • Product-wide default — set a Default value on the attribute definition. Every
    departure that has no value of its own falls back to the default, so you can show the same text across a whole schedule without editing each slot. Set a value on an individual slot to override the default for that departure; clear it to fall back to the default again.


Showing Attributes to Your Customers (Availabilities)

By default, custom attributes are internal — your team sees them, your customers do not.
For text attributes on availabilities, you can choose to display the value on
customer-facing surfaces.

When you create or edit a text availability attribute, a Show this attribute on section
appears with these options:

  • Checkout — shows under the tour title on the booking checkout page (embedded widget and your CaptainBook website).

  • Customer email — shows in the booking confirmation email sent to the customer.

  • Operator email — shows in the new-booking email sent to you and your team.

  • Monthly calendar widget — shows on the slot in the embedded monthly calendar widget (including sold-out slots).

Tick any combination. Leave them all unticked to keep the attribute internal-only.

Tips:

  • Display options only appear for the Text type on Availabilities.

  • If the attribute has a Default value, the editor warns you that the text will show to
    customers on every departure that has no value of its own — handy for a product-wide message, but double-check it before ticking a customer surface.

  • The text is shown exactly as typed, on a single line. Keep it short — a headline, not a paragraph.


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:

  1. Click the three-dot menu (⋯) on the attribute.

  2. Select Delete. The attribute is soft-deleted (archived).

  3. 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 show custom attributes to my customers, or in emails?

Yes. Text attributes on availabilities can be displayed on customer-facing surfaces —
the checkout page, the customer confirmation email, the operator new-booking email, and the monthly calendar widget — using the Show this attribute on options when you create or edit the attribute. For all entity types, custom attribute values are also available as context data in Workflows, so you can reference them by slug in workflow actions and templated messages.

Is there a limit to how many custom attributes I can create?

There is no hard limit. Create as many as your business needs.

Did this answer your question?