# directory-product (/docs/showcase/templates/directory-product)

> One listing on the split frame: a product head, facts and plans.



Use `directory-product` for one thing a directory lists: a bench, a room, an integration, a plan. The product head names it and carries its actions, facts answer the questions a buyer compares on, and plans price it. A listing page links back to it from `directory-list`.

## Sections in order

**Slot rules.**

Required and optional slots are not in 7.0.0-alpha.0. `PageSchema` accepts `"template": "directory-product"` and checks no slot; the order above is read from the records.

## Fields that matter

<details className="mx-sc-details">
<summary>Every field of product-head</summary>

</details>

<details className="mx-sc-details">
<summary>Every field of facts</summary>

</details>

## Starter record

**Using an agent? Paste this prompt**

```text
Read https://next.mdxui.dev/docs/showcase/templates/directory-product.md, then fetch https://next.mdxui.dev/pages/vanroster/product/dispatch.json, a directory-product page that parses.
Run pnpm add @mdxui/site@7.0.0-alpha.0.
Rewrite its strings for my Business. Keep its Section types in their order; drop one only when my Business has nothing to say there.
Parse it with PageSchema.safeParse. When it refuses, shorten the content at the path it names, never the bound.
Render it with renderPage and save the HTML file.
```

## Other Templates

