Skip to content
PDF

Attributes ​

An Attributes table is where you configure the detailed settings of an organisation, a resource, or a booking template. This page explains what an attribute is, which things carry them, how you edit them, which level decides what, and — most usefully — how the attributes you set turn into what your clients see on the online booking site.

What an attribute is ​

An attribute is a single setting stored as a key and a value on an entity. Each table has one row per setting: the left column is the setting's name and the right column is where you change its value. The set of keys is fixed and defined by the application — you never invent new rows, you only edit the values of the rows that are there.

Because the keys are defined in code, each attribute also knows how it should be edited and what its starting value is. That is why the value column shows the right control for each setting: an on/off switch, a number box (clamped to a minimum and maximum as you type), a decimal box for settings like a price or a coordinate (also clamped to a minimum and maximum as you type, and accepting the decimal separator your language uses — a comma or a point), a dropdown of fixed choices, a weekday picker (single or, for some settings, multiple weekdays shown as chips), a client-field picker (for settings that designate one of your client custom fields), a country picker with flag and country name, a time-zone picker, a password box for stored credentials, or a plain text box. Every number or decimal setting also has an upper limit of 1,000,000 where no smaller maximum is defined, so an overlong number you type or paste is pulled straight back to that limit instead of being kept. When an entity has never had a value saved for a row, the table shows that setting's built-in default.

Which entities carry attributes ​

Three kinds of thing have an Attributes table, each in a different place:

  • Organisation — on the Profile tab of the organisation editor, and only for an individual organisation; the rows that belong to a module sit under that module's switch on the Modules tab. Languages and Default language are not rows in this table — they are separate pickers just above it on the Profile tab. A group container has no Attributes table of its own. See Organisation — every organisation attribute is documented row by row in its attributes reference.
  • Resource — in the resource editor. A standard (provider) resource and a session resource show different rows, because they do different jobs. See Resources. The full per-attribute tables are on Resource details, and a resource's email switches sit in their own Email notifications control below the attribute table — one switch per client-facing email.
  • Booking template — on the template's Profile tab. A template has eight attributes: Booking email, Link to favicon, Booking UI mode, Express booking, Client accounts, Reservation timeout, Waitlist promotion timeout (min) and OTP code length. See Templates; the rows are documented on Edit a booking template.

What is set where ​

A booking on your site draws on four levels. A setting lives on one of them, and a lower level does not override an organisation setting of the same name. The exception is the list of questions asked at checkout, which the template, a resource and a product each contribute to — see Configure checkout fields.

LevelWhere you edit itWhat it decidesExamples
OrganisationConfigurations > OrganisationRules for the whole businessCurrency, VAT rates (the choices), Time zone, Languages, module switches, the payment provider, Allowed refund destinations, Allow paying at the desk, Voucher validity (days), Wallet credit expiry (days), SMS and video credentials
Booking templateConfigurations > TemplatesOne booking site and its checkoutClient accounts, Reservation timeout, Waitlist promotion timeout (min), OTP code length, Booking email, Express booking, checkout fields, theme
Resource or treatmentConfigurations > Resources, Configurations > TreatmentsWhat is booked and on which termsSlot price, VAT rate, Slot capacity, Allow cancellation, Cancel timeout (hours), Cancellation fee (%), Reservations possible (booking horizon), Waitlist enabled, reminder switches; a treatment's price and duration
SessionThe scheduler (a dated session)One occurrenceIts capacity, visibility, bookability window and early access

Which value wins where two levels touch the same thing:

  • Price of a session place: always the session resource's Slot price at the moment of booking. A single session has no price of its own.
  • Price of a treatment appointment: the treatment's price. Its VAT comes from the provider resource's VAT rate, not from the treatment.
  • Capacity: each session carries its own capacity, copied from the resource's Slot capacity when the session is generated and editable per session afterwards. The session's value wins.
  • Voucher expiry: a product's own validity (a date or a number of days) wins; the organisation's Voucher validity (days) applies when the product sets none.
  • VAT rate: the organisation's VAT rates only list the choices. The rate chosen on each resource or product is the one used; with no rates on the organisation, the VAT rate row is not shown.
  • Hold length, sign-in code, guest checkout, waitlist claim time: from the booking template the customer is booking through. The sign-in code length and the waitlist claim time are the exceptions: go flow takes them from one of the organisation's templates, so give all templates of an organisation the same OTP code length and the same Waitlist promotion timeout (min).
  • Early access: the organisation's Default early-access lead (minutes) only pre-fills a new early-access row in the generate dialog and in the session dialog; what you enter there is stored on each session.
  • Credentials of a member organisation: with Use group integration settings ticked, the group's values win.

