[**@wocart/storefront v3.1.0**](../../README)

***

[@wocart/storefront](../../README) / [index](../README) / CheckoutFormPolicy

# Interface: CheckoutFormPolicy

The merchant's order-form configuration, as the server resolves it.

A plain type, not a schema: the server has already applied the defaults and
validated every value by the time this arrives, and it enforces all of it
again on POST /store/orders. The theme's job is to render what it is told —
a theme that decided anything about form rules would be engine logic in a
swappable layer, and the two copies would drift.

`address` may be "hidden" (some merchants take it by phone after the order).
A hidden field ships no markup at all; whether a HOME parcel may then leave
without an address is a platform decision, enforced at dispatch — not here.

## Properties

### address

> **address**: `"optional"` \| `"required"` \| `"hidden"`

***

### customFields

> **customFields**: [`CheckoutFormCustomField`](CheckoutFormCustomField)[]

***

### deliveryOptions

> **deliveryOptions**: `object`

#### home

> **home**: `boolean`

#### stopDesk

> **stopDesk**: `boolean`

***

### email

> **email**: `"optional"` \| `"required"` \| `"hidden"`

***

### notes

> **notes**: `"optional"` \| `"hidden"`
