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

# CrossmintCheckoutNewOrder

> Flutter Final Class

**Final Class**

Create a new order inline with line items, recipient, and locale.

```dart theme={null}
final class CrossmintCheckoutNewOrder extends CrossmintCheckoutOrder
```

The raw `lineItems` constructor remains available as the forward-compatible
escape hatch. Prefer `CrossmintCheckoutNewOrder.typed` when the current SDK
models the line-item shape you need.

## Constructors

### CrossmintCheckoutNewOrder

```dart theme={null}
const CrossmintCheckoutNewOrder({
  required this.lineItems,
  this.recipient,
  this.locale,
  this.metadata,
})
```

### CrossmintCheckoutNewOrder.typed

```dart theme={null}
CrossmintCheckoutNewOrder.typed({
  required List<CrossmintCheckoutLineItem> lineItems,
  this.recipient,
  this.locale,
  this.metadata,
})
```

## Properties

### lineItems

```dart theme={null}
final List<Map<String, Object?>> lineItems
```

Line items in the order, each represented as a raw JSON map. Prefer the `CrossmintCheckoutNewOrder.typed` constructor and pass typed `CrossmintCheckoutLineItem` values; use the raw map shape only when a new API field is not yet modeled by the SDK.

### recipient

```dart theme={null}
final CrossmintCheckoutRecipient? recipient
```

Optional recipient for the order. When omitted, the hosted checkout collects recipient details from the buyer.

### locale

```dart theme={null}
final String? locale
```

Optional BCP 47 locale tag (for example `en-US`, `es`, `pt-BR`) used to localize the hosted checkout UI. Defaults to the buyer's browser locale when null.

### metadata

```dart theme={null}
final Map<String, Object?>? metadata
```

Optional opaque metadata attached to the order. Forwarded verbatim to the Crossmint orders API and returned on order webhooks and status reads.
