---
displayed_sidebar: servicesSidebar
---

import ParameterTypes from "@site/src/components/ParameterTypes"

# Order

An order is a purchase made by a customer. It holds details about payment and fulfillment of the order. An order may also be created from a draft order, which is created by an admin user.

## Constructors

### constructor

`**new Order**()`

An order is a purchase made by a customer. It holds details about payment and fulfillment of the order. An order may also be created from a draft order, which is created by an admin user.

## Properties

<ParameterTypes parameters={[
  {
    "name": "billing_address",
    "type": "[Address](Address.mdx)",
    "description": "The details of the billing address associated with the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "billing_address_id",
    "type": "`string`",
    "description": "The ID of the billing address associated with the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "canceled_at",
    "type": "`Date`",
    "description": "The date the order was canceled on.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "cart",
    "type": "[Cart](Cart.mdx)",
    "description": "The details of the cart associated with the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "cart_id",
    "type": "`string`",
    "description": "The ID of the cart associated with the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "claims",
    "type": "[ClaimOrder](ClaimOrder.mdx)[]",
    "description": "The details of the claims created for the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "created_at",
    "type": "`Date`",
    "description": "The date with timezone at which the resource was created.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "currency",
    "type": "[Currency](Currency.mdx)",
    "description": "The details of the currency used in the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "currency_code",
    "type": "`string`",
    "description": "The 3 character currency code that is used in the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "customer",
    "type": "[Customer](Customer.mdx)",
    "description": "The details of the customer associated with the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "customer_id",
    "type": "`string`",
    "description": "The ID of the customer associated with the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "discount_total",
    "type": "`number`",
    "description": "The total of discount rounded",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "discounts",
    "type": "[Discount](Discount.mdx)[]",
    "description": "The details of the discounts applied on the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "display_id",
    "type": "`number`",
    "description": "The order's display ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "draft_order",
    "type": "[DraftOrder](DraftOrder.mdx)",
    "description": "The details of the draft order this order was created from.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "draft_order_id",
    "type": "`string`",
    "description": "The ID of the draft order this order was created from.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "edits",
    "type": "[OrderEdit](OrderEdit.mdx)[]",
    "description": "The details of the order edits done on the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "email",
    "type": "`string`",
    "description": "The email associated with the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "external_id",
    "type": "`null` \\| `string`",
    "description": "The ID of an external order.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "fulfillment_status",
    "type": "[FulfillmentStatus](../enums/FulfillmentStatus.mdx)",
    "description": "The order's fulfillment status",
    "optional": false,
    "defaultValue": "not_fulfilled",
    "expandable": false,
    "children": []
  },
  {
    "name": "fulfillments",
    "type": "[Fulfillment](Fulfillment.mdx)[]",
    "description": "The details of the fulfillments created for the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "gift_card_tax_total",
    "type": "`number`",
    "description": "The total of gift cards with taxes",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "gift_card_total",
    "type": "`number`",
    "description": "The total of gift cards",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "gift_card_transactions",
    "type": "[GiftCardTransaction](GiftCardTransaction.mdx)[]",
    "description": "The gift card transactions made in the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "gift_cards",
    "type": "[GiftCard](GiftCard.mdx)[]",
    "description": "The details of the gift card used in the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "id",
    "type": "`string`",
    "description": "The order's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "idempotency_key",
    "type": "`string`",
    "description": "Randomly generated key used to continue the processing of the order in case of failure.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "item_tax_total",
    "type": "`null` \\| `number`",
    "description": "The tax total applied on items",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "items",
    "type": "[LineItem](LineItem.mdx)[]",
    "description": "The details of the line items that belong to the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "metadata",
    "type": "`Record<string, unknown>`",
    "description": "An optional key-value map with additional details",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "no_notification",
    "type": "`boolean`",
    "description": "Flag for describing whether or not notifications related to this should be send.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "object",
    "type": "`\"order\"`",
    "description": "",
    "optional": false,
    "defaultValue": "\"order\"",
    "expandable": false,
    "children": []
  },
  {
    "name": "paid_total",
    "type": "`number`",
    "description": "The total amount paid",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "payment_status",
    "type": "[PaymentStatus](../enums/PaymentStatus.mdx)",
    "description": "The order's payment status",
    "optional": false,
    "defaultValue": "not_paid",
    "expandable": false,
    "children": []
  },
  {
    "name": "payments",
    "type": "[Payment](Payment.mdx)[]",
    "description": "The details of the payments used in the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "raw_discount_total",
    "type": "`number`",
    "description": "The total of discount",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "refundable_amount",
    "type": "`number`",
    "description": "The amount that can be refunded",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "refunded_total",
    "type": "`number`",
    "description": "The total amount refunded if the order is returned.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "refunds",
    "type": "[Refund](Refund.mdx)[]",
    "description": "The details of the refunds created for the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "region",
    "type": "[Region](Region.mdx)",
    "description": "The details of the region this order was created in.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "region_id",
    "type": "`string`",
    "description": "The ID of the region this order was created in.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "returnable_items",
    "type": "[LineItem](LineItem.mdx)[]",
    "description": "The details of the line items that are returnable as part of the order, swaps, or claims",
    "optional": true,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "returns",
    "type": "[Return](Return.mdx)[]",
    "description": "The details of the returns created for the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "sales_channel",
    "type": "[SalesChannel](SalesChannel.mdx)",
    "description": "The details of the sales channel this order belongs to.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "sales_channel_id",
    "type": "`null` \\| `string`",
    "description": "The ID of the sales channel this order belongs to.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "shipping_address",
    "type": "[Address](Address.mdx)",
    "description": "The details of the shipping address associated with the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "shipping_address_id",
    "type": "`string`",
    "description": "The ID of the shipping address associated with the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "shipping_methods",
    "type": "[ShippingMethod](ShippingMethod.mdx)[]",
    "description": "The details of the shipping methods used in the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "shipping_tax_total",
    "type": "`null` \\| `number`",
    "description": "The tax total applied on shipping",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "shipping_total",
    "type": "`number`",
    "description": "The total of shipping",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "status",
    "type": "[OrderStatus](../enums/OrderStatus.mdx)",
    "description": "The order's status",
    "optional": false,
    "defaultValue": "pending",
    "expandable": false,
    "children": []
  },
  {
    "name": "subtotal",
    "type": "`number`",
    "description": "The subtotal of the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "swaps",
    "type": "[Swap](Swap.mdx)[]",
    "description": "The details of the swaps created for the order.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": []
  },
  {
    "name": "tax_rate",
    "type": "`null` \\| `number`",
    "description": "The order's tax rate",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "tax_total",
    "type": "`null` \\| `number`",
    "description": "The total of tax",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "total",
    "type": "`number`",
    "description": "The total amount of the order",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "updated_at",
    "type": "`Date`",
    "description": "The date with timezone at which the resource was updated.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  }
]} />

## Methods

### beforeInsert

`Private **beforeInsert**(): Promise&#60;void&#62;`

#### Returns

Promise&#60;void&#62;

<ParameterTypes parameters={[
  {
    "name": "Promise",
    "type": "Promise&#60;void&#62;",
    "optional": false,
    "defaultValue": "",
    "description": "",
    "expandable": false,
    "children": []
  }
]} />
