Wish lists domain model

Version: 10.3

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.

Note

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.

Do you have some feedback for us?

If you have suggestions for improving this article,