# The order model

Source: https://developers.swell.is/backend-api/orders/the-order-model

## Fields

- `id` (objectId): Unique identifier for the order.
- `account_id` (objectId, required): The `id` of the customer's account. During checkout, customer accounts without a password are designated as `guest=true`.
- `account` (Account): Expandable link to the customer's account.
- `account_credit_amount` (currency): Amount of customer's account credit applied for initial payment, if applicable.
- `account_credit_applied` (boolean): Indicates the customer’s account credit is applied when submitting the order.
- `account_info_saved` (boolean): Indicates the customer chose to save shipping and billing information to their account when submitting the order.
- `account_logged_in` (boolean): Indicates the customer was logged into their account when placing the order.
- `authorized_payment` (Payment): Expandable link to an authorized payment.
- `authorized_payment_id` (string, auto): The id of an authorized payment. When "Require payment authorization" is enabled in payment settings, the order will be rejected if initial payment fails.
- `billing` (object): The customer's billing details. Defaults to `account.billing`. Updating billing will also update the corresponding account billing object.
  - `name` (string): Billing full name. If `first_name` or `last_name` are updated, then `name` will be automatically updated as a combination of first/last.
  - `first_name` (string): Billing first name. If `name` is updated, then `first_name` will be automatically updated as the first word of the name.
  - `last_name` (string): Billing last name. If `name` is updated, then `last_name` will be automatically updated as the last words of the name.
  - `address1` (string): Billing address line 1: street address/PO box/company name.
  - `address2` (string): Billing address line 2: apartment/suite/unit/building.
  - `city` (string): Billing city/district/suburb/town/village.
  - `convesiopay` (object): ConvesioPay payment details.
    - `return_url` (string): URL the customer returns to after completing the ConvesioPay payment flow.
  - `state` (string): Billing state/county/province/region.
  - `vat_number` (string): VAT number associated with the billing address, if applicable.
  - `zip` (string): Billing zip/postal code.
  - `country` (string): Two-letter ISO country code.
  - `phone` (string): Billing phone number.
  - `method` (string): Method of payment. Can be `card`, `account`, `amazon`, `paypal`, or any one of the manual methods defined in payment settings.
  - `card` (object): Credit card billing details used when `billing.method=card`.
    - `token` (string, required): Token generated by Swell Checkout or [Stripe.js](https://stripe.com/docs/stripe-js/reference).
    - `exp_month` (int): Two-digit number representing the credit card expiration month.
    - `exp_year` (int): Four-digit number representing the credit card expiration year.
    - `brand` (string): Credit card brand. Can be `American Express`, `Diners Club`, `Discover`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`.
    - `display_brand` (string): Brand of the card displayed to the customer, if different from the underlying brand (for example, co-branded cards).
    - `last4` (string): Last four digits of the card number.
    - `gateway` (string): ID of the payment gateway that should be used to process payments.
    - `test` (boolean): Indicates this is a test card.
    - `address_check` (string): When used with a payment gateway that performs address checks and `address1` was provided, can be `pass`, `fail`, `unavailable`, or `unchecked`.
    - `zip_check` (string): When used with a payment gateway that performs address checks and `zip` was provided, can be `pass`, `fail`, `unavailable`, or `unchecked`.
    - `cvc_check` (string): When used with a payment gateway that performs CVC code checks and `cvc` was provided, can be `pass`, `fail`, `unavailable`, or `unchecked`.
  - `default` (boolean): Indicates billing details represent the customer's default payment method.
  - `account_card_id` (objectId): ID of the customer's credit card on file, if applicable.
  - `account_card` (account_card): Expandable link to the customer's credit card on file, if applicable.
  - `amazon` (object): Amazon billing details used when `billing.method=amazon`.
    - `access_token` (string): Amazon access token provided when a customer authorizes payment in a storefront.
    - `order_reference_id` (string): Amazon order reference ID created when a customer initiates payment in a storefront.
    - `checkout_session_id` (string)
  - `paypal` (object): PayPal billing details used when `billing.method=paypal`.
    - `payer_id` (string): PayPal payer ID provided when a customer authorizes payment in a storefront.
    - `payment_id` (string): PayPal payment ID created when a customer initiates payment in a storefront.
    - `order_id` (string)
  - `intent` (object): Stores the necessary information about the payment. This is typically the payment ID returned by the gateway after payment is initialized.
  - `affirm` (object): Affirm billing details used when `billing.method=affirm`.
    - `checkout_token` (string): Token used to communicate payment information to the gateway.
  - `resolve` (object): Resolve billing details used when `billing.method=resolve`.
    - `charge_id` (string): Charge ID returned by the payment gateway for the payment.
  - `sezzle` (object): Sezzle payment details.
    - `order_uuid` (string): Unique ID of the Sezzle order.
  - `klarna` (object): Klarna billing details used when `billing.method=klarna`.
    - `source` (string): Payment information returned by the gateway during payment initialization.
  - `ideal` (object): Ideal billing details used when `billing.method=ideal`.
    - `token` (string): Token used to communicate payment information to the gateway.
  - `bancontact` (object): Bancontact billing details used when `billing.method=bancontact`.
    - `source` (string): Payment information returned by the gateway during payment initialization.
  - `google` (object): Google Pay billing details used when `billing.method=google`.
    - `nonce` (string): One-time use reference element used to communicate payment information to a payment gateway.
    - `gateway` (string): Gateway used to facilitate the transaction. For example, `gateway=braintree`.
  - `apple` (object): Apple Pay billing details used when `billing.method=apple`.
    - `nonce` (string): One-time use reference element used to communicate payment information to a payment gateway.
    - `gateway` (string): Gateway used to facilitate the transaction. For example, `gateway=braintree`.
  - `instructions` (string)
- `cancel_reason` (string): A message describing the reason for cancelling the order, if applicable.
- `canceled` (boolean): Indicates the order was completely canceled.
- `cart` (Cart): Expandable link to the cart.
- `cart_id` (objectId, auto): ID of the cart that converted to this order, if applicable.
- `closed` (boolean): Indicates the order is closed. Default: `false`.
- `comments` (string): Customer notes provided when placing the order, if any.
- `coupon` (Coupon): Expandable link to the coupon applied to the order.
- `coupon_code` (string): [Coupon](https://developers.swell.is/backend-api/coupons) code applied to the order.
- `coupon_id` (objectId): ID of the coupon applied to the order.
- `credit_total` (currency): Total amount of additional credit applied to the order.
- `credits` (Credit memo): Expandable list of account credit transactions. Balance of these transactions is kept in `balance`.
- `currency` (string): Three-letter ISO currency code in uppercase. Defaults to the store's base currency.
- `currency_rate` (float): Currency percentage used in calculating the fixed amount.
- `location` (string): Location to purchase products from, when using multi-location inventory.
- `date_canceled` (date): Date the order was canceled, if applicable.
- `date_created` (date, auto): Date and time the order was created.
- `date_payment_retry` (date): When automated payment has failed, this is the date when the system will automatically retry.
- `date_period_end` (date, auto): Period end date applicable when the order was created from a `subscription`.
- `date_period_start` (date, auto): Period start date applicable when the order was created from a `subscription`.
- `date_scheduled` (date): Scheduled date for the order.
- `date_updated` (date, auto): Date and time the order was last updated.
- `date_webhook_first_failed` (date, auto): Date the order webhook first failed, if applicable. Value is unset after an order webhook is successfully returned for the record.
- `date_webhook_last_succeeded` (date): Date the order webhook last succeeded, if applicable. Value is unset after an order webhook fails to return for the record.
- `delivered` (boolean, auto): Indicates the order was completely fulfilled. Always `true` when `delivery_marked=true`, otherwise depends on the sum of `shipments`, `giftcards`, and `subscriptions`. Default: `false`.
- `delivery_marked` (boolean): Indicates the order was marked as fulfilled, manually or automatically.
- `discount_total` (currency, auto): Total discount amount.
- `discounts` (array of object): List of discounts applied to the order.
  - `id` (string): Unique identifier for the object.
  - `amount` (currency): Fixed discount amount.
  - `type` (string): Type of discount. Can be `coupon` or `promo-<id>` referring to the source of the discount. Custom discounts don't require this value.
  - `rule` (object): Object describing the discount rule details. Custom discounts don't require this value.
  - `source_id` (objectId): ID of the source object that generated the discount, such as a coupon or promotion.
- `display_currency` (string): Three-letter ISO currency code representing the user's preferred display currency, if applicable.
- `display_locale` (string): Locale code representing the user's preferred display locale, if applicable.
- `gift` (boolean): Indicates the order is intended as a gift for the recipient.
- `gift_message` (string): Optional message to include with the order when shipping to the recipient.
- `giftcard_delivery` (boolean): Indicates the order has at least one line item with `delivery=giftcard`.
- `giftcard_total` (currency): Total payment amount applied to the order from `giftcards`.
- `giftcards` (array of object): List of gift cards applied to the order.
  - `id` (objectId): Unique identifier for the object.
  - `amount` (currency): Amount of the gift card balance to spend for initial payment. If not specified, each gift cards will be spent in order until payment is completed.`
  - `code` (string): Gift card code to apply. A validation error will be returned if the code is not valid.
  - `code_formatted` (string): Fully formatted gift card code for display purposes.
  - `last4` (string): Last four digits of the gift card code.
  - `giftcard` (giftcard): Expandable link to the gift card record.
- `grand_total` (currency, auto): Grand total including items, shipping and taxes.
- `trial_grand_total` (currency): Grand total of items with a trial period, charged when their trials end.
- `guest` (boolean): Indicates the customer was not logged in when placing the order. Default: `{"$formula":"or(cart.guest, not(account_logged_in))"}`.
- `hold` (boolean): Indicates the order was placed on hold. Default: `false`.
- `invoices` (Invoice): Expandable link to the invoice the payment was applied to, if applicable.
- `item_discount` (currency, auto): Total discount applied to line items.
- `trial_item_discount` (currency): Total discount applied to items with a trial period.
- `item_quantity` (int, auto): Total quantity of all line items.
- `item_quantity_cancelable` (int): Total quantity of cancelable items on the order.
- `item_quantity_canceled` (int, auto): Total quantity of line items canceled.
- `item_quantity_creditable` (int): Total quantity of line items that can be credited.
- `item_quantity_credited` (int): Total quantity of items credited on the order.
- `item_quantity_deliverable` (int, auto): Total quantity of line items that can be fulfilled.
- `item_quantity_delivered` (int, auto): Total quantity of line items that have been fulfilled.
- `item_quantity_giftcard_deliverable` (int, auto): Total quantity of line items that can be fulfilled by gift card. Applies when `item.delivery=giftcard`.
- `item_quantity_invoiceable` (int): Total quantity of items eligible for invoicing on the order.
- `item_quantity_invoiced` (int): Total quantity of items invoiced on the order.
- `item_quantity_returnable` (int, auto): Total quantity of line items that can still be returned.
- `item_quantity_returned` (int, auto): Total quantity of line items that have been returned.
- `item_quantity_shipment_deliverable` (int, auto): Total quantity of line items that can be fulfilled by shipment. Applies when `item.delivery=shipment`.
- `item_quantity_subscription_deliverable` (int, auto): Total quantity of line items that can be fulfilled by subscription. Applies when `item.delivery=subscription`.
- `item_shipment_weight` (float): Total shipping weight of all line items.
- `item_tax` (currency, auto): Total taxes applied to line items.
- `trial_item_tax` (currency): Total tax applied to items with a trial period.
- `item_tax_included` (boolean): Indicates line item prices include taxes.
- `items` (array of object): List of line items describing the products ordered.
  - `id` (objectId, auto): Unique identifier for the item.
  - `location` (string): Location the item is fulfilled from, when using multi-location inventory.
  - `location_selected` (string): Location explicitly selected for the item, when using multi-location inventory.
  - `bundle_items` (array of object): List of items offered as a bundle. Defaults to `product.bundle_items`.
    - `id` (objectId, auto): Unique identifier for the object.
    - `product_id` (objectId, required): ID of the bundle item product.
    - `delivery` (enum): Method of delivery taken automatically from `product.delivery`. Possible values: `shipment`, `giftcard`, `subscription`.
    - `options` (array of object): Item options matching one or more of `product.options`. When adding to the order, you can specify either the option `id` or `name` (case-insensitive) to identify the option.

      Subscription products have three special options that are used when fulfilling subscriptions. Use the option ID `subscription_interval` with a value of `daily`, `weekly`, `monthly`, `yearly`, and `subscription_interval_count` with an integer value used as a multiplier of the interval (defaults to 1), and `subscription_trial_days` to indicate the number of days the subscription should be in trial status after being created.

      Gift card products have two special options that can be used when fulfilling gift cards by email. Use the option ID `send_email` and value as the recipient email address, and `send_note` as a custom message from the customer to the recipient sent by email.
      - `id` (string): Unique identifier for the object.
      - `name` (string): Name of the product option. Populated automatically when adding an option by ID.
      - `price` (currency): Additional price added onto the base price of the product.
      - `shipment_weight` (float): Additional shipping weight added onto the base weight of the product.
      - `value` (string): Name value of the product option. When adding to the order, specify either the product option value `id` or `name` (case-insensitive) to identify the value.
      - `variant` (boolean): Indicates the option refers to a variant aspect.
      - `value_id` (objectId): ID of the associated value.
      - `location` (string): Location associated with the option value, when using multi-location inventory.
    - `product` (product): Expandable link to the bundle item product.
    - `quantity` (int): Quantity of the bundle item being ordered. Defaults to 1. Default: `1`.
    - `quantity_canceled` (int): Quantity of the bundle item canceled before fulfillment, if applicable. Default: `0`.
    - `quantity_consumed` (int): Quantity of stock consumed by the bundle item, if applicable.
    - `quantity_deliverable` (int): Quantity of the bundle item that can be fulfilled, if applicable.
    - `quantity_delivered` (int): Quantity of the bundle item that has been fulfilled, if applicable. Default: `0`.
    - `quantity_giftcard_deliverable` (int): Quantity of the bundle item that can be fulfilled by a gift card. Applies when `delivery=giftcard`.
    - `quantity_restocked` (int): Quantity of the bundle item that has been restocked after a return, if applicable.
    - `quantity_returnable` (int): Quantity of the bundle item that can still be returned after fulfillment, if applicable.
    - `quantity_returned` (int): Total quantity of bundle items that have been returned.
    - `quantity_shipment_deliverable` (int): Quantity of the bundle item that can be fulfilled by a shipment. Applies when `delivery=shipment`.
    - `quantity_total` (int): Total quantity of the bundle item to be fulfilled, calculated as `item.quantity * bundle_item.quantity`.
    - `shipment_weight` (float): Shipping weight taken automatically from `product.shipment_weight`, if applicable.
    - `return_price_total` (currency): Total price of returned units of the bundle item.
    - `return_discount_total` (currency): Total discount of returned units of the bundle item.
    - `return_tax_total` (currency): Total tax of returned units of the bundle item.
    - `stock_tracking` (boolean): Indicates whether the bundle item has stock tracking enabled.
    - `variant_id` (objectId): ID of the bundle item variant.
    - `variant_name` (string): Name of the variant.
    - `variant` (variant): Expandable link to the bundle item variant.
    - `quantity_shipment_delivered` (int): Quantity of shipments that have been delivered.
    - `product_name` (string): This field is a copy of the item's `product.name`. Default: `{"$formula":"if(product_id, product.name, null)"}`.
    - `price` (currency): Price of the bundle item.
    - `discount_each` (currency): Discount amount applied to each unit of the bundle item.
    - `tax_each` (currency): Tax amount applied to each unit of the bundle item.
    - `amount_ratio` (float): Ratio of the bundle price allocated to this item.
  - `delivery` (enum): Method of delivery taken automatically from `product.delivery`. Possible values: `shipment`, `giftcard`, `subscription`.
  - `description` (string): Description used for custom line items, when product is not defined.
  - `discount_each` (currency): Total discount amount divided by quantity.
  - `discount_total` (currency): Total discount applied to the item.
  - `discounts` (array of object): List of discounts applied to the item by [coupons](https://developers.swell.is/backend-api/coupons/the-coupon-model), [promotions](https://developers.swell.is/backend-api/promotions/the-promotion-model), or custom logic.
    - `id` (string): Unique identifier for the object. Refers to one of the IDs in the order `discounts` object.
    - `amount` (currency): Fixed discount amount.
  - `metadata` (object): Arbitrary item data, typically set in a checkout flow to store custom values. See [Storefront API](https://developers.swell.is/frontend-api/introduction) for details.
  - `options` (array of object): Item options matching one or more of `product.options`. When adding to the order, you can specify either the option `id` or `name` (case-insensitive) to identify the option.

    Subscription products have three special options that are used when fulfilling subscriptions. Use the option ID `subscription_interval` with a value of `daily`, `weekly`, `monthly`, `yearly`, and `subscription_interval_count` with an integer value used as a multiplier of the interval (defaults to 1), and `subscription_trial_days` to indicate the number of days the subscription should be in trial status after being created.

    Gift card products have two special options that can be used when fulfilling gift cards by email. Use the option ID `send_email` and value as the recipient email address, and `send_note` as a custom message from the customer to the recipient sent by email.
    - `id` (string): Unique identifier for the object.
    - `name` (string): Name of the product option. Populated automatically when adding an option by ID.
    - `price` (currency): Additional price added onto the base price of the product.
    - `shipment_weight` (float): Additional shipping weight added onto the base weight of the product.
    - `value` (string): Name value of the product option. When adding to the order, specify either the product option value `id` or `name` (case-insensitive) to identify the value.
    - `variant` (boolean): Indicates the option refers to a variant aspect.
    - `value_id` (objectId): ID of the associated value.
  - `orig_price` (currency): Original item price used internally to determine if the item price was overridden and should be automatically updated when item options are changed.
  - `price` (currency): Price of the item. If a product price is reduced by a sale or price rule, this would be set to the reduced price automatically. Also, item price can be overridden when adding to an order. Line item prices don't change unless explicitly edited by a store admin. Default: `{"$formula":"if(product_id, product.price)"}`.
  - `price_total` (currency): Total price added to sub total by multiplying `quantity` and `price`.
  - `product_id` (objectId): ID of the item product.
  - `product` (product): Expandable link to the item product.
  - `product_name` (string): Name of the product. Default: `{"$formula":"if(product_id, product.name, null)"}`.
  - `quantity` (int): Quantity of the item being ordered. Defaults to 1. Default: `1`.
  - `quantity_canceled` (int): Quantity of the item canceled before fulfillment, if applicable. Default: `0`.
  - `quantity_consumed` (int): Quantity of stock consumed by the item, if applicable.
  - `quantity_deliverable` (int): Quantity of the item that can be fulfilled, if applicable.
  - `quantity_delivered` (int): Quantity of the item that has been fulfilled, if applicable. Default: `0`.
  - `quantity_giftcard_deliverable` (int): Quantity of the item that can be fulfilled by a gift card. Applies when `delivery=giftcard`.
  - `quantity_restocked` (int): Quantity of the item that has been restocked after a return, if applicable.
  - `quantity_returnable` (int): Quantity of the item that can still be returned after fulfillment, if applicable.
  - `quantity_returned` (int): Quantity of the item that has been returned after fulfillment, if applicable.
  - `quantity_shipment_deliverable` (int): Quantity of the item that can be fulfilled by a shipment. Applies when `delivery=shipment`.
  - `quantity_subscription_deliverable` (int): Quantity of the item that can be fulfilled by a subscription. Applies when `delivery=subscription`.
  - `shipment_location` (string): ID of location from `/settings/shipping/locations`. If specified, shipping is calculated from this location. Otherwise, the store's default location will be used.
  - `shipment_weight` (float): Shipping weight taken automatically from `product.shipment_weight`, if applicable.
  - `stock_tracking` (boolean): Indicates whether the item has stock tracking enabled.
  - `subscription_paid` (boolean): Indicates the item has been fulfilled as a [subscription](https://developers.swell.is/backend-api/subscriptions/the-subscription-model) and marked as `paid by reference to this order.`
  - `tax_each` (currency): Total tax amount divided by quantity.
  - `tax_total` (currency): Total tax applied to the item.
  - `trial` (boolean): Indicates the item has a trial period.
  - `trial_price_total` (currency): Total price of the item during its trial period, charged when the trial ends.
  - `trial_discount_total` (currency): Total discount applied to the item's trial price.
  - `trial_tax_total` (currency): Total tax applied to the item's trial price.
  - `taxes` (array of object): List of tax rules applied to the item based on tax settings or custom logic.
    - `id` (string): Unique identifier for the object. Refers to one of the IDs in the order `taxes` object.
    - `amount` (currency): Fixed tax amount.
  - `variant_id` (objectId): ID of the item variant, if applicable.
  - `variant_name` (string): Name of the variant.
  - `variant` (variant): Expandable link to the item variant, if applicable.
- `metadata` (object): Arbitrary data, typically set in a checkout flow to store custom values. See [Frontend API](https://developers.swell.is/frontend-api/introduction) for details.
- `next` (Order): If `next_id` is set by the customer, `next` will link to the order with the given `next_id`.
- `next_id` (objectId): This never gets set by Swell. A customer must explicitly set this field to a particular order ID.
- `notes` (string): Internal admin notes, not visible to the customer. This field holds a single block of text. To record a series of notes against the order, each attributed to a user, see [Notes](https://developers.swell.is/backend-api/notes).
- `notifications` (Notification): Expandable list of notifications sent on behalf of the order.
- `number` (string, auto): Unique incremental order number, assigned automatically using a format configured in general settings.
- `paid` (boolean, auto): Indicates the order was paid in full. Always `true` when `payment_marked=true`, otherwise depends on the sum of `payments`. Default: `false`.
- `parent` (Order): Expandable link to the parent order.
- `parent_id` (objectId): ID of the parent order.
- `payment_balance` (currency, auto): Balance of payments. A negative number indicates payment is owed, a positive balance indicates a refund is due, and a zero balance indicates fully paid.
- `payment_error` (string): A message describing the last payment error, if one occurred.
- `payment_marked` (boolean): Indicates the order was marked as paid, manually or automatically.
- `payment_retry_count` (int): The number of times automatic payment has been attempted.
- `payment_retry_resolve` (string): The method used to resolve automatic payment when all retry attempts are exhausted. Can be blank (do nothing), `canceled`, or `unpaid`.
- `payment_total` (currency): Sum of payments applied to the order, not including refunds. Default: `0`.
- `payments` (Payment): Expandable list of payments applied to the order.
- `pending_invoices` (Invoice): Expandable list of invoices that haven't been fully paid.
- `prev` (Order): If `prev_id` is set by the customer, `prev` will link to the order with the given `prev_id`.
- `prev_id` (objectId): This never gets set by Swell. A customer must explicitly set this field to a particular order ID.
- `promotion_ids` (array of child_scalar): List of promotion IDs applied to the order.
- `promotions` (Promotion): Expandable list of promotions applied to the order.
- `refund_marked` (boolean): Indicates the order was marked as refunded, manually or automatically.
- `refund_total` (currency): Sum of refunds on payments applied to the order. Default: `0`.
- `refunded` (boolean, auto): Indicates the order was fully refunded. Always `true` when `refund_marked=true`, otherwise depends on the sum of `refunds`. Default: `false`.
- `refunds` (Refund): Expandable list of refunds applied to the order.
- `return_credit_tax` (currency): Total additional credit tax applied to the order from returns, if applicable
- `return_credit_total` (currency): Total additional credit amount applied to the order from returns.
- `return_item_tax` (currency, auto): Total tax amount of items returned.
- `return_item_tax_included` (currency, auto): Total tax included amount of items returned, separate from line item values.
- `return_item_total` (currency, auto): Total amount of items returned, minus discounts.
- `return_total` (currency): Grand total amount applied to the order from returns.
- `schedule` (object): Scheduling for recurring orders.
  - `interval` (enum): Recurring order interval, if applicable. Can be `monthly`, `daily`, `weekly`, or `yearly`. Possible values: `monthly`, `daily`, `weekly`, `yearly`.
  - `interval_count` (int): Multiplier for billing interval. For example, to make the subscription charge once every two weeks, set `interval=weekly` and `interval_count=2.`
- `shipment_delivery` (boolean): Indicates the order has at least one line item with `delivery=shipment`.
- `shipment_discount` (currency): Shipping discount applied by [coupons](https://developers.swell.is/backend-api/coupons), [promotions](https://developers.swell.is/backend-api/promotions), or custom logic.
- `shipment_price` (currency, auto): Total shipping price before discounts.
- `shipment_rating` (object, auto): Object describing the shipping services and rates available for the order. Shipping `country` must be set before retrieving shipping rates.
  - `date_created` (date, auto): Date and time the object was created.
  - `errors` (array of object): List of errors generated while retrieving rates, if any. When using third-party shipping services, any system errors will be listed here.
    - `code` (string): Unique code describing the error.
    - `message` (string): Message describing the error.
  - `fingerprint` (string): Unique fingerprint identifying the parameters used to calculate shipping rates. Rates should always be the same given the same parameters and shipping settings.
  - `services` (array of object): List of shipping services and rates available.
    - `id` (string): Unique identifier for the object.
    - `carrier` (string): Name of a third-party carrier offering the service, if applicable.
    - `name` (string): Name of the shipping service.
    - `price` (currency): Price of the shipping service.
    - `pickup` (boolean): Indicates whether shipping service is local pick-up.
    - `extension_app_id` (objectId): ID of the app that provided the shipping rate through a shipping extension, if applicable.
    - `extension_config_id` (string): ID of the extension configuration that provided the shipping rate, if applicable.
- `shipment_tax` (currency): Shipping tax amount, if applicable.
- `shipment_tax_included` (boolean): Indicates shipping total includes taxes, if applicable.
- `shipment_tax_included_total` (currency, auto): Total shipping price including taxes and discount. Allows for an alternate display style as normally `shipment_total` and `tax_total` are shown separately.
- `shipment_total` (currency, auto): Total shipping price after discounts.
- `shipment_total_credited` (currency): Total shipping price for items credited on the order.
- `shipments` (Shipment): Expandable list of shipments created from the order.
- `shipping` (object): The customer's shipping details. Defaults to `account.shipping`. Updating shipping will also update the corresponding account shipping object.
  - `name` (string): Shipping full name. If `first_name` or `last_name` are updated, then `name` will be automatically updated as a combination of first/last.
  - `first_name` (string): Shipping first name. If `name` is updated, then `first_name` will be automatically updated as the first word of the name.
  - `last_name` (string): Shipping last name. If `name` is updated, then `last_name` will be automatically updated as the last words of the name.
  - `address1` (string): Shipping address line 1: street address/PO box/company name.
  - `address2` (string): Shipping address line 2: apartment/suite/unit/building.
  - `city` (string): Shipping city/district/suburb/town/village.
  - `state` (string): Shipping state/county/province/region.
  - `tax_id` (string): Tax identification number of the recipient, where required for customs or delivery.
  - `zip` (string): Shipping zip/postal code.
  - `country` (string): Two-letter ISO country code.
  - `phone` (string): Shipping phone number.
  - `service` (string): ID of a shipping service as configured in shipment settings. Normally, this would be applied after [retrieving shipping rates](https://developers.swell.is/backend-api/shipments/retrieve-a-shipment) by using one of the `shipment_rating.services.id` values.
  - `service_name` (string): Name of the shipping service. Defaults to `shipment_rating.services.name` chosen by setting `service`.
  - `price` (currency): Price of the shipping service. Defaults to `shipment_rating.services.price` chosen by setting `service`.
  - `default` (boolean): Indicates shipping details represent the customer's default shipping address.
  - `account_address_id` (objectId): ID of the customer's address on file.
  - `account_address` (account_address): Expandable link to the customer's address on file.
  - `pickup` (boolean): Indicates whether shipping for local pick-up.
- `status` (enum, auto): Current status of the order. Can be `pending`, `draft`, `payment_pending`, `delivery_pending`, `hold`, `complete`, or `canceled`. Possible values: `pending`, `draft`, `payment_pending`, `delivery_pending`, `hold`, `complete`, `canceled`. Default: `"pending"`.
- `sub_total` (currency, auto): Sum of all line items before discounts, taxes and shipping.
- `trial_sub_total` (currency): Subtotal of items with a trial period, charged when their trials end.
- `subscription` (Subscription): Expandable link to the subscription that spawned the order, if applicable.
- `subscription_delivery` (boolean): Indicates the order has at least one line item with `delivery=subscription`.
- `subscription_id` (objectId, auto): ID of the subscription that spawned the order, if applicable.
- `tax_included_total` (currency, auto): Total of taxes applied separately from line items.
- `trial_tax_included_total` (currency): Total of items with a trial period including taxes, if applicable.
- `tax_total` (currency, auto): Total tax amount applied to the order including line items and shipping.
- `taxes` (array of object): List of taxes applied to the order.
  - `id` (string): Unique identifier for the object.
  - `amount` (currency): Fixed tax amount.
  - `name` (string): Name of the tax rule. For example "NY Sales Tax".
  - `priority` (int): Priority indicates the order in which a tax rule was applied. Higher priority rules are added on top of other tax rules with a lower priority. Rules with the same priority are calculated excluding each other.
  - `extension_app_id` (objectId): ID of the app that provided the tax calculation through a tax extension, if applicable.
  - `extension_config_id` (string): ID of the extension configuration that provided the tax calculation, if applicable.
  - `rate` (float): Tax percentage used in calculating the fixed amount.
  - `shipping` (boolean): Indicates the tax applies to shipping.
- `taxes_fixed` (boolean): Indicates the order is tax-exempt. Taxes will not be calculated or applied when true.
- `test` (boolean): Indicates the order was made in test mode.
- `trial` (boolean): Indicates the order contains at least one item with a trial period.
- `webhook_attempts_failed` (int, auto): Number of failed order webhook attempts, if applicable. Value is unset after an order webhook is successfully returned for the record.
- `webhook_response` (string, auto): Text response of the last failed order webhook attempt, if applicable. Value is unset after an order webhook is successfully returned for the record.
- `webhook_status` (int, auto): HTTP response status of the last failed order webhook attempt, if applicable. Value is unset after an order webhook is successfully returned for the record.

## Example response

```json
{
  "cart_id": "62bc6389912a9800199ea43a",
  "draft": false,
  "test": true,
  "items": [
    {
      "product_id": "628ba3c7499bba0019b1a961",
      "quantity": 1,
      "price": 25,
      "purchase_option": {
        "type": "standard",
        "price": 25
      },
      "id": "62bc63892fafef0019eb2312",
      "orig_price": 25,
      "delivery": "shipment",
      "shipment_weight": 0,
      "price_total": 25,
      "discount_total": 3.75,
      "discount_each": 3.75,
      "tax_total": 0,
      "tax_each": 0,
      "discounts": [
        {
          "id": "promo-62bc63e193cb7c0019423b6e-0",
          "amount": 3.75
        }
      ],
      "product_name": "Mannimarco, King of Worms",
      "quantity_total": 1,
      "quantity_invoiceable": 1,
      "quantity_creditable": 1,
      "quantity_cancelable": 0,
      "quantity_deliverable": 0,
      "quantity_shipment_deliverable": 0,
      "quantity_canceled": 0,
      "quantity_delivered": 1,
      "quantity_returnable": 1
    },
    {
      "product_id": "628ba442499bba0019b1a96d",
      "quantity": 1,
      "price": 25,
      "purchase_option": {
        "type": "standard",
        "price": 25
      },
      "id": "62bc639293cb7c0019423b5f",
      "orig_price": 25,
      "delivery": "shipment",
      "shipment_weight": 0,
      "price_total": 25,
      "discount_total": 3.75,
      "discount_each": 3.75,
      "tax_total": 0,
      "tax_each": 0,
      "discounts": [
        {
          "id": "promo-62bc63e193cb7c0019423b6e-0",
          "amount": 3.75
        }
      ],
      "product_name": "Calcinator Treatise",
      "quantity_total": 1,
      "quantity_invoiceable": 1,
      "quantity_creditable": 1,
      "quantity_cancelable": 0,
      "quantity_deliverable": 0,
      "quantity_shipment_deliverable": 0,
      "quantity_canceled": 0,
      "quantity_delivered": 1,
      "quantity_returnable": 1
    },
    {
      "product_id": "628ba6011869c10019b41f70",
      "quantity": 1,
      "price": 60,
      "purchase_option": {
        "type": "standard",
        "price": 60
      },
      "id": "62bc639e629aa900197ff786",
      "orig_price": 60,
      "delivery": "shipment",
      "shipment_weight": 0,
      "price_total": 60,
      "discount_total": 9,
      "discount_each": 9,
      "tax_total": 0,
      "tax_each": 0,
      "discounts": [
        {
          "id": "promo-62bc63e193cb7c0019423b6e-0",
          "amount": 9
        }
      ],
      "product_name": "Mythic Dawn Commentaries I",
      "quantity_total": 1,
      "quantity_invoiceable": 1,
      "quantity_creditable": 1,
      "quantity_cancelable": 0,
      "quantity_deliverable": 0,
      "quantity_shipment_deliverable": 0,
      "quantity_canceled": 0,
      "quantity_delivered": 1,
      "quantity_returnable": 1
    },
    {
      "product_id": "628ba67a1869c10019b41f76",
      "quantity": 1,
      "price": 60,
      "purchase_option": {
        "type": "standard",
        "price": 60
      },
      "id": "62bc63a293cb7c0019423b63",
      "orig_price": 60,
      "delivery": "shipment",
      "shipment_weight": 0,
      "price_total": 60,
      "discount_total": 9,
      "discount_each": 9,
      "tax_total": 0,
      "tax_each": 0,
      "discounts": [
        {
          "id": "promo-62bc63e193cb7c0019423b6e-0",
          "amount": 9
        }
      ],
      "product_name": "Mythic Dawn Commentaries II",
      "quantity_total": 1,
      "quantity_invoiceable": 1,
      "quantity_creditable": 1,
      "quantity_cancelable": 0,
      "quantity_deliverable": 0,
      "quantity_shipment_deliverable": 0,
      "quantity_canceled": 0,
      "quantity_delivered": 1,
      "quantity_returnable": 1
    },
    {
      "product_id": "628ba6b7499bba0019b1a9b2",
      "quantity": 1,
      "price": 60,
      "purchase_option": {
        "type": "standard",
        "price": 60
      },
      "id": "62bc63a793cb7c0019423b66",
      "orig_price": 60,
      "delivery": "shipment",
      "shipment_weight": 0,
      "price_total": 60,
      "discount_total": 9,
      "discount_each": 9,
      "tax_total": 0,
      "tax_each": 0,
      "discounts": [
        {
          "id": "promo-62bc63e193cb7c0019423b6e-0",
          "amount": 9
        }
      ],
      "product_name": "Mythic Dawn Commentaries III",
      "quantity_total": 1,
      "quantity_invoiceable": 1,
      "quantity_creditable": 1,
      "quantity_cancelable": 0,
      "quantity_deliverable": 0,
      "quantity_shipment_deliverable": 0,
      "quantity_canceled": 0,
      "quantity_delivered": 1,
      "quantity_returnable": 1
    },
    {
      "product_id": "628ba701499bba0019b1a9bb",
      "quantity": 1,
      "price": 60,
      "purchase_option": {
        "type": "standard",
        "price": 60
      },
      "id": "62bc63aa93cb7c0019423b69",
      "orig_price": 60,
      "delivery": "shipment",
      "shipment_weight": 0,
      "price_total": 60,
      "discount_total": 9,
      "discount_each": 9,
      "tax_total": 0,
      "tax_each": 0,
      "discounts": [
        {
          "id": "promo-62bc63e193cb7c0019423b6e-0",
          "amount": 9
        }
      ],
      "product_name": "Myuthic Dawn Commentaries IV",
      "quantity_total": 1,
      "quantity_invoiceable": 1,
      "quantity_creditable": 1,
      "quantity_cancelable": 0,
      "quantity_deliverable": 0,
      "quantity_shipment_deliverable": 0,
      "quantity_canceled": 0,
      "quantity_delivered": 1,
      "quantity_returnable": 1
    }
  ],
  "billing": {
    "card": {
      "brand": "Visa",
      "last4": "4242",
      "exp_month": 3,
      "exp_year": 2024,
      "token": "card_XW3WxpzAmGBPGLFmxsLT1oZY",
      "address_check": "unchecked",
      "zip_check": "unchecked",
      "cvc_check": "unchecked",
      "fingerprint": "883f20e8bc00d0f9e1c42967b39a4f22",
      "date_created": "2022-06-24T16:45:03.577Z"
    },
    "first_name": "Sheogorath",
    "last_name": null,
    "address1": "New Sheoth Palace",
    "address2": null,
    "city": "Shivering Isles",
    "state": "TX",
    "zip": "78757",
    "country": "US",
    "phone": null,
    "company": null,
    "account_card_id": null,
    "method": "card",
    "use_account": false,
    "default": false,
    "name": "Sheogorath"
  },
  "shipping": {
    "service": "international",
    "price": null,
    "service_name": "International",
    "first_name": "Sheogorath",
    "last_name": null,
    "company": "",
    "address1": "New Sheoth Palace",
    "address2": null,
    "city": "Shivering Isles",
    "zip": "78757",
    "country": "US",
    "state": "TX",
    "phone": null,
    "default": false,
    "name": "Sheogorath"
  },
  "shipment_rating": {
    "date_created": "2022-06-29T14:42:04.067Z",
    "fingerprint": "bc218e4a538adbdffe60fbb91dd6063e",
    "services": [
      {
        "id": "standard",
        "name": "Standard Shipping",
        "price": 5,
        "description": "Standard shipping service"
      },
      {
        "id": "express",
        "name": "Express Shipping",
        "price": 15,
        "description": "Express shipping service"
      }
    ]
  },
  "shipment_discount": 0,
  "schedule": null,
  "coupon_code": null,
  "coupon_id": null,
  "discounts": [
    {
      "type": "promo-62bc63e193cb7c0019423b6e",
      "rule": {
        "value_type": "percent",
        "value_percent": 15,
        "total_min": 100,
        "type": "total"
      },
      "amount": 43.5,
      "id": "promo-62bc63e193cb7c0019423b6e-0"
    }
  ],
  "taxes": null,
  "item_tax_included": null,
  "shipment_tax": null,
  "shipment_tax_included": null,
  "promotion_ids": [
    "62bc63e193cb7c0019423b6e"
  ],
  "account_id": "62991607782f3b0013cf17af",
  "account_logged_in": null,
  "account_info_saved": false,
  "account_credit_applied": null,
  "account_credit_amount": null,
  "giftcards": null,
  "currency": "USD",
  "display_currency": null,
  "display_locale": null,
  "notes": "Do we deliver to the Shivering Isles?",
  "comments": null,
  "gift": null,
  "gift_message": null,
  "metadata": null,
  "shipment_delivery": true,
  "date_trial_end": null,
  "sub_total": 290,
  "shipment_price": 0,
  "shipment_total": 0,
  "item_tax": 0,
  "tax_included_total": 0,
  "item_discount": 43.5,
  "discount_total": 43.5,
  "grand_total": 246.5,
  "item_quantity_returned": 0,
  "return_item_total": 0,
  "return_item_tax": 0,
  "return_item_tax_included": 0,
  "return_total": 0,
  "payment_balance": 0,
  "paid": true,
  "refunded": false,
  "item_quantity_delivered": 6,
  "item_quantity_deliverable": 0,
  "delivered": true,
  "item_quantity": 6,
  "item_quantity_canceled": 0,
  "item_quantity_cancelable": 0,
  "item_quantity_shipment_deliverable": 0,
  "item_quantity_returnable": 6,
  "item_quantity_invoiced": 0,
  "item_quantity_invoiceable": 6,
  "item_quantity_credited": 0,
  "item_quantity_creditable": 6,
  "item_shipment_weight": 0,
  "shipment_tax_included_total": 0,
  "tax_total": 0,
  "giftcard_total": 0,
  "guest": true,
  "authorized_payment_id": "62bc642d912a9800199ea467",
  "date_created": "2022-06-29T14:39:42.350Z",
  "hold": false,
  "closed": false,
  "status": "complete",
  "payment_total": 246.5,
  "refund_total": 0,
  "number": "100019",
  "date_updated": "2022-06-29T14:42:04.247Z",
  "payment_marked": true,
  "auto_update_account_address": false,
  "id": "62bc642d912a9800199ea465"
}
```
