> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: Introduction

## Article: Attribute Definitions Introduction

## Article Link: https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/attributes/attribute-definition/introduction.md

## Article Content:

# About Attribute Definitions

An attribute definition is the schema for a typed custom property (string, number, or boolean): a display name shown to end users, a value type, optional type-specific configuration (a list of allowed string values or an integer range), and a default value. Attribute definitions exist once per site.

This API is specifically used for creating and managing attribute definitions. To store a definition's value for a specific entity, use [Attribute Values](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/attributes/attribute-value/introduction.md). For more information about the broader Attributes API, including how definitions and values relate and how visibility works, see [About the Bookings Attributes API](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/attributes/introduction.md).

With the Attribute Definitions API, you can:

- Create, retrieve, update, and delete attribute definitions.
- Query and filter attribute definitions for back-office and consumer-facing experiences.
- Tag attribute definitions with the Wix tagging system to group and filter them.

## Before you begin

It's important to note the following points before starting to code:

- An attribute definition's `valueType` is immutable. To switch types, delete the definition (which deletes all of its attribute values) and create a new one.
- Deleting an attribute definition is permanent: there's no restore, and it also removes all of the definition's attribute values.
- Changing a definition's configuration re-validates stored values. Any value that no longer conforms to the new configuration is reset to the definition's default value.
- `name` is a single-language string. If a site supports multiple languages, handle translation outside this API.

## Use cases

- [Set up attributes and display values on the public site](https://dev.wix.com/docs/api-reference/business-solutions/bookings/resources/attributes/sample-flows.md)

## Terminology

- **Attribute definition**: A typed custom property (string, number, or boolean) with a name, optional configuration, and a default value. Defined once per site.
- **Attribute value**: The value of an attribute definition for a specific entity.
- **Default value**: The value a stored attribute value is reset to if a configuration change leaves it non-conforming.


@sdk_package_setup