Wish lists domain model
This section describes the domain model that represents the product objects where the following three assertions hold true:
-
The domain model primarily serves as DTO objects for transferring information between the external commerce system and Sitecore.
-
The domain model contains the minimum required information as contracts and will typically be extended, when integrated with a specific commerce system.
-
The domain model is used when a Sitecore developer needs to synchronize product data with the external commerce system or product data is pushed into Sitecore from the external commerce system.
The following class diagram shows the domain model.
The domain model consists of abstract classes that make up the contracts with the external system. The contracts are defined as abstract classes instead of interfaces to allow the model to be easily extended later if needed. This follows the best practice guidelines defined in the Framework Design Guidelines.
Default implementation of the contracts are delivered as part of Connect. If an actual Connect provider with an external commerce system contains more functionality than that provided by default, the implementation can be replaced. All instantiation of actual classes will be handled through dependency injection.
Class: WishList
The WishList class is responsible for representing a wish list or any variant of it.
|
Name |
Type |
Description |
|---|---|---|
|
ExternalId |
String |
Unique identifier for the wish list in the commerce system. |
|
CustomerId |
String |
The ID of the customer in the external commerce system. |
|
IsFavorite |
Bool |
This is the customer’s preferred wish list. |
|
Lines |
List<WishListLine> |
The line items within the wish list. |
|
Name |
String |
The friendly name of the wish list. |
|
ShopName |
String |
The shop the wish list is associated with. |
|
UserId |
String |
The Sitecore user ID. |
Class: WishListLine
The WishListLine class is responsible for representing a wish list line or any variant of it.
|
Name |
Type |
Description |
|---|---|---|
|
ExternalId |
String |
Unique identifier for the product in the commerce system. This can be used to get a reference to the product using the commerce system's native API. |
|
Quantity |
unint |
The quantity of product on the line item. |
|
Product |
CartProduct |
The product in the line item. |
|
Total |
Total |
The total cost of the line item. |
Class: WishListHeader
The WishListHeader class is responsible for representing a wish list header or any variant of it. The wish list header acts as a summary of the wish list.
|
Name |
Type |
Description |
|---|---|---|
|
ExternalId |
String |
Unique identifier for the wish list in the commerce system. |
|
ShopName |
String |
The shop name associated to the wish list. |
|
Name |
String |
The friendly name of the wish list. |
|
CustomerId |
String |
The ID of the customer in the external commerce system. |
|
IsFavorite |
Bool |
Is this the user’s default wish list. |
