---
title: "Shopping"
slug: "shopping"
abstract: "Overview of the data flows and processes in the Sitecore Experience Commerce (XC) shopping scenario."
---
# Shopping

In the Sitecore Experience Commerce (XC) data flow and processes for shopping, the customer browses the catalog of sellable items and adds one or more items to the cart.

This involves the Content Delivery (CD) role, the Web index, the Web database, the Shops role, and the Shared Environments (SE) database.

<details>
<summary><h2>The customer browses the catalog</h2></summary>

The customer goes to a catalog page to browse for sellable items. A sellable item can be a product or an entitlement such as a digital download or a subscription. However, XC is flexible, and you can configure sellable items to fit other business needs.

The CD role uses the Web index to retrieve the SXA Storefront catalog layout and content as well as further marketing content from the Web database. The CD role also requests the Shops role to retrieve all relevant sellable items from the SE database.

The Shops role calculates the sellable item prices based on data from the SE database and returns the priced items to the CD role, which delivers them to the customer device.

![The customer browses the catalog using the CD role, the Web database, the Shops role, and the SE database.](https://doc.sitecore.com/api/markdown-image/xp/en/developers/100/platform-administration-and-architecture/images/XC-Shopping_-_Brwse_catlog.png)

</details>

<details>
<summary><h2>The customer adds sellable items to the cart</h2></summary>

The customer goes to a page displaying a sellable item, and the CD role finds and retrieves details of the sellable item from the Web database. The CD role also requests the Shops role to retrieve the sellable item itself from the SE database.

The customer clicks **Add To Cart** to add the sellable item to the cart, and the CD role requests the Shops role to retrieve an existing cart or create a new cart for the sellable item in the SE database.

The Shops role retrieves the sellable item from SE database, retrieves or creates a cart with a line with for the sellable item, and stores the cart with the sellable item line in the SE database. The Shops role then returns the cart to the CD role, which delivers it to the customer device.

![The customer adds sellable items to the cart using the CD role, the Web index, the Web database, the Shops role, and the SE database.](https://doc.sitecore.com/api/markdown-image/xp/en/developers/100/platform-administration-and-architecture/images/XC-Shopping_-_Add_itm_to_cart.png)

</details>

<details>
<summary><h2>Scaling the shopping scenario</h2></summary>

Sites with a large amount of cart activity place a heavy load on the following roles and database, which we recommend that you scale as necessary:

- [The Content Delivery role](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/content-delivery--cd-.html "Content Delivery (CD)")
- [The Shops role](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/shops.html "Shops")
- [The Shared Environments database](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/shared-environments-database.html "Shared Environments database")

> [!note]
> If your installation uses the [tracking](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/collecting-experience-data.html "Collecting experience data"), testing, or [personalization](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/tracking-and-personalization.html "Tracking and personalization") capabilities of the Sitecore Experience Platform, consider scaling the [xConnect Collection](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/xconnect-collection-service.html "xConnect Collection service") role and [xDB Collection database](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/xdb-collection-database.html "xDB Collection database") as well.

</details>

<details>
<summary><h2>Privacy and security</h2></summary>

Refer to the [Architecture and Roles](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/architecture-overview.html "Architecture overview") documentation for privacy and security considerations for each role on the processing and aggregation data flow.

</details>