> ## Documentation Index
> Fetch the complete documentation index at: https://86d.store/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Preorders

> Sell products before they are available for fulfillment. Capture payment up front and ship when stock arrives.

<Warning>
  **Experimental.** This Module has no test or production evidence recorded yet. Read it, run it locally, and hold off on real Orders. See [maturity levels](/docs/resources/versioning).
</Warning>

The Preorders [Module](/docs/concepts/modules) marks selected products as available for preorder during a window you configure. A [Customer](/docs/resources/glossary#customer) can buy before [Inventory](/docs/modules/inventory) exists: the Module flags each preorder line item, captures payment up front when you enable it, and tracks the expected ship date.

**Source:** [`modules/preorders`](https://github.com/86d-store/86d/tree/main/modules/preorders) · **npm:** [`@86d-store/preorders`](https://www.npmjs.com/package/@86d-store/preorders)

## Installation

```sh theme={null}
86d module add preorders
```

## Configuration

```ts theme={null}
preorders({
  capturePaymentUpFront: "true",
  defaultLeadTimeDays: "14",
});
```

## Admin endpoints

| Method | Path                           | Description                             |
| ------ | ------------------------------ | --------------------------------------- |
| `GET`  | `/admin/preorders`             | Active preorder campaigns               |
| `POST` | `/admin/preorders`             | Create a campaign                       |
| `POST` | `/admin/preorders/:id/release` | Convert preorders to fulfillable orders |

## Components

* `<PreorderBadge productId={id} />`
* `<PreorderCTA productId={id} />`

## Related pages

* [Backorders](/docs/modules/backorders) for products that have already launched and run out of stock
* [Inventory](/docs/modules/inventory)
* [Versioning and maturity](/docs/resources/versioning)
* [Glossary](/docs/resources/glossary)
