> For the complete documentation index, see [llms.txt](https://kb.craftformswp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.craftformswp.com/documentation/ecommerce/catalog/catalog-item-panel.md).

# Catalog Item Panel on Posts

Make a post bookable or sellable from the post editor. If each apartment, tour or product has its own post (often a custom post type), a **Catalog item** panel in the post's sidebar creates or links its catalog item and sets the basics: price, cleaning fee, how many guests, the shortest and longest stay, or a product's price and stock. A booking form on that post then books that item, and [Catalog Search](/documentation/ecommerce/catalog/catalog-search.md) results link to the post.

![The Catalog item panel of an apartment post](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2F1IrDC74jBxMslx6Iu9AD%2Fcatalog-item-panel--panel.jpg?alt=media)

### What you need

* **CraftForms PRO.**
* Posts edited in the block editor. Pages and custom post types work too, if they use the block editor.
* A booking or order form whose price formula uses smart variables for the prices (like `nightly_rate` and `cleaning_fee`). The CraftForms booking starters do.

### Turn the panel on

1. Go to **CraftForms → Settings → Ecommerce**.
2. Under **Catalog items on posts**, tick the post types under **Post types with a Catalog item panel**, like your Apartment type.
3. Click **Save settings**.

![Catalog items on posts in the Ecommerce settings](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2FYunvBkkOx6WikX1lSFwI%2Fcatalog-item-panel--settings.jpg?alt=media)

The list shows public post types that use the block editor. WooCommerce products aren't listed: they have their own CraftForms product settings.

### Create or link the item

1. Edit a post of that type and open its tab in the sidebar (**Post**, **Page**, or your post type's name).
2. Open the **Catalog item** panel. Under **Catalog item**, pick:
   * **Create a new item**: choose the **Type** (**Nightly stay (dates range)** or **Product**) and the **Form** visitors fill in, then click **Create catalog item**. The item is named after the post (give the post a title first), takes the post's excerpt as its description and its featured image as its photo.
   * **Link an existing item**: pick it under **Item** and click **Link item**.
3. Set the item's values (below) and click **Save catalog item**, or just save the post: saving the post saves the item too.

A new nightly item starts with: sleeps 2, at least 1 night, no longest stay, same-day turnover on, bookable from today up to 365 days ahead, the form's booking date field as its date field, and its search result link set to the page it's placed on. A new product starts with `qty` as its quantity field.

When the post already contains a CraftForms form, it is picked under **Form** for you (unless the linked item already has a form).

### The item's values

The panel shows a short set of settings for the item's kind. Everything else stays in **CraftForms → Catalog**: click **More settings in Catalog** to open the item there.

#### Nightly stay

| Setting                      | What it does                                                                                     |
| ---------------------------- | ------------------------------------------------------------------------------------------------ |
| **Price per night**          | The nightly price                                                                                |
| **Cleaning fee**             | A fee per stay                                                                                   |
| **Form variable**            | Under each price: the form's smart variable that holds it, like `nightly_rate` or `cleaning_fee` |
| **Sleeps (guests)**          | The most guests                                                                                  |
| **Minimum nights**           | The shortest stay                                                                                |
| **Maximum nights**           | The longest stay. 0 = no limit                                                                   |
| **Same-day turnover**        | A new guest can arrive on the day the previous one leaves                                        |
| **Date field in the form**   | The form's booking date field                                                                    |
| **Guests field in the form** | The field checked against **Sleeps** (optional)                                                  |

#### Product

| Setting                        | What it does                                                   |
| ------------------------------ | -------------------------------------------------------------- |
| **Price**                      | A number, or a formula over the form's fields                  |
| **Stock**                      | How many you have. Leave empty for unlimited                   |
| **Quantity field in the form** | The field with the ordered quantity. Empty: each order takes 1 |

#### Which form variable holds a price

The prices are the item's smart variables: a nightly price of 175 sets the item's `nightly_rate` to 175, and the form's price formula uses it instead of the form's own value. The panel picks the variables by their names (`nightly_rate`, `price_per_night`, `cleaning_fee`…). If your form uses other names, pick them under **Form variable**. A price stays greyed out until it has a variable.

* If the form doesn't use the variable, the panel says so: the price won't change until the form's formula uses it.
* If the item's variable holds a formula instead of a number, the panel shows it read-only. Edit it in Catalog.

Items with another booking type (time slots, single dates, seasonal slots…) can be linked too. The panel then says the booking type isn't covered yet: edit those items in Catalog.

### What the link does

* **A form on the post books its item.** Whether the form is in the post's content or in your theme's template for that post type (for example a `[craftforms form="12"]` shortcode), it uses the item's prices, calendar, capacity and stock.
* **Catalog Search links to the post.** When the item's **Search result link** is **The page this item is placed on (automatic)** (new items from the panel are), search results and the [Catalog Listing](/documentation/ecommerce/catalog/catalog-listing.md)'s Book buttons go to the published post. See [Add/Modify Catalog Item](/documentation/ecommerce/catalog/add-modify-catalog-item.md#catalog-search).
* **One copy of the values.** The panel reads and writes the catalog item itself. A price changed in **CraftForms → Catalog** shows in the panel, and the other way round.
* A form with [catalog items as choices](/documentation/ecommerce/catalog/catalog-item-choices.md) on the post starts with the post's item picked.

### Unlink an item

Click **Unlink**. The post is no longer linked to the item, but the item stays in **CraftForms → Catalog** with its bookings and settings. You can link it again, or link another item.

### Good to know

* One post has one item.
* The panel needs the CraftForms access permission and permission to edit the post.
* The panel doesn't write to your theme's own custom fields. If your theme shows a price from a custom field, update that field too.
* Changes to the post's title, excerpt or featured image after the item was created don't change the item. Rename it in Catalog.
* The item's full settings (availability, closed dates, seasons, calendar sync, field options) are in [Add/Modify Catalog Item](/documentation/ecommerce/catalog/add-modify-catalog-item.md).
