# Cart form and buttons

> The values of `data-name` inside `smootify-cart`.

Status: Ready (Smootify 2.0)  
URL: https://www.smootify.io/docs/reference/attributes/cart-form  
Updated: 2026-10-13

## At a glance

| Field Name | What it is | Field | Applied by | Shows |
|---|---|---|---|---|
| `Coupon` | a discount code | a Text field | a button with `data-action="coupon"`, or Enter | in the list of `cart="discount"` |
| `gift-card` | a gift card | a Text field | a button with `data-action="gift-card"` | in the list of `cart="gift-card"` |
| `Note` | the order note | a Text area or a Text field | saved at checkout | as the note of the order, in Shopify |
| any other name, such as `Delivery day` | a cart attribute | a Text field, Select, Checkbox or Radio button | saved at checkout | in the order's additional details, in Shopify |

More in [the guide](https://www.smootify.io/docs/build/cart-extras).

## Where it can go

- **Inside** [`smootify-cart`](https://www.smootify.io/docs/reference/elements/smootify-cart).

## Values

| Attribute and value | What it is | Notes |
|---|---|---|
| `data-name="attribute name"` | Cart attribute | The field becomes a cart attribute; on input |
| `name="coupon"` | Coupon field | Applied with the coupon button; on input |
| `name="gift-card"` | Gift card field | Applied with the gift card button; on input |
| `name="note"` | Note for the seller | A textarea; on input |
| `data-action="open-cart"` | Open the cart | on button |
| `data-action="close-cart"` | Close the cart | on button |
| `data-action="open"` | Open the cart (short) | Same as open-cart; on button |
| `data-action="close"` | Close the cart (short) | Same as close-cart; on button |
| `data-action="coupon"` | Apply the coupon | on button |
| `data-action="gift-card"` | Apply the gift card | on button |
| `data-action="remove"` | Remove the line | on button; inside box-item, cart-item, smootify-cart [cart=“discount”], smootify-cart [cart=“gift-card”] |
| `name="draft-order"` | Ask for a quote | A draft order instead of checkout; on button |
| `data-wait="Updating…"` | Label while waiting | Only on a Form Button (an input); on a `<button>`, use data-state children; on input |