Whether a change reaches records that already exist:

You changeAlready existing records
Slot price, VAT rate on a session resourceApply to every booking made afterwards, also for sessions generated earlier. Existing bookings keep what was paid; refunds use the paid amount.
Slot capacity, slot duration on a session resourceCopied when sessions are generated: only sessions generated afterwards. Change an existing session in its session dialog.
Allow cancellation, Cancel timeout (hours), Cancellation fee (%)Read when a booking is cancelled: they apply to existing bookings too.
Reservations possibleImmediately, on the slots the booking site lists.
Reservation timeout, OTP code length, Client accounts, Waitlist promotion timeout (min)Holds, codes, checkouts and waitlist offers from then on. A place already held keeps its expiry time.
Organisation settingsSee When a change takes effect.

Editing attributes ​

Open the entity, find its Attributes table, and change values in the right-hand column. Number and decimal boxes are clamped to a sensible range as you type — for example the OTP code length can only be set between 3 and 6. Every numeric setting has its own range, and even one without a defined maximum cannot exceed 1,000,000, so an overlong or pasted number is pulled back to the nearest allowed value instead of being stored. Nothing is written until you use the page's own Save button, which commits the whole editor together. After saving, check that the change synchronised and reached the booking site — see Check after changing.

How module toggles affect attributes ​

A handful of attributes only make sense while a particular module is switched on. On a resource, the Slot price, VAT rate and Cancellation fee (%) rows are tied to the Payments module and the Waitlist enabled switch of a session resource to the Waitlist module: while the module is off, those rows simply do not appear in the resource's Attributes table — they are hidden, not deleted. Their saved values are left exactly as they were, so switching the module back on brings the same rows back with the same values, unedited. The organisation's Currency and VAT rates are general settings on its Profile tab and do not depend on a module.

On the organisation itself, each module's settings sit in a small table under its switch on the Modules tab and stay visible whether the module is on or off; they take effect only while it is on.

SMS and video credentials are organisation-level settings tied to the SMS and Video modules: they are edited under their switch on the organisation's Modules tab, never on an individual resource. The SMS module is the one module that is off until you switch it on — sending text messages costs money and reaches your clients directly, so nothing is sent until you turn it on and store all four Twilio credentials. Once both are in place, each resource gains its own SMS reminder switches (1 day before, morning of, 2 hours before) beside the email ones. They start switched off, and switching the module back off hides them without losing what you chose.

A few rows appear conditionally on another row's value rather than on a module: a resource's Cancel timeout (hours) is only shown while Allow cancellation is on. Rows hidden this way keep their saved values too.

Cancellation fee is stored as a plain percentage: a resource's cancelFeePercent of 10 means a cancelled, paid booking is refunded minus a 10% fee (paid amount times feePercent / 100).

A worked example ​

Suppose you run a fitness studio and want a paid drop-in class.

  1. On the organisation, set Currency to CHF and make sure VAT rates lists the rate you need.
  2. Make sure the organisation's Payments module is on.
  3. On the class's session resource, set Slot price to 25, pick the VAT rate and set Cancellation fee (%) to 10.

With Payments on, the slot price, VAT rate and cancellation fee rows are visible and editable on the session resource's Attributes table. If a paid booking for that class is later cancelled, the refund is calculated minus the 10% fee you set.

Now turn the organisation's Payments module off: the slot price, VAT rate and cancellation fee rows disappear from the resource's Attributes table — but the 25 and 10 you entered are still saved underneath — and the booking site takes bookings for the class without payment. Currency and VAT rates stay on the organisation's Profile tab. Turn Payments back on and the same rows reappear with the same values.