> For the complete Lynkow documentation index in agent-friendly format, see [llms.txt](/llms.txt).

# SDK Types: Order

**Publié le** : 2026-08-20
**Catégorie** : Types

# SDK Types: Order

## `Order`

*Interface*

Buyer-facing order confirmation returned by CheckoutService.placeOrder.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `address` | `OrderAddress` | Yes | Buyer-provided address snapshot. Empty or absent when no address was supplied. |
| `currency` | `string` | No | ISO 4217 currency code for every amount on this order (e.g. `'EUR'`). |
| `email` | `string \| null` | Yes | Confirmation email, or `null` when the authenticated account has no email snapshot. |
| `fulfillmentStatus` | `OrderFulfillmentStatus` | No | Preparation or handover state recorded by the merchant. |
| `id` | `string` | No | Order's opaque wire id (prefixed `'ord_...'`). |
| `items` | `OrderItem[]` | No | Immutable line snapshots copied from the completed cart. Always non-empty. |
| `orderNumber` | `number` | No | Per-site sequential order number intended for merchant and buyer display. |
| `paymentMethod` | `"on_site" \| "cash_on_delivery" \| "click_and_collect" \| null` | Yes | Offline settlement method selected by the buyer, or `null` when none was selected. |
| `paymentStatus` | `OrderPaymentStatus` | No | Payment collection state recorded by the merchant. |
| `status` | `OrderStatus` | No | Overall lifecycle state derived from payment and fulfillment progress. |
| `subtotalCents` | `number` | No | Sum of line subtotals in minor currency units (cents), fixed at placement. |
| `totalCents` | `number` | No | Final order total in minor currency units (cents), fixed at placement. |


---

## `OrderAddress`

*Interface*

Delivery or collection address copied onto an order as a buyer-provided snapshot.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `address1` | `string` | Yes | Primary street-address line. Max 500 characters. |
| `address2` | `string` | Yes | Additional street-address line. Max 500 characters. |
| `addressName` | `string` | Yes | Optional buyer label for the address (e.g. `'Home'`). Max 255 characters. |
| `city` | `string` | Yes | Locality or city. Max 255 characters. |
| `company` | `string` | Yes | Company or organization name. Max 255 characters. |
| `countryCode` | `string` | Yes | ISO 3166-1 alpha-2 country code (e.g. `'FR'`). |
| `firstName` | `string` | Yes | Recipient's given name. Max 255 characters. |
| `lastName` | `string` | Yes | Recipient's family name. Max 255 characters. |
| `phone` | `string` | Yes | Recipient phone number exactly as supplied by the buyer. Max 50 characters. |
| `postalCode` | `string` | Yes | Postal or ZIP code. Max 50 characters. |
| `province` | `string` | Yes | State, province, or region. Max 255 characters. |


---

## `OrderFulfillmentStatus`

*TypeAlias*

Whether the merchant has prepared or handed over the order.

```typescript
type OrderFulfillmentStatus = "unfulfilled" | "fulfilled"
```

---

## `OrderItem`

*Interface*

Immutable snapshot of one cart line at order placement.

Prices and labels never follow later catalogue edits, so this shape is the
buyer's record of what the merchant accepted.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `optionValues` | `OrderItemOptionValue[]` | No | Ordered variant option pairs captured at placement. Empty when the variant has none. |
| `quantity` | `number` | No | Number of units ordered. Integer from 1 to 999. |
| `subtotalCents` | `number` | No | Line total in minor currency units: `unitPriceCents` times `quantity`. |
| `thumbnail` | `string \| null` | Yes | Absolute preview-image URL captured at placement, or `null` when unavailable. |
| `title` | `string` | No | Product title captured when the order was placed. Always non-empty. |
| `unitPriceCents` | `number` | No | Price of one unit in minor currency units (cents), captured at placement. |
| `variantId` | `string \| null` | No | Purchased variant's opaque wire id (prefixed `'var_...'`), or `null` if that catalogue row was later removed. |
| `variantSku` | `string \| null` | Yes | Merchant stock-keeping unit captured at placement, or `null` when unset. |
| `variantTitle` | `string \| null` | Yes | Variant title captured at placement, or `null` when the variant has no title. |


---

## `OrderItemOptionValue`

*Interface*

One option/value pair captured from the purchased variant.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `option` | `string` | No | Option name as the merchant labelled it when the order was placed (e.g. `'Size'`). |
| `value` | `string` | No | Selected option value captured at placement time (e.g. `'M'`). |


---

## `OrderPaymentStatus`

*TypeAlias*

Whether the merchant has recorded collection of the order payment.

```typescript
type OrderPaymentStatus = "pending" | "paid"
```

---

## `OrderStatus`

*TypeAlias*

The order's overall lifecycle state.

```typescript
type OrderStatus = "pending" | "confirmed" | "completed" | "cancelled"
```

---

## `PlaceOrderInput`

*Interface*

Buyer-controlled fields accepted when completing the current cart.

| Property | Type | Optional | Description |
| --- | --- | --- | --- |
| `address` | `OrderAddress` | Yes | Optional delivery or collection address snapshot. |
| `cartToken` | `string` | Yes | Guest cart token to send instead of the token held by CartService.<br>Omit it for the usual `cart.addLine()` then `checkout.placeOrder()` flow. |
| `contact` | `{ name?: string; phone?: string }` | Yes | Optional contact snapshot captured on the order. |
| `email` | `string` | Yes | Guest confirmation email. Required when the client has no authenticated customer session. |
| `paymentMethod` | `"on_site" \| "cash_on_delivery" \| "click_and_collect"` | Yes | Offline settlement method selected by the buyer. |