Commerce Foundation Basket
This Commerce Server 2009 commerce entity is used to represent an order that may contain line items, shipments, addresses, payments, requested promotion codes, properties exposing various rebates and totals, as well as other related products (based on the products in the cart).
Model
This commerce entity can be modified, as required. This model, taken from the out-of-the-box site, is provided as an example.
<CommerceEntity name="Basket">
<DisplayName value="Basket">
<LanguageSpecific language="en" value="Basket"/>
<LanguageSpecific language="de" value="Warenkorb"/>
<LanguageSpecific language="fr" value="Panier" />
<LanguageSpecific language="ja" value="バスケット" />
</DisplayName>
<EntityMappings>
<EntityMapping csType="Microsoft.CommerceServer.Runtime.Orders.OrderForm" csAssembly="Microsoft.CommerceServer.Runtime, Version=6.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<PropertyMappings>
<PropertyMapping property="Id" csProperty="OrderGroupId" />
<PropertyMapping property="DateCreated" csProperty="Created" />
<PropertyMapping property="DateModified" csProperty="LastModified" />
<PropertyMapping property="SubTotal" csProperty="SubTotal"/>
<PropertyMapping property="BillingCurrency" csProperty="BillingCurrency"/>
<PropertyMapping property="OrderNumber" csProperty="TrackingNumber"/>
<PropertyMapping property="UserId" csProperty="SoldToId"/>
<PropertyMapping property="BasketLevelDiscountsTotal" csProperty="BasketLevelDiscountsTotal"/>
<PropertyMapping property="BasketType" csProperty="BasketType"/>
<PropertyMapping property="DiscountsTotal" csProperty="DiscountsTotal"/>
<PropertyMapping property="LineItemDiscountsTotal" csProperty="LineItemDiscountsTotal"/>
<PropertyMapping property="ShippingDiscountsTotal" csProperty="ShippingDiscountsTotal"/>
<PropertyMapping property="BasketErrors" csProperty="_Basket_Errors"/>
<PropertyMapping property="PurchaseErrors" csProperty="_Purchase_Errors"/>
</PropertyMappings>
</EntityMapping>
</EntityMappings>
<Properties>
<Property name="BillingCurrency" dataType="String" isStronglyTyped="true" >
<DisplayName value="Billing Currency">
<LanguageSpecific language="en" value="Billing Currency"/>
</DisplayName>
</Property>
<Property name="OrderNumber" dataType="String" isStronglyTyped="true" >
<DisplayName value="Order Number">
<LanguageSpecific language="en" value="Order Number"/>
</DisplayName>
<Constraints>
<Range minValue="0" minBoundaryType="Include" maxValue="32" maxBoundaryType="Include" />
</Constraints>
</Property>
<Property name="UserId" dataType="String" isStronglyTyped="true" >
<DisplayName value="User ID">
<LanguageSpecific language="en" value="User ID"/>
</DisplayName>
</Property>
<Property name="BasketLevelDiscountsTotal" dataType="Decimal" />
<Property name="BasketType" dataType="Integer">
<EnumeratedValues >
<EnumerationEntry value="0">
<DisplayName value="Cart" />
</EnumerationEntry>
<EnumerationEntry value="1">
<DisplayName value="Order" />
</EnumerationEntry>
</EnumeratedValues>
</Property>
<Property name="DiscountsTotal" dataType="Decimal" />
<Property name="LineItemDiscountsTotal" dataType="Decimal" />
<Property name="ShippingDiscountsTotal" dataType="Decimal" />
<Property name="BasketErrors" dataType="Array" />
<Property name="PurchaseErrors" dataType="Array" />
</Properties>
</CommerceEntity>
Properties
Property |
Type |
Description |
---|---|---|
Basket_Errors |
String[] |
Array of messages, filled in if any Commerce Server pipeline components encountered errors while running the Commerce Server basket or total pipeline. |
BasketLevelDiscountsTotal |
decimal? |
Sum of the basket level discount amounts applied to line items. |
BasketType |
int? |
Type of basket specified as follows: 0 - Cart 1 - Order |
BillingCurrency |
String |
Currency the site uses for billing. |
DateCreated |
DateTime? |
Date the commerce entity was created. |
DateModified |
DateTime? |
Date the commerce entity was modified. |
DiscountsTotal |
decimal? |
Total of discounts, which is the sum of LineItem, BasketLevel, and Shipping discount totals. |
HandlingTotal |
decimal? |
The total handling charge for the current basket. |
Id |
String |
Unique identifier of the commerce entity. |
LineItemDiscountsTotal |
decimal? |
Sum of the discount amounts applied to line items. |
Name |
String |
Gets or sets the name of the basket. |
OrderNumber |
String |
A string value that uniquely identifies a placed order. |
Purchase_Errors |
String[] |
Array of messages, filled in if any Commerce Server components encountered any errors that occurred while running the Commerce Server checkout pipeline. |
ShipppingDiscountsTotal |
decimal? |
Sum of the discount amounts applied to shipping. |
ShippingTotal |
decimal? |
The total shipping charges associated with the current instance, after all the applicable shipping discounts have been applied. |
Status |
String |
Gets or sets the status of the current basket. This value may be user-defined, but known values include: InProcess - The basket is still being built. Totals are not ready for review. |
Subtotal |
decimal? |
Total amount for the current basket, after line item totals and line item discounts have been applied, but before shipping, shipping discounts, handling and taxes have been applied. |
TaxTotal |
decimal? |
The sum total of sub total, shipping, handling and taxes for the current basket. |
UserId |
String |
User identifier of the shopper to which the basket belongs. |
Relationships
Property |
Description |
---|---|
Addresses |
List of addresses for the current basket. |
LineItems |
List of line items associated with the current basket. |
Payments |
List of payments for the current basket. |
RequestedPromoCodes |
List or marketing promotion codes associated with the current basket. |
Shipments |
List of shipments associated with the current basket. |
TargetingContext |
The targeting context associated with the current basket. |
Supported Operations
The Basket commerce entity supports the following operations:
Commerce Foundation Basket CommerceDelete
Commerce Foundation Basket CommerceQuery
Commerce Foundation Basket CommerceUpdate
Unlike other Commerce Server 2009 commerce entities, baskets are not created explicitly. When a CommerceQuery or CommerceUpdate operation is performed, if the basket does not already exist, it will be created dynamically.
See Also
Other Resources
Developing with the Commerce Foundation Orders System
Commerce Foundation Basket Order Search
Commerce Foundation RequestedPromoCode
Commerce Foundation TargetingContext
Commerce Foundation Basket CommerceDelete