An Order is created whenever a Customer adds an item to the cart. It contains all the information required to fulfill an order: which ProductVariants in what quantities; the shipping address and price; any applicable promotions; payments etc.
An Order exists in a well-defined state according to the OrderState type. A state machine is used to govern the transition from one state to another.
Extends: VendureEntity
Implements: ChannelAware, HasCustomFields
OrderTypeOrder[]OrderIDstringA unique code for the Order, generated according to the OrderCodeStrategy. This should be used as an order reference for Customers, rather than the Order's id.
OrderStatebooleanWhether the Order is considered "active", meaning that the Customer can still make changes to it and has not yet completed the checkout process. This is governed by the OrderPlacedStrategy.
DateThe date & time that the Order was placed, i.e. the Customer completed the checkout and the Order is no longer "active". This is governed by the OrderPlacedStrategy.
Datev3.8.0The date & time that the Order's prices, promotions and taxes were last recalculated via
OrderService.applyPriceAdjustments. Used by the configured OrderRecalculationStrategyto determine whether an active Order is stale and should be recalculated on read.
Shipping method eligibility and rates are NOT included in read-time recalculation.
CustomerIDOrderLine[]Surcharge[]Surcharges are arbitrary modifications to the Order total which are neither ProductVariants nor discounts resulting from applied Promotions. For example, one-off discounts based on customer interaction, or surcharges based on payment methods.
Surcharges are attached and removed with OrderService.addSurchargeToOrder and
OrderService.removeSurchargeFromOrder. Saving an Order does not detach a
Surcharge which is missing from this array, and repricing the Order does not attach one
which was saved without its order property set.
string[]An array of all coupon codes applied to the Order.
Promotion[]Promotions applied to the order. Only gets populated after the payment process has completed, i.e. the Order is no longer active.
OrderAddressOrderAddressPayment[]Fulfillment[]CurrencyCodeCustomOrderFieldsIDChannel[]OrderModification[]numberThe subTotal is the total of all OrderLines in the Order. This figure also includes any Order-level
discounts which have been prorated (proportionally distributed) amongst the OrderItems.
To get a total of all OrderLines which does not account for prorated discounts, use the
sum of OrderLine's discountedLinePrice values.
numberSame as subTotal, but inclusive of tax.
ShippingLine[]The shipping charges applied to this order.
numberThe total of all the shippingLines.
numberDiscount[]numberEqual to subTotal plus shipping
numberThe final payable amount. Equal to subTotalWithTax plus shippingWithTax.
numberOrderTaxSummary[]A summary of the taxes being applied to this Order.
Architecture reviews, custom plugin work, migrations, ongoing support. Get a hand from the team that builds Vendure.
Talk to the team