## Order Attributes

Order attributes let you create a range of custom attributes you can apply to Orders, Invoices, Locations, Networks, and more. For example, you could create a custom attribute that would allow customers to select gift wrapping at checkout. To navigate to the **Attributes** page, click **Configurations** in the left menu and then select **Attributes**. You can search for an attribute, use filter conditions to tailor your search, and sort the results in ascending or descending order.

## Attributes Table Field Descriptions

The Attributes table displays a list of all previously created **Attributes**.

| Field         | Description                                                                                       |
|---------------|---------------------------------------------------------------------------------------------------|
| **Name**      | The attribute name assigned when creating the attribute.                                         |
| **Section**   | The section within **Orders** that the attribute field will be used in. The options are **Location**, **Order**, **Shipment**, **Invoice**, **Allocation**, or **Inventory**. |
| **Data type** | The data type associated with the attribute. For example, String, Boolean, Double, or Enum.     |
| **Mandatory** | Determines if the attribute is mandatory. Mandatory attributes must be provided when making API calls to the **Section** its assigned to. The value can be **Yes** or **No**. |

## Creating Order Attributes

1. In the left menu, click **Orders** > **Configurations** > **Attributes**. The Attributes page is displayed.
2. Click **Create Attribute**. The **Create Attribute** page is displayed.
3. In the **Attribute name** field, enter an attribute name.
4. To make the attribute mandatory, select the **Mandatory attribute** field.
5. (Optional) In the **Description** field, enter a description.
6. In the **Data type** field, select a data type. For example, _Integer_ or _Boolean_.
7. In the **Document** field, select a document type. This field is used to map the attribute to the fabric API endpoint. For example, if you select _inventory_ and the attribute is a mandatory attribute, you must provide this attribute and its value when making an API call to inventory.
8. In the **Object** field, select an object. The object field is used to further classify where an attribute lives. For example, if you select the **Order** document type and **shipInfo** object. The attribute lives under the **order.shipInfo** object as the **order.shipInfo.shopToType** attribute.
9. Click **Save**.

The attribute is added to the attribute table on the **Attributes** page.

## Editing an Attribute

1. In the left menu, click **Orders** > **Configurations** > **Attributes**. The **Attributes** page is displayed.
2. In the **Name** column of the attribute table, click an attribute. The **Edit Attribute** page is displayed. Note that you can only edit the **Description** and **Object** values.
3. To save edits to the attribute, click **Save**. The edits are saved.

## Deleting Attributes

1. In the left menu, click **Orders** > **Configurations** > **Attributes**. The **Attributes** page is displayed.
2. In the attribute table, hover over the attribute you wish to remove and click the delete icon. The **Are you sure you want to delete this attribute?** page is displayed.
3. Click, **Yes, Delete**.

The attribute is deleted and removed from the attribute table on the **Attributes** page.
