From 1f015d7ed8e1704c01447a77107251a784905174 Mon Sep 17 00:00:00 2001
From: tobi-or-not-tobi
Date: Tue, 1 Aug 2023 08:11:06 +0200
Subject: [PATCH 01/52] draft
---
_data/sidebars/scos_dev_sidebar.yml | 16 +-
.../{ => building-pages}/oryx-compositions.md | 0
.../oryx/building-pages/oryx-pages.md | 166 ++++++++++++++++++
.../oryx/{ => building-pages}/oryx-routing.md | 0
4 files changed, 175 insertions(+), 7 deletions(-)
rename docs/scos/dev/front-end-development/202212.0/oryx/{ => building-pages}/oryx-compositions.md (100%)
create mode 100644 docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
rename docs/scos/dev/front-end-development/202212.0/oryx/{ => building-pages}/oryx-routing.md (100%)
diff --git a/_data/sidebars/scos_dev_sidebar.yml b/_data/sidebars/scos_dev_sidebar.yml
index 055310c313a..bc4635a9aa5 100644
--- a/_data/sidebars/scos_dev_sidebar.yml
+++ b/_data/sidebars/scos_dev_sidebar.yml
@@ -3362,24 +3362,26 @@ entries:
- "202212.0"
- "202307.0"
nested:
- - title: "Oryx: Compositions"
- url: /docs/scos/dev/front-end-development/oryx/oryx-compositions.html
- title: Set up
url: /docs/scos/dev/front-end-development/oryx/set-up-oryx.html
- title: Boilerplate
url: /docs/scos/dev/front-end-development/oryx/oryx-boilerplate.html
- title: Feature sets
url: /docs/scos/dev/front-end-development/oryx/oryx-feature-sets.html
+ - title: Presets
+ url: /docs/scos/dev/front-end-development/oryx/oryx-presets.html
- title: Packages
url: /docs/scos/dev/front-end-development/oryx/oryx-packages.html
+ - title: Versioning
+ url: /docs/scos/dev/front-end-development/oryx/oryx-versioning.html
+ - title: "Pages"
+ url: /docs/scos/dev/front-end-development/oryx/building-pages/oryx-pages.html
+ - title: "Compositions"
+ url: /docs/scos/dev/front-end-development/oryx/building-pages/oryx-compositions.html
- title: Routing
- url: /docs/scos/dev/front-end-development/oryx/oryx-routing.html
+ url: /docs/scos/dev/front-end-development/oryx/building-pages/oryx-routing.html
- title: Server-side rendering
url: /docs/scos/dev/front-end-development/oryx/oryx-server-side-rendering.html
- - title: Versioning
- url: /docs/scos/dev/front-end-development/oryx/oryx-versioning.html
- - title: Presets
- url: /docs/scos/dev/front-end-development/oryx/oryx-presets.html
- title: Supported browsers
url: /docs/scos/dev/front-end-development/oryx/oryx-supported-browsers.html
- title: Dependency injection
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/oryx-compositions.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-compositions.md
similarity index 100%
rename from docs/scos/dev/front-end-development/202212.0/oryx/oryx-compositions.md
rename to docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-compositions.md
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
new file mode 100644
index 00000000000..d257155ebb5
--- /dev/null
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -0,0 +1,166 @@
+---
+title: "Oryx: Creating Pages"
+description: Pages can be created from a data set or custom components
+last_updated: Aug 1, 2023
+template: concept-topic-template
+---
+
+In Oryx, pages are essential building blocks of web applications. They represent different sections or views within your application and can be created using a data-driven approach. This approach allows you to define the composition and layout of pages using external data sources, making it easier to maintain, customize, and optimize your application.
+
+Oryx provides standard pages in application [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), such as home, login page, search page, etc. Using presets gets you up and running fast. This documentation shows you how to provide custom pages or apply small customization on top of standard presetted pages.
+
+## Understanding Pages and Compositions
+
+Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in your application code. This separation of concerns makes your components more reusable and less tied to specific pages.
+
+Oryx leverages a data-driven approach for creating pages, allowing you to configure the composition and content of a page using external data sources. The advantages and technical details are covered in the documentation on [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
+
+## Non-Data-Driven Approach
+
+While Oryx promotes the data-driven approach for creating pages, you are not bound to it. If you prefer, you can create a page component and directly assign it to a route without using the data-driven approach.
+
+## Creating Pages by data
+
+To create a page in an Oryx app, you use the `Page` component type. A page is defined as a composition that can hold other compositions and/or components. Here's a basic example of a page defined as a composition:
+
+```ts
+export const cartPage: ExperienceComponent = {
+ id: "cart-page",
+ type: "Page",
+ meta: {
+ title: "Cart Page",
+ description: "Cart Page Description",
+ },
+ options: {
+ // add component options here
+ },
+ components: [
+ // Add your components here
+ ],
+};
+```
+
+### Configuring content for a route
+
+You can configure the matching URL of a page using the `meta.route` field. This allows you to define on which URL the page should be rendered.
+
+Here's an example of how to configure the route of a page:
+
+```ts
+export const cartPage: ExperienceComponent = {
+ id: "cart-page",
+ type: "Page",
+ meta: {
+ route: "/cart",
+ },
+};
+```
+
+In this example, the `route` field is set to "/cart," so the page is rendered when the "/cart" URL of your application is visited.
+
+{% info_block infoBox "Reading tip" %}
+
+Changing the route of the page content does not mean that the related route has changed; You'd need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-routing.html) to change the route.
+
+{% endinfo_block %}
+
+## Customizing pages and page content
+
+Oryx allows you to provide custom experience data or modify existing data for your pages. This gives you the flexibility to tailor the compositions to your specific needs and business requirements.
+
+### Provide custom data
+
+You can provide custom experience data using Oryx' [dependency injection system](/docs/scos/dev/front-end-development/{{page.version}}/oryx/dependency-injection/dependency-injection-providing-services.html):
+
+A small utility function is available from the experience package to add custom data:
+
+```ts
+import { appBuilder } from "@spryker-oryx/application";
+import { provideExperienceData } from "@spryker-oryx/experience";
+import { customPage } from "./custom/page";
+
+export const app = appBuilder()
+ .withProviders(provideExperienceData(customData))
+ .create();
+```
+
+### Custom data
+
+The data that you can provide is typed in the `ExperienceComponent` type. You can create a page structure by leveraging compositions, layout and existing components in a standard way.
+
+The following example shows how a single text component is added to the structure.
+
+```ts
+const customHomePage: ExperienceComponent = {
+ type: "oryx-content-text",
+ content: { data: { text: "
Home page
" } },
+};
+```
+
+The following example shows a more complex variation, where the text component is wrapped inside a composition and is rendered in a grid layout:
+
+```ts
+const customHomePage: ExperienceComponent = {
+ type: "oryx-composition",
+ id: "home-hero",
+ options: {
+ rules: [
+ {
+ layout: "grid",
+ },
+ ],
+ },
+ components: [
+ {
+ type: "oryx-content-text",
+ content: { data: { text: "
Home page
" } },
+ },
+ ],
+};
+```
+
+### Merge selector
+
+To replace existing content, provided by [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), you need to define the content that you want to merge and, optionally, the merge strategy you like to use.
+
+The selected content is defined by the `merge.selector` field. The following example shows how the provided data replaces the home page.
+
+```ts
+import { appBuilder } from "@spryker-oryx/application";
+import { provideExperienceData } from "@spryker-oryx/experience";
+
+export const app = appBuilder()
+ .withProviders(
+ provideExperienceData({
+ merge: {
+ selector: "#home-page",
+ },
+ type: "oryx-content-text",
+ content: { data: { text: "
Home page
" } },
+ })
+ )
+ .create();
+```
+
+Selectors use the following syntax:
+
+- select a page with the `#` prefix, e.g. `#home-page`
+- select a component globally by `id`, e.g. `my-composition`
+- select components by `id` or `tag`, e.g. `oryx-product-title`
+- chain selects, using the dot notation, e.g. `#home-page.my-composition.oryx-product-title`
+- skip parts of the data, e.g. `#home-page.oryx-product-title`
+
+Using this syntax gives you flexibility to apply changes in any page, or to very specific pages.
+
+### Merge strategies
+
+When you do not provide a merge `type`, the selected component is replaced by default. Alternative types can be configured in the `merge.type` field.
+
+| Strategy | details |
+| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `replace` (default) | Replaces the selected element with the given content |
+| `patch` | Patches the selected component with the given component. This includes both the component options and content. The data is deep merged, expect for arrays. |
+| `before` | Adds the content before the selected component. |
+| `after` | Adds the content after the selected component |
+| `append` | Adds the content after the last component of the composition components. If the selected component is not a composition, the custom component is not merged. |
+| `prepend` | Adds the content before the first component of the composition components. If the selected component is not a composition, the custom component is not merged. |
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/oryx-routing.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-routing.md
similarity index 100%
rename from docs/scos/dev/front-end-development/202212.0/oryx/oryx-routing.md
rename to docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-routing.md
From 9012b50a89bc8a5acd25d27dbfd7bba33e5ee993 Mon Sep 17 00:00:00 2001
From: tobi-or-not-tobi
Date: Wed, 2 Aug 2023 20:40:45 +0200
Subject: [PATCH 02/52] fixes
---
.../oryx/building-pages/oryx-pages.md | 31 +++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index d257155ebb5..924fbbcbfec 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -35,7 +35,7 @@ export const cartPage: ExperienceComponent = {
// add component options here
},
components: [
- // Add your components here
+ // add your components here
],
};
```
@@ -148,7 +148,7 @@ Selectors use the following syntax:
- select a component globally by `id`, e.g. `my-composition`
- select components by `id` or `tag`, e.g. `oryx-product-title`
- chain selects, using the dot notation, e.g. `#home-page.my-composition.oryx-product-title`
-- skip parts of the data, e.g. `#home-page.oryx-product-title`
+- skip parts of the component tree, e.g. `#home-page.oryx-product-title` rather than `#home-page.my-composition.oryx-product-title`
Using this syntax gives you flexibility to apply changes in any page, or to very specific pages.
@@ -156,6 +156,33 @@ Using this syntax gives you flexibility to apply changes in any page, or to very
When you do not provide a merge `type`, the selected component is replaced by default. Alternative types can be configured in the `merge.type` field.
+The example below shows how to _merge_ content in an existing component.
+
+```ts
+import { appBuilder } from "@spryker-oryx/application";
+import { provideExperienceData } from "@spryker-oryx/experience";
+
+export const app = appBuilder()
+ .withProviders(
+ provideExperienceData({
+ merge: {
+ selector: "site-logo",
+ type: "patch",
+ },
+ content: {
+ data: {
+ graphic: null,
+ image:
+ "https://www.coca-colacompany.com/content/dam/company/us/en/the-coca-cola-company-logo.svg",
+ },
+ },
+ })
+ )
+ .create();
+```
+
+The table below gives an overview of the various merge types.
+
| Strategy | details |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `replace` (default) | Replaces the selected element with the given content |
From 824a74a80555f591435913398a22714d421c3543 Mon Sep 17 00:00:00 2001
From: dima_tsemma
Date: Mon, 21 Aug 2023 11:54:33 +0300
Subject: [PATCH 03/52] FRW-5841 Adjusted docs
---
.../dynamic-data-api-integration.md | 137 +++++++++++++++++-
.../how-to-configure-dynamic-data-api.md | 6 +-
2 files changed, 139 insertions(+), 4 deletions(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index 82f256b711a..a54fc242d13 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -1,7 +1,7 @@
---
title: Dynamic Data API integration
description: Integrate the Dynamic Data API into a Spryker project.
-last_updated: June 22, 2023
+last_updated: August 21, 2023
template: feature-integration-guide-template
redirect_from:
- /docs/scos/dev/feature-integration-guides/202304.0/glue-api/dynamic-data-api/dynamic-data-api-integration.html
@@ -136,6 +136,114 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
}
```
+### Dynamic Data import configuration
+
+4. It is also possible to import default configuration data, create configuration file:
+
+**src/Pyz/Zed/DynamicEntity/data/installer/configuration.json**
+
+```json
+[
+ {
+ "tableName": "spy_country",
+ "tableAlias": "countries",
+ "isActive": true,
+ "definition": {
+ "identifier": "id_country",
+ "fields": [
+ {
+ "fieldName": "id_country",
+ "fieldVisibleName": "id_country",
+ "isCreatable": true,
+ "isEditable": true,
+ "type": "integer",
+ "validation": { "isRequired": false }
+ },
+ {
+ "fieldName": "iso2_code",
+ "fieldVisibleName": "iso2_code",
+ "isCreatable": true,
+ "isEditable": true,
+ "type": "string",
+ "validation": { "isRequired": true }
+ },
+ {
+ "fieldName": "iso3_code",
+ "fieldVisibleName": "iso3_code",
+ "isCreatable": true,
+ "isEditable": true,
+ "type": "string",
+ "validation": { "isRequired": false }
+ },
+ {
+ "fieldName": "name",
+ "fieldVisibleName": "name",
+ "isCreatable": true,
+ "isEditable": true,
+ "type": "string",
+ "validation": { "isRequired": false }
+ },
+ {
+ "fieldName": "postal_code_mandatory",
+ "fieldVisibleName": "postal_code_mandatory",
+ "isCreatable": true,
+ "isEditable": true,
+ "type": "string",
+ "validation": { "isRequired": false }
+ },
+ {
+ "fieldName": "postal_code_regex",
+ "fieldVisibleName": "postal_code_regex",
+ "isCreatable": true,
+ "isEditable": true,
+ "type": "string",
+ "validation": { "isRequired": false }
+ }
+ ]
+ }
+ }
+]
+```
+
+Add file path to the `DynamicEntityConfig`:
+
+**src/Pyz/Glue/DynamicEntity/DynamicEntityConfig.php**
+
+```php
+
src/Pyz/Glue/Console/ConsoleDependencyProvider.php
@@ -358,6 +467,32 @@ class GlueBackendApiApplicationDependencyProvider extends SprykerGlueBackendApiA
```
+
+src/Pyz/Zed/Installer/InstallerDependencyProvider.php
+
+```php
+
+ */
+ public function getInstallerPlugins(): array
+ {
+ return [
+ new DynamicEntityInstallerPlugin(),
+ ];
+ }
+}
+```
+
+
{% info_block warningBox "Verification" %}
If everything is set up correctly, you can operate with the data. Follow this link to discover how to perform it:[How to send request in Dynamic Data API](/docs/scos/dev/glue-api-guides/{{page.version}}/dynamic-data-api/how-to-guides/how-to-send-request-in-dynamic-data-api.html)
diff --git a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
index d3f644b2f07..8cfabed6471 100644
--- a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
+++ b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
@@ -1,7 +1,7 @@
---
title: How to configure Dynamic Data API endpoints.
description: This guide shows how to configure the Dynamic Data API endpoints.
-last_updated: June 23, 2023
+last_updated: August 21, 2023
template: howto-guide-template
redirect_from:
- /docs/scos/dev/glue-api-guides/202304.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.html
@@ -10,7 +10,7 @@ redirect_from:
This guide shows how to configure the Dynamic Data API endpoints.
In order to incorporate a new endpoint for interacting with entities in the database,
-it is necessary to add a corresponding row to the `spy_dynamic_entity_configuration` table.
+it is necessary to add a corresponding row to the `spy_dynamic_entity_configuration` table or needs to create a configuration file and import configuration data, see ([Dynamic Data API integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/dynamic-data-api-integration.html#dynamic-data-import-configuration))
The `spy_dynamic_entity_configuration` table represents the configuration for dynamic entity endpoints in the system. It has the following columns:
@@ -26,7 +26,7 @@ The `spy_dynamic_entity_configuration` table represents the configuration for dy
{% info_block infoBox %}
-Currently, the process entails manually executing SQL queries as there is no existing user interface (UI) feature in Spryker for it.
+Currently, the process entails manually executing SQL queries or importing via config file as there is no existing user interface (UI) feature in Spryker for it.
However, future releases are expected to introduce an UI solution for adding new rows to the `spy_dynamic_entity_configuration` table.
{% endinfo_block %}
From 28c68dc625ee3b7d75365c7f13c5e4227af78152 Mon Sep 17 00:00:00 2001
From: dima_tsemma
Date: Mon, 21 Aug 2023 14:40:32 +0300
Subject: [PATCH 04/52] FRW-5841 Refactored after AA review
---
.../dynamic-data-api/dynamic-data-api-integration.md | 8 ++++----
.../how-to-guides/how-to-configure-dynamic-data-api.md | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index a54fc242d13..53324b73a5a 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -136,9 +136,9 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
}
```
-### Dynamic Data import configuration
+### Dynamic Data Install Configuration
-4. It is also possible to import default configuration data, create configuration file:
+4. It is also possible to install default configuration data for that need to create a configuration file:
**src/Pyz/Zed/DynamicEntity/data/installer/configuration.json**
@@ -207,7 +207,7 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
Add file path to the `DynamicEntityConfig`:
-**src/Pyz/Glue/DynamicEntity/DynamicEntityConfig.php**
+**src/Pyz/Zed/DynamicEntity/DynamicEntityConfig.php**
```php
Date: Mon, 21 Aug 2023 14:59:21 +0300
Subject: [PATCH 05/52] FRW-5841 Refactored after AA review
---
.../dynamic-data-api-integration.md | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index 53324b73a5a..c78ebb5fdf7 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -138,7 +138,7 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
### Dynamic Data Install Configuration
-4. It is also possible to install default configuration data for that need to create a configuration file:
+4. It is possible to install default configuration data by creating a configuration file:
**src/Pyz/Zed/DynamicEntity/data/installer/configuration.json**
@@ -238,12 +238,6 @@ class DynamicEntityConfig extends SprykerDynamicEntityConfig
}
```
-Run the following command:
-
-```bash
-console setup:init-db
-```
-
### Set up database schema and transfer objects
Apply database changes and generate entity and transfer changes:
@@ -493,6 +487,16 @@ class InstallerDependencyProvider extends SprykerInstallerDependencyProvider
```
+{% info_block warningBox %}
+
+Run the following command after enabling `DynamicEntityInstallerPlugin`:
+
+```bash
+console setup:init-db
+```
+
+{% endinfo_block %}
+
{% info_block warningBox "Verification" %}
If everything is set up correctly, you can operate with the data. Follow this link to discover how to perform it:[How to send request in Dynamic Data API](/docs/scos/dev/glue-api-guides/{{page.version}}/dynamic-data-api/how-to-guides/how-to-send-request-in-dynamic-data-api.html)
From 1aee44d64409f6601cb06fc3fafabf95dfa44b96 Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Mon, 21 Aug 2023 17:33:58 +0300
Subject: [PATCH 06/52] Update oryx-pages.md
---
.../202212.0/oryx/building-pages/oryx-pages.md | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index 924fbbcbfec..e0f70f84b8d 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -1,21 +1,21 @@
---
-title: "Oryx: Creating Pages"
+title: "Oryx: Creating pages"
description: Pages can be created from a data set or custom components
last_updated: Aug 1, 2023
template: concept-topic-template
---
-In Oryx, pages are essential building blocks of web applications. They represent different sections or views within your application and can be created using a data-driven approach. This approach allows you to define the composition and layout of pages using external data sources, making it easier to maintain, customize, and optimize your application.
+In Oryx, pages are essential building blocks of web applications. They represent different sections or views within your application and can be created using a data-driven approach. This approach lets you define the composition and layout of pages using external data sources, making it easier to maintain, customize, and optimize your application.
-Oryx provides standard pages in application [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), such as home, login page, search page, etc. Using presets gets you up and running fast. This documentation shows you how to provide custom pages or apply small customization on top of standard presetted pages.
+Oryx provides standard pages, like home, login, or search page, in [application presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html). Using presets gets you up and running fast. This document shows you how to provide custom pages or apply small customization on top of standard preset pages.
-## Understanding Pages and Compositions
+## Understanding pages and compositions
-Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in your application code. This separation of concerns makes your components more reusable and less tied to specific pages.
+Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in your code. This separation of concerns makes your components more reusable and less tied to specific pages.
-Oryx leverages a data-driven approach for creating pages, allowing you to configure the composition and content of a page using external data sources. The advantages and technical details are covered in the documentation on [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
+Oryx leverages a data-driven approach for creating pages, letting you configure the composition and content of pages using external data sources. For the advantages and technical details, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
-## Non-Data-Driven Approach
+## Non-data-driven approach
While Oryx promotes the data-driven approach for creating pages, you are not bound to it. If you prefer, you can create a page component and directly assign it to a route without using the data-driven approach.
From 524b9bb85234e86cb2dff96d0b4c5cef39084bb9 Mon Sep 17 00:00:00 2001
From: dima_tsemma
Date: Mon, 21 Aug 2023 21:57:42 +0300
Subject: [PATCH 07/52] FRW-5841 Refactored after TW review
---
.../dynamic-data-api/dynamic-data-api-integration.md | 9 +++++----
.../how-to-guides/how-to-configure-dynamic-data-api.md | 6 +++---
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index c78ebb5fdf7..59b2b939410 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -138,9 +138,9 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
### Dynamic Data Install Configuration
-4. It is possible to install default configuration data by creating a configuration file:
+1. Optional: To install default configuration data, create a configuration file:
-**src/Pyz/Zed/DynamicEntity/data/installer/configuration.json**
+src/Pyz/Zed/DynamicEntity/data/installer/configuration.json
```json
[
@@ -204,8 +204,9 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
}
]
```
+
-Add file path to the `DynamicEntityConfig`:
+2. Add file path to the `DynamicEntityConfig`:
**src/Pyz/Zed/DynamicEntity/DynamicEntityConfig.php**
@@ -489,7 +490,7 @@ class InstallerDependencyProvider extends SprykerInstallerDependencyProvider
{% info_block warningBox %}
-Run the following command after enabling `DynamicEntityInstallerPlugin`:
+When `DynamicEntityInstallerPlugin` is enabled, run the following command:
```bash
console setup:init-db
diff --git a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
index 1694d8e6ed8..4c91fd1ea00 100644
--- a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
+++ b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
@@ -9,8 +9,8 @@ redirect_from:
This guide shows how to configure the Dynamic Data API endpoints.
-In order to incorporate a new endpoint for interacting with entities in the database,
-it is necessary to add a corresponding row to the `spy_dynamic_entity_configuration` table or needs to create a configuration file and install configuration data, see ([Dynamic Data Install Configuration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/dynamic-data-api-integration.html#dynamic-data-install-configuration))
+To incorporate a new endpoint for interacting with entities in the database,
+add a corresponding row to the `spy_dynamic_entity_configuration` table or create a configuration file and install configuration data. For details, see [Dynamic Data API integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/dynamic-data-api-integration.html)
The `spy_dynamic_entity_configuration` table represents the configuration for dynamic entity endpoints in the system. It has the following columns:
@@ -26,7 +26,7 @@ The `spy_dynamic_entity_configuration` table represents the configuration for dy
{% info_block infoBox %}
-Currently, the process entails manually executing SQL queries or importing via config file as there is no existing user interface (UI) feature in Spryker for it.
+The process entails manually executing SQL queries or importing using a config file because there is no existing user interface (UI) feature in Spryker for it.
However, future releases are expected to introduce an UI solution for adding new rows to the `spy_dynamic_entity_configuration` table.
{% endinfo_block %}
From 3b4fc1e72bc49bdd6d9e7216f0898a29872be180 Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Tue, 22 Aug 2023 10:30:53 +0300
Subject: [PATCH 08/52] tw-review
---
.../202212.0/oryx/building-pages/oryx-compositions.md | 2 +-
.../202212.0/oryx/building-pages/oryx-pages.md | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-compositions.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-compositions.md
index af4860346fd..25400667eda 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-compositions.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-compositions.md
@@ -15,7 +15,7 @@ Compositions take a data-driven approach, letting you configure the composition
- Avoid hard-coded page layout: By using data to configure compositions, you can avoid hardcoding the page layout in your application code. Instead, you can define the structure and layout of your pages using external data, making it more flexible and easier to customize.
-- Upgradable composition: A configurable data set is easier to upgrade. Instead of upgrading to a hardcoded component structure, you can select an alternative data set that will hold new components. This makes it easier to _opt in_ to alternative compositions.
+- Upgradable composition: A configurable data set is easier to upgrade. Instead of upgrading to a hardcoded component structure, you can select an alternative data set to hold new components. This makes it easier to _opt in_ to alternative compositions.
- No-code customizations: The data-driven approach enables no-code customizations of the compositions. With the use of a What You See Is What You Get (WYSIWYG) tool, non-technical users can easily modify a composition by adjusting the data configuration without the need to edit the underlying code.
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index e0f70f84b8d..72c06d05591 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -17,11 +17,11 @@ Oryx leverages a data-driven approach for creating pages, letting you configure
## Non-data-driven approach
-While Oryx promotes the data-driven approach for creating pages, you are not bound to it. If you prefer, you can create a page component and directly assign it to a route without using the data-driven approach.
+While Oryx promotes the data-driven approach for creating pages, you are not bound to it. If you prefer, you can create a page component and assign it directly to a route.
-## Creating Pages by data
+## Creating pages by data
-To create a page in an Oryx app, you use the `Page` component type. A page is defined as a composition that can hold other compositions and/or components. Here's a basic example of a page defined as a composition:
+The `Page` component type is used to create pages. A page is defined as a composition that can hold other compositions and components. Here's a basic example of a page defined as a composition:
```ts
export const cartPage: ExperienceComponent = {
From 87d5f86e0465c8b92f3062f5162a2f2c5ed43304 Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Tue, 22 Aug 2023 11:01:08 +0300
Subject: [PATCH 09/52] Update oryx-pages.md
---
.../202212.0/oryx/building-pages/oryx-pages.md | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index 72c06d05591..0591bb6a5d3 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -21,7 +21,7 @@ While Oryx promotes the data-driven approach for creating pages, you are not bou
## Creating pages by data
-The `Page` component type is used to create pages. A page is defined as a composition that can hold other compositions and components. Here's a basic example of a page defined as a composition:
+The `Page` component type is used to create pages. A page is defined as a composition that can hold other compositions and components. Here's an example of a page defined as a composition:
```ts
export const cartPage: ExperienceComponent = {
@@ -42,7 +42,7 @@ export const cartPage: ExperienceComponent = {
### Configuring content for a route
-You can configure the matching URL of a page using the `meta.route` field. This allows you to define on which URL the page should be rendered.
+You can configure the matching URL of a page using the `meta.route` field. This lets you define which URL the page should be rendered on.
Here's an example of how to configure the route of a page:
@@ -56,21 +56,21 @@ export const cartPage: ExperienceComponent = {
};
```
-In this example, the `route` field is set to "/cart," so the page is rendered when the "/cart" URL of your application is visited.
+In this example, the `route` field is set to `/cart`, so the page is rendered when the `/cart` URL is visited.
{% info_block infoBox "Reading tip" %}
-Changing the route of the page content does not mean that the related route has changed; You'd need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-routing.html) to change the route.
+Changing the route of a page content is not changing the related route. To change a route, you need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-routing.html).
{% endinfo_block %}
## Customizing pages and page content
-Oryx allows you to provide custom experience data or modify existing data for your pages. This gives you the flexibility to tailor the compositions to your specific needs and business requirements.
+Oryx enables you to provide custom experience data or change the existing data for your pages. This gives you the flexibility to tailor the compositions to specific needs and business requirements.
### Provide custom data
-You can provide custom experience data using Oryx' [dependency injection system](/docs/scos/dev/front-end-development/{{page.version}}/oryx/dependency-injection/dependency-injection-providing-services.html):
+You can provide custom experience data using Oryx's [dependency injection system](/docs/scos/dev/front-end-development/{{page.version}}/oryx/dependency-injection/dependency-injection-providing-services.html).
A small utility function is available from the experience package to add custom data:
@@ -86,7 +86,7 @@ export const app = appBuilder()
### Custom data
-The data that you can provide is typed in the `ExperienceComponent` type. You can create a page structure by leveraging compositions, layout and existing components in a standard way.
+The data that you can provide is typed in the `ExperienceComponent` type. You can create a page structure by leveraging compositions, layout, and existing components in a standard way.
The following example shows how a single text component is added to the structure.
From a404c0638047d3793fcbc4b2345954d125cae607 Mon Sep 17 00:00:00 2001
From: Vadym Sachenko
Date: Tue, 22 Aug 2023 12:09:06 +0300
Subject: [PATCH 10/52] Apply suggestions from code review
---
.../glue-api/dynamic-data-api/dynamic-data-api-integration.md | 2 +-
.../how-to-guides/how-to-configure-dynamic-data-api.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index 59b2b939410..5aa5e691fc2 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -206,7 +206,7 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
```
-2. Add file path to the `DynamicEntityConfig`:
+2. Add file path to `DynamicEntityConfig`:
**src/Pyz/Zed/DynamicEntity/DynamicEntityConfig.php**
diff --git a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
index 4c91fd1ea00..f108b0756c6 100644
--- a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
+++ b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
@@ -1,7 +1,7 @@
---
title: How to configure Dynamic Data API endpoints.
description: This guide shows how to configure the Dynamic Data API endpoints.
-last_updated: August 21, 2023
+last_updated: Aug 21, 2023
template: howto-guide-template
redirect_from:
- /docs/scos/dev/glue-api-guides/202304.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.html
From a11cc72ab1cfc4cb1b5104e350df4d3d06d4ce5e Mon Sep 17 00:00:00 2001
From: Vadym Sachenko
Date: Tue, 22 Aug 2023 12:11:15 +0300
Subject: [PATCH 11/52] Update dynamic-data-api-integration.md
---
.../dynamic-data-api-integration.md | 25 ++++++-------------
1 file changed, 8 insertions(+), 17 deletions(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index 5aa5e691fc2..c4b7f2e4212 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -320,7 +320,7 @@ dynamic_entity.validation.missing_identifier,"Unvollständige Anforderung - fehl
{% info_block infoBox "Info" %}
-Run the following console command to import data:
+Import data:
```bash
console data:import glossary
@@ -330,7 +330,7 @@ console data:import glossary
{% info_block warningBox "Verification" %}
-Make sure that the configured data in the database has been added to the `spy_glossary` table.
+Ensure the configured data in the database has been added to the `spy_glossary` table.
{% endinfo_block %}
@@ -347,8 +347,7 @@ Enable the following behaviors by registering the plugins:
| DynamicEntityProtectedPathCollectionExpanderPlugin | Expands a list of protected endpoints with dynamic entity endpoints. | Spryker\Glue\DynamicEntityBackendApi\Plugin\GlueBackendApiApplicationAuthorizationConnector |
| DynamicEntityInstallerPlugin | Installs Dynamic Entity data. | Spryker\Zed\DynamicEntity\Communication\Plugin\Installer |
-
-src/Pyz/Glue/Console/ConsoleDependencyProvider.php
+**src/Pyz/Glue/Console/ConsoleDependencyProvider.php**
```php
-
-src/Pyz/Glue/DocumentationGeneratorApi/DocumentationGeneratorApiDependencyProvider.php
+**src/Pyz/Glue/DocumentationGeneratorApi/DocumentationGeneratorApiDependencyProvider.php**
```php
-
-src/Pyz/Glue/DocumentationGeneratorOpenApi/DocumentationGeneratorOpenApiDependencyProvider.php
+**src/Pyz/Glue/DocumentationGeneratorOpenApi/DocumentationGeneratorOpenApiDependencyProvider.php**
```php
-
-src/Pyz/Glue/GlueBackendApiApplication/GlueBackendApiApplicationDependencyProvider.php
+**src/Pyz/Glue/GlueBackendApiApplication/GlueBackendApiApplicationDependencyProvider.php**
```php
-
-src/Pyz/Zed/Installer/InstallerDependencyProvider.php
+
+**src/Pyz/Zed/Installer/InstallerDependencyProvider.php**
```php
{% info_block warningBox %}
From f9f92021dd6be64ebb36f28af2daf9fa4066ba40 Mon Sep 17 00:00:00 2001
From: Vadym Sachenko
Date: Tue, 22 Aug 2023 12:13:23 +0300
Subject: [PATCH 12/52] Update
docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
---
.../glue-api/dynamic-data-api/dynamic-data-api-integration.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index c4b7f2e4212..91362a0f548 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -1,7 +1,7 @@
---
title: Dynamic Data API integration
description: Integrate the Dynamic Data API into a Spryker project.
-last_updated: August 21, 2023
+last_updated: Aug 21, 2023
template: feature-integration-guide-template
redirect_from:
- /docs/scos/dev/feature-integration-guides/202304.0/glue-api/dynamic-data-api/dynamic-data-api-integration.html
From 553ba083120dcfd5af715d24c8de7bfe06a822fc Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Wed, 23 Aug 2023 10:27:32 +0300
Subject: [PATCH 13/52] Update oryx-pages.md
---
.../oryx/building-pages/oryx-pages.md | 30 +++++++++----------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index 0591bb6a5d3..3cb4ce4dc53 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -121,7 +121,7 @@ const customHomePage: ExperienceComponent = {
### Merge selector
-To replace existing content, provided by [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), you need to define the content that you want to merge and, optionally, the merge strategy you like to use.
+To replace existing content, provided by [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), you need to define the content that you want to merge and, optionally, the merge strategy.
The selected content is defined by the `merge.selector` field. The following example shows how the provided data replaces the home page.
@@ -144,19 +144,19 @@ export const app = appBuilder()
Selectors use the following syntax:
-- select a page with the `#` prefix, e.g. `#home-page`
-- select a component globally by `id`, e.g. `my-composition`
-- select components by `id` or `tag`, e.g. `oryx-product-title`
-- chain selects, using the dot notation, e.g. `#home-page.my-composition.oryx-product-title`
-- skip parts of the component tree, e.g. `#home-page.oryx-product-title` rather than `#home-page.my-composition.oryx-product-title`
+- Select a page with the `#` prefix—for example, `#home-page`.
+- Select a component globally by `id`—for example, `my-composition`.
+- Select components by `id` or `tag`—for example, `oryx-product-title`.
+- Chain selects, using the dot notation—for example, `#home-page.my-composition.oryx-product-title`.
+- Skip parts of the component tree—for example, `#home-page.oryx-product-title` rather than `#home-page.my-composition.oryx-product-title`.
-Using this syntax gives you flexibility to apply changes in any page, or to very specific pages.
+Using this syntax gives you flexibility to apply changes in any page, or to a very specific pages.
### Merge strategies
-When you do not provide a merge `type`, the selected component is replaced by default. Alternative types can be configured in the `merge.type` field.
+When you do not provide a merge `type`, by default, the selected component is replaced . Alternative types can be configured in the `merge.type` field.
-The example below shows how to _merge_ content in an existing component.
+The following example shows how to _merge_ content in an existing component.
```ts
import { appBuilder } from "@spryker-oryx/application";
@@ -181,13 +181,13 @@ export const app = appBuilder()
.create();
```
-The table below gives an overview of the various merge types.
+The following table gives an overview of the various merge types.
-| Strategy | details |
-| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `replace` (default) | Replaces the selected element with the given content |
+| STRATEY | DESCRIPTION |
+| ---- | - |
+| `replace` (default) | Replaces the selected element with the given content. |
| `patch` | Patches the selected component with the given component. This includes both the component options and content. The data is deep merged, expect for arrays. |
-| `before` | Adds the content before the selected component. |
-| `after` | Adds the content after the selected component |
+| `before` | Adds the content before the selected component. |
+| `after` | Adds the content after the selected component. |
| `append` | Adds the content after the last component of the composition components. If the selected component is not a composition, the custom component is not merged. |
| `prepend` | Adds the content before the first component of the composition components. If the selected component is not a composition, the custom component is not merged. |
From cb33469f93e73e4130ee5ede4d4526cf76932b21 Mon Sep 17 00:00:00 2001
From: Alexander Kovalenko
Date: Wed, 23 Aug 2023 15:14:21 +0300
Subject: [PATCH 14/52] Update
docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
---
.../202212.0/oryx/building-pages/oryx-pages.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index e0f70f84b8d..53cf590822a 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -186,7 +186,8 @@ The table below gives an overview of the various merge types.
| Strategy | details |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `replace` (default) | Replaces the selected element with the given content |
-| `patch` | Patches the selected component with the given component. This includes both the component options and content. The data is deep merged, expect for arrays. |
+| `patch` | Patches the selected component with the given component. This includes both the component options and content. The data is deep merged, except for arrays. |
+| `remove` | Removed selected component. |
| `before` | Adds the content before the selected component. |
| `after` | Adds the content after the selected component |
| `append` | Adds the content after the last component of the composition components. If the selected component is not a composition, the custom component is not merged. |
From f190efcac7fef60a2347f36c2818e9896c831bfa Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Mon, 28 Aug 2023 17:30:23 +0300
Subject: [PATCH 15/52] Update oryx-pages.md
---
.../oryx/building-pages/oryx-pages.md | 24 +++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index 954c6571017..694cab1642c 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -5,19 +5,19 @@ last_updated: Aug 1, 2023
template: concept-topic-template
---
-In Oryx, pages are essential building blocks of web applications. They represent different sections or views within your application and can be created using a data-driven approach. This approach lets you define the composition and layout of pages using external data sources, making it easier to maintain, customize, and optimize your application.
+In Oryx, pages are essential building blocks of web applications. They represent different sections or views within an application and can be created using a data-driven approach. This approach lets you define the composition and layout of pages using external data sources, making it easier to maintain, customize, and optimize your application.
-Oryx provides standard pages, like home, login, or search page, in [application presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html). Using presets gets you up and running fast. This document shows you how to provide custom pages or apply small customization on top of standard preset pages.
+Oryx provides standard pages, like home, login, or search page, in [application presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html). Using presets gets you up and running fast. This document shows you how to provide custom pages or apply small customization on top of the standard preset pages.
## Understanding pages and compositions
-Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in your code. This separation of concerns makes your components more reusable and less tied to specific pages.
+Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in the code. This [separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns) makes your components more reusable and less tied to specific pages.
Oryx leverages a data-driven approach for creating pages, letting you configure the composition and content of pages using external data sources. For the advantages and technical details, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
-## Non-data-driven approach
+## Creating pages with page components
-While Oryx promotes the data-driven approach for creating pages, you are not bound to it. If you prefer, you can create a page component and assign it directly to a route.
+While Oryx promotes the data-driven approach for creating pages, you can create page components and assign them directly to routes.
## Creating pages by data
@@ -58,7 +58,7 @@ export const cartPage: ExperienceComponent = {
In this example, the `route` field is set to `/cart`, so the page is rendered when the `/cart` URL is visited.
-{% info_block infoBox "Reading tip" %}
+{% info_block infoBox "Routing" %}
Changing the route of a page content is not changing the related route. To change a route, you need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-routing.html).
@@ -66,9 +66,9 @@ Changing the route of a page content is not changing the related route. To chang
## Customizing pages and page content
-Oryx enables you to provide custom experience data or change the existing data for your pages. This gives you the flexibility to tailor the compositions to specific needs and business requirements.
+Oryx enables you to provide custom experience data or change the existing data of pages. This gives you the flexibility to tailor the compositions to specific needs and business requirements.
-### Provide custom data
+### Providing custom data
You can provide custom experience data using Oryx's [dependency injection system](/docs/scos/dev/front-end-development/{{page.version}}/oryx/dependency-injection/dependency-injection-providing-services.html).
@@ -121,7 +121,7 @@ const customHomePage: ExperienceComponent = {
### Merge selector
-To replace existing content, provided by [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), you need to define the content that you want to merge and, optionally, the merge strategy.
+To replace existing content provided by [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), you need to define the content that you want to merge and, optionally, the merge strategy.
The selected content is defined by the `merge.selector` field. The following example shows how the provided data replaces the home page.
@@ -150,11 +150,11 @@ Selectors use the following syntax:
- Chain selects, using the dot notation—for example, `#home-page.my-composition.oryx-product-title`.
- Skip parts of the component tree—for example, `#home-page.oryx-product-title` rather than `#home-page.my-composition.oryx-product-title`.
-Using this syntax gives you flexibility to apply changes in any page, or to a very specific pages.
+Using this syntax gives you the flexibility to apply changes in multiple, any, or specific pages.
### Merge strategies
-When you do not provide a merge `type`, by default, the selected component is replaced . Alternative types can be configured in the `merge.type` field.
+When you do not provide a merge `type`, by default, the selected component is replaced. Alternative types can be configured in the `merge.type` field.
The following example shows how to _merge_ content in an existing component.
@@ -186,7 +186,7 @@ The following table gives an overview of the various merge types.
| STRATEGY | DESCRIPTION |
| ---- | - |
| `replace` (default) | Replaces the selected element with the given content. |
-| `patch` | Patches the selected component with the given component. This includes both the component options and content. The data is deep merged, expect for arrays. |
+| `patch` | Patches the selected component with the given component. This includes both the component options and content. All data, except for arrays, is deep-merged. |
| `remove` | Removes the selected component. |
| `before` | Adds the content before the selected component. |
| `after` | Adds the content after the selected component. |
From ea8d9e7c5d25ec77ebabe27f64a313277951403e Mon Sep 17 00:00:00 2001
From: dima_tsemma
Date: Wed, 30 Aug 2023 17:26:15 +0300
Subject: [PATCH 16/52] FRW-5841 Refactored after TW review
---
.../glue-api/dynamic-data-api/dynamic-data-api-integration.md | 2 +-
.../how-to-guides/how-to-configure-dynamic-data-api.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
index 59b2b939410..a6372c07cd7 100644
--- a/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
+++ b/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.md
@@ -136,7 +136,7 @@ class DynamicEntityBackendApiConfig extends SprykerDynamicEntityBackendApiConfig
}
```
-### Dynamic Data Install Configuration
+### Configure Dynamic Data installation
1. Optional: To install default configuration data, create a configuration file:
diff --git a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
index 4c91fd1ea00..2677ed923d1 100644
--- a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
+++ b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
@@ -10,7 +10,7 @@ redirect_from:
This guide shows how to configure the Dynamic Data API endpoints.
To incorporate a new endpoint for interacting with entities in the database,
-add a corresponding row to the `spy_dynamic_entity_configuration` table or create a configuration file and install configuration data. For details, see [Dynamic Data API integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/dynamic-data-api-integration.html)
+add a corresponding row to the `spy_dynamic_entity_configuration` table or create a configuration file and install configuration data. For details, see the [Configure Dynamic Data installation](#dynamic-data-install-configuration) section
The `spy_dynamic_entity_configuration` table represents the configuration for dynamic entity endpoints in the system. It has the following columns:
From bf0cf84fd331461f5991fc9af324672d06d7720b Mon Sep 17 00:00:00 2001
From: Florian Schwarzmeier
Date: Thu, 31 Aug 2023 11:58:39 +0200
Subject: [PATCH 17/52] Updates the getting-started guides to the latest
product release version 202307.0
---
.../install/install-in-demo-mode-on-macos-and-linux.md | 8 ++++----
.../install/install-in-demo-mode-on-windows.md | 8 ++++----
.../install-in-development-mode-on-macos-and-linux.md | 8 ++++----
.../install/install-in-development-mode-on-windows.md | 8 ++++----
...quickstart-guide-install-spryker-on-macos-and-linux.md | 8 ++++----
.../quickstart-guide-install-spryker-on-windows.md | 8 ++++----
6 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-macos-and-linux.md b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-macos-and-linux.md
index 54eb3f639d7..ce98ad5a9ef 100644
--- a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-macos-and-linux.md
+++ b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-macos-and-linux.md
@@ -46,28 +46,28 @@ This document describes how to install Spryker in [Demo Mode](/docs/scos/dev/set
* B2C Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202212.0-p2 --single-branch ./b2c-demo-shop && \
+ git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202307.0 --single-branch ./b2c-demo-shop && \
cd b2c-demo-shop
```
* B2B Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202212.0-p2 --single-branch ./b2b-demo-shop && \
+ git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202307.0 --single-branch ./b2b-demo-shop && \
cd b2c-demo-shop
```
* B2C Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2c-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202307.0 --single-branch ./b2c-demo-marketplace && \
cd b2c-demo-marketplace
```
* B2B Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2b-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202307.0 --single-branch ./b2b-demo-marketplace && \
cd b2b-demo-marketplace
```
diff --git a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-windows.md b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-windows.md
index 2761203d503..688364d85b9 100644
--- a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-windows.md
+++ b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-demo-mode-on-windows.md
@@ -38,28 +38,28 @@ Depending on the needed WSL version, follow one of the guides:
* B2C Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202212.0-p2 --single-branch ./b2c-demo-shop && \
+ git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202307.0 --single-branch ./b2c-demo-shop && \
cd b2c-demo-shop
```
* B2B Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202212.0-p2 --single-branch ./b2b-demo-shop && \
+ git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202307.0 --single-branch ./b2b-demo-shop && \
cd b2c-demo-shop
```
* B2C Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2c-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202307.0 --single-branch ./b2c-demo-marketplace && \
cd b2c-demo-marketplace
```
* B2B Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2b-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202307.0 --single-branch ./b2b-demo-marketplace && \
cd b2b-demo-marketplace
```
diff --git a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-macos-and-linux.md b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-macos-and-linux.md
index df7c9628925..76c89e11c74 100644
--- a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-macos-and-linux.md
+++ b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-macos-and-linux.md
@@ -52,28 +52,28 @@ This document describes how to install Spryker in [Development Mode](/docs/scos/
* B2C Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202212.0-p2 --single-branch ./b2c-demo-shop && \
+ git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202307.0 --single-branch ./b2c-demo-shop && \
cd b2c-demo-shop
```
* B2B Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202212.0-p2 --single-branch ./b2b-demo-shop && \
+ git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202307.0 --single-branch ./b2b-demo-shop && \
cd b2b-demo-shop
```
* B2C Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2c-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202307.0 --single-branch ./b2c-demo-marketplace && \
cd b2c-demo-marketplace
```
* B2B Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2b-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202307.0 --single-branch ./b2b-demo-marketplace && \
cd b2b-demo-marketplace
```
diff --git a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-windows.md b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-windows.md
index c360854065e..38e8b0a5aee 100644
--- a/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-windows.md
+++ b/docs/scos/dev/set-up-spryker-locally/install-spryker/install/install-in-development-mode-on-windows.md
@@ -50,28 +50,28 @@ Recommended: `/home/jdoe/workspace/project`.
* B2C Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202212.0-p2 --single-branch ./b2c-demo-shop && \
+ git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202307.0 --single-branch ./b2c-demo-shop && \
cd b2c-demo-shop
```
* B2B Demo Shop:
```shell
- git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202212.0-p2 --single-branch ./b2b-demo-shop && \
+ git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202307.0 --single-branch ./b2b-demo-shop && \
cd b2c-demo-shop
```
* B2C Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2c-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202307.0 --single-branch ./b2c-demo-marketplace && \
cd b2c-demo-marketplace
```
* B2B Marketplace Demo Shop
```shell
- git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2b-demo-marketplace && \
+ git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202307.0 --single-branch ./b2b-demo-marketplace && \
cd b2b-demo-marketplace
```
diff --git a/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-macos-and-linux.md b/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-macos-and-linux.md
index 7bb60751d38..905db3a7347 100644
--- a/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-macos-and-linux.md
+++ b/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-macos-and-linux.md
@@ -27,7 +27,7 @@ brew list | grep mutagen | xargs brew remove && brew install mutagen-io/mutagen/
- B2B Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202212.0-p2 --single-branch ./b2b-demo-shop && \
+git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202307.0 --single-branch ./b2b-demo-shop && \
cd b2b-demo-shop && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
@@ -36,7 +36,7 @@ docker/sdk bootstrap deploy.dev.yml
- B2C Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202212.0-p2 --single-branch ./b2c-demo-shop && \
+git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202307.0 --single-branch ./b2c-demo-shop && \
cd b2c-demo-shop && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
@@ -45,7 +45,7 @@ docker/sdk bootstrap deploy.dev.yml
- B2B Marketplace Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2b-demo-marketplace && \
+git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202307.0 --single-branch ./b2b-demo-marketplace && \
cd b2b-demo-marketplace && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
@@ -54,7 +54,7 @@ docker/sdk bootstrap deploy.dev.yml
- B2C Marketplace Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2c-demo-marketplace && \
+git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202307.0 --single-branch ./b2c-demo-marketplace && \
cd b2b-demo-marketplace && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
diff --git a/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-windows.md b/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-windows.md
index 51f93366fa9..ed6dd84236f 100644
--- a/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-windows.md
+++ b/docs/scos/dev/set-up-spryker-locally/quickstart-guides-install-spryker/quickstart-guide-install-spryker-on-windows.md
@@ -26,7 +26,7 @@ Depending on the needed Demo Shop, run one of the following in Ubuntu:
- B2B Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202212.0-p2 --single-branch ./b2b-demo-shop && \
+git clone https://github.com/spryker-shop/b2b-demo-shop.git -b 202307.0 --single-branch ./b2b-demo-shop && \
cd b2b-demo-shop && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
@@ -35,7 +35,7 @@ docker/sdk bootstrap deploy.dev.yml
- B2C Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202212.0-p2 --single-branch ./b2c-demo-shop && \
+git clone https://github.com/spryker-shop/b2c-demo-shop.git -b 202307.0 --single-branch ./b2c-demo-shop && \
cd b2c-demo-shop && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
@@ -44,7 +44,7 @@ docker/sdk bootstrap deploy.dev.yml
- B2B Marketplace Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2b-demo-marketplace && \
+git clone https://github.com/spryker-shop/b2b-demo-marketplace.git -b 202307.0 --single-branch ./b2b-demo-marketplace && \
cd b2b-demo-marketplace && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
@@ -53,7 +53,7 @@ docker/sdk bootstrap deploy.dev.yml
- B2C Marketplace Demo Shop:
```shell
-git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202212.0-p2 --single-branch ./b2c-demo-marketplace && \
+git clone https://github.com/spryker-shop/b2c-demo-marketplace.git -b 202307.0 --single-branch ./b2c-demo-marketplace && \
cd b2b-demo-marketplace && \
git clone https://github.com/spryker/docker-sdk.git --single-branch docker && \
docker/sdk bootstrap deploy.dev.yml
From 593cd22032bee9fea01e6a308bcc2da5d2c30466 Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Fri, 1 Sep 2023 11:48:00 +0200
Subject: [PATCH 18/52] updating the sidebar for zed api
---
_data/sidebars/scos_dev_sidebar.yml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/_data/sidebars/scos_dev_sidebar.yml b/_data/sidebars/scos_dev_sidebar.yml
index d42b1770421..9991a7a7ffa 100644
--- a/_data/sidebars/scos_dev_sidebar.yml
+++ b/_data/sidebars/scos_dev_sidebar.yml
@@ -4032,15 +4032,15 @@ entries:
url: /docs/scos/dev/sdk/zed-api/zed-api.html
nested:
- title: Project implementation - Zed API
- url: /docs/scos/dev/sdk/zed-api/zed-api-project-implementation.html
+ url: /docs/scos/dev/zed-api/zed-api-project-implementation.html
- title: Zed API configuration
- url: /docs/scos/dev/sdk/zed-api/zed-api-configuration.html
+ url: /docs/scos/dev/zed-api/zed-api-configuration.html
- title: CRUD functionality - Zed API
- url: /docs/scos/dev/sdk/zed-api/zed-api-crud-functionality.html
+ url: /docs/scos/dev/zed-api/zed-api-crud-functionality.html
- title: Processor stack - Zed API
- url: /docs/scos/dev/sdk/zed-api/zed-api-processor-stack.html
+ url: /docs/scos/dev/zed-api/zed-api-processor-stack.html
- title: Zed API resources
- url: /docs/scos/dev/sdk/zed-api/zed-api-resources.html
+ url: /docs/scos/dev/zed-api/zed-api-processor-stack.html
- title: Zed API (BETA)
url: /docs/scos/dev/sdk/zed-api/zed-api-beta.html
- title: Code generator
From 34f3deeb591f9d8cf0cb83fc02f5dae86eca7245 Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Fri, 1 Sep 2023 11:53:31 +0200
Subject: [PATCH 19/52] updating the build changelog file
---
.github/workflows/build-changelog.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.github/workflows/build-changelog.yml b/.github/workflows/build-changelog.yml
index b359fc427da..30196c5c1ff 100644
--- a/.github/workflows/build-changelog.yml
+++ b/.github/workflows/build-changelog.yml
@@ -2,7 +2,7 @@ name: Build changelog
on:
push:
tags:
- - "*"
+ - "08.2023"
jobs:
release:
@@ -31,8 +31,6 @@ jobs:
}
]
}'
- fromTag: "07.2023"
- toTag: "08.2023"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
From 950dd609bdb9fc888ff044c7035f66a789475227 Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Fri, 1 Sep 2023 11:57:47 +0200
Subject: [PATCH 20/52] fixing the link to Zed API resources
---
_data/sidebars/scos_dev_sidebar.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_data/sidebars/scos_dev_sidebar.yml b/_data/sidebars/scos_dev_sidebar.yml
index 9991a7a7ffa..e42eed3249e 100644
--- a/_data/sidebars/scos_dev_sidebar.yml
+++ b/_data/sidebars/scos_dev_sidebar.yml
@@ -4040,7 +4040,7 @@ entries:
- title: Processor stack - Zed API
url: /docs/scos/dev/zed-api/zed-api-processor-stack.html
- title: Zed API resources
- url: /docs/scos/dev/zed-api/zed-api-processor-stack.html
+ url: /docs/scos/dev/zed-api/zed-api-resources.html
- title: Zed API (BETA)
url: /docs/scos/dev/sdk/zed-api/zed-api-beta.html
- title: Code generator
From 4ab85ecf7c3b3eea42db5ff9b2c81a66aa9c4e3d Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Fri, 1 Sep 2023 16:49:39 +0200
Subject: [PATCH 21/52] fixing the link
---
.../how-to-guides/how-to-configure-dynamic-data-api.md | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
index bf3640cae0b..c307e8b8951 100644
--- a/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
+++ b/docs/scos/dev/glue-api-guides/202307.0/dynamic-data-api/how-to-guides/how-to-configure-dynamic-data-api.md
@@ -9,8 +9,7 @@ redirect_from:
This guide shows how to configure the Dynamic Data API endpoints.
-To incorporate a new endpoint for interacting with entities in the database,
-add a corresponding row to the `spy_dynamic_entity_configuration` table or create a configuration file and install configuration data. For details, see the [Configure Dynamic Data installation](#dynamic-data-install-configuration) section
+To incorporate a new endpoint for interacting with entities in the database, add a corresponding row to the `spy_dynamic_entity_configuration` table or create a configuration file and install configuration data. For details, see the [Configure Dynamic Data installation](/docs/scos/dev/feature-integration-guides/202307.0/glue-api/dynamic-data-api/dynamic-data-api-integration.html#configure-dynamic-data-installation).
The `spy_dynamic_entity_configuration` table represents the configuration for dynamic entity endpoints in the system. It has the following columns:
From 43ec6c8d7837621337c057153b10f4277b97ee4d Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Fri, 1 Sep 2023 17:16:30 +0200
Subject: [PATCH 22/52] Polishing the Early Access Release definition for DMS
---
...-dynamic-multistore-the-availability-notification-feature.md | 2 +-
.../202307.0/install-dynamic-multistore-the-cart-feature.md | 2 +-
.../202307.0/install-dynamic-multistore-the-cms-feature.md | 2 +-
...ynamic-multistore-the-customer-account-management-feature.md | 2 +-
.../202307.0/install-dynamic-multistore-the-prices-feature.md | 2 +-
.../202307.0/install-dynamic-multistore-the-product-feature.md | 2 +-
.../all/install-features/202307.0/install-dynamic-multistore.md | 2 +-
...l-the-marketplace-merchant-portal-core-dynamic-multistore.md | 2 +-
.../202307.0/install-the-dynamic-multistore-glue-api.md | 2 +-
_includes/pbc/all/upgrade-modules/upgrade-the-country-module.md | 2 +-
.../pbc/all/upgrade-modules/upgrade-the-currency-module.md | 2 +-
_includes/pbc/all/upgrade-modules/upgrade-the-locale-module.md | 2 +-
.../all/dynamic-multistore/202307.0/base-shop/delete-stores.md | 2 +-
.../202307.0/base-shop/dynamic-multistore-feature-overview.md | 2 +-
docs/pbc/all/dynamic-multistore/202307.0/dynamic-multistore.md | 2 +-
.../release-notes-202307.0/release-notes-202307.0.md | 2 +-
16 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-availability-notification-feature.md b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-availability-notification-feature.md
index 8e926be9ce5..8206a663a61 100644
--- a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-availability-notification-feature.md
+++ b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-availability-notification-feature.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
This document describes how to install Dynamic Store + the Availability Notification feature.
diff --git a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cart-feature.md b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cart-feature.md
index 8b6c57e9dfd..fbc3c493f16 100644
--- a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cart-feature.md
+++ b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cart-feature.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
This document describes how to install Dynamic Store + the Cart feature.
diff --git a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cms-feature.md b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cms-feature.md
index 027285bd23c..f7ef4a331e4 100644
--- a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cms-feature.md
+++ b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-cms-feature.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-customer-account-management-feature.md b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-customer-account-management-feature.md
index 10c761c832c..ab010f5a665 100644
--- a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-customer-account-management-feature.md
+++ b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-customer-account-management-feature.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-prices-feature.md b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-prices-feature.md
index 62bc94cd394..dedcbc24946 100644
--- a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-prices-feature.md
+++ b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-prices-feature.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-product-feature.md b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-product-feature.md
index 363c75550dc..6eacf8dbdbf 100644
--- a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-product-feature.md
+++ b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore-the-product-feature.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore.md b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore.md
index 6566eb033e4..b448a98cd62 100644
--- a/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore.md
+++ b/_includes/pbc/all/install-features/202307.0/install-dynamic-multistore.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/install-features/202307.0/marketplace/install-the-marketplace-merchant-portal-core-dynamic-multistore.md b/_includes/pbc/all/install-features/202307.0/marketplace/install-the-marketplace-merchant-portal-core-dynamic-multistore.md
index 15add0e9e1d..9684277a940 100644
--- a/_includes/pbc/all/install-features/202307.0/marketplace/install-the-marketplace-merchant-portal-core-dynamic-multistore.md
+++ b/_includes/pbc/all/install-features/202307.0/marketplace/install-the-marketplace-merchant-portal-core-dynamic-multistore.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/install-glue-api/202307.0/install-the-dynamic-multistore-glue-api.md b/_includes/pbc/all/install-glue-api/202307.0/install-the-dynamic-multistore-glue-api.md
index 8ff29fc0cd0..e4b1688783a 100644
--- a/_includes/pbc/all/install-glue-api/202307.0/install-the-dynamic-multistore-glue-api.md
+++ b/_includes/pbc/all/install-glue-api/202307.0/install-the-dynamic-multistore-glue-api.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/upgrade-modules/upgrade-the-country-module.md b/_includes/pbc/all/upgrade-modules/upgrade-the-country-module.md
index 73788e83757..ad0d94d7f44 100644
--- a/_includes/pbc/all/upgrade-modules/upgrade-the-country-module.md
+++ b/_includes/pbc/all/upgrade-modules/upgrade-the-country-module.md
@@ -4,7 +4,7 @@ This document describes how to upgrade the Country module.
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/upgrade-modules/upgrade-the-currency-module.md b/_includes/pbc/all/upgrade-modules/upgrade-the-currency-module.md
index b8e3d7f4830..95fb446989e 100644
--- a/_includes/pbc/all/upgrade-modules/upgrade-the-currency-module.md
+++ b/_includes/pbc/all/upgrade-modules/upgrade-the-currency-module.md
@@ -4,7 +4,7 @@ This document describes how to upgrade the Currency module.
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/_includes/pbc/all/upgrade-modules/upgrade-the-locale-module.md b/_includes/pbc/all/upgrade-modules/upgrade-the-locale-module.md
index e5f5bed08ae..c4e63996119 100644
--- a/_includes/pbc/all/upgrade-modules/upgrade-the-locale-module.md
+++ b/_includes/pbc/all/upgrade-modules/upgrade-the-locale-module.md
@@ -1,6 +1,6 @@
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/docs/pbc/all/dynamic-multistore/202307.0/base-shop/delete-stores.md b/docs/pbc/all/dynamic-multistore/202307.0/base-shop/delete-stores.md
index 11c7cb8b16f..6f07fd49e7c 100644
--- a/docs/pbc/all/dynamic-multistore/202307.0/base-shop/delete-stores.md
+++ b/docs/pbc/all/dynamic-multistore/202307.0/base-shop/delete-stores.md
@@ -7,7 +7,7 @@ template: howto-guide-template
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/docs/pbc/all/dynamic-multistore/202307.0/base-shop/dynamic-multistore-feature-overview.md b/docs/pbc/all/dynamic-multistore/202307.0/base-shop/dynamic-multistore-feature-overview.md
index 3f090dee374..30ad5eccfae 100644
--- a/docs/pbc/all/dynamic-multistore/202307.0/base-shop/dynamic-multistore-feature-overview.md
+++ b/docs/pbc/all/dynamic-multistore/202307.0/base-shop/dynamic-multistore-feature-overview.md
@@ -7,7 +7,7 @@ template: concept-topic-template
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/docs/pbc/all/dynamic-multistore/202307.0/dynamic-multistore.md b/docs/pbc/all/dynamic-multistore/202307.0/dynamic-multistore.md
index d8bb0e29705..2d4eef6d2ba 100644
--- a/docs/pbc/all/dynamic-multistore/202307.0/dynamic-multistore.md
+++ b/docs/pbc/all/dynamic-multistore/202307.0/dynamic-multistore.md
@@ -7,7 +7,7 @@ template: concept-topic-template
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
diff --git a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
index ce666da8753..bbe56f84a0f 100644
--- a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
+++ b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
@@ -325,7 +325,7 @@ Spryker is launching an Early Release Access program for customers who want to b
{% info_block warningBox %}
-Dynamic Multistore is part of an *Early Access Release*. This *Early Access* feature introduces the ability to handle the store entity in the Back Office. Business users can try creating stores without editing the `Stores.php` file and redeploying the system.
+Dynamic Multistore is currently running under an *Early Access Release*. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
{% endinfo_block %}
From c527a8ab464afc75cba9e9d4974b5a53cd1f3535 Mon Sep 17 00:00:00 2001
From: Artem
Date: Mon, 4 Sep 2023 15:40:37 +0200
Subject: [PATCH 23/52] CC-24928 service point product offer availability
---
...fer-service-points-availability-feature.md | 122 +++++++++++++++
...he-product-offer-service-points-feature.md | 1 +
...ct-offer-shipments-availability-feature.md | 147 ++++++++++++++++++
...he-product-offer-service-points-feature.md | 2 +-
...fer-service-points-availability-feature.md | 8 +
...ct-offer-shipments-availability-feature.md | 8 +
6 files changed, 287 insertions(+), 1 deletion(-)
create mode 100644 _includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-availability-feature.md
create mode 100644 _includes/pbc/all/install-features/202400.0/install-the-product-offer-shipments-availability-feature.md
create mode 100644 docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-availability-feature.md
create mode 100644 docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-shipments-availability-feature.md
diff --git a/_includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-availability-feature.md b/_includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-availability-feature.md
new file mode 100644
index 00000000000..4bf6c871eb3
--- /dev/null
+++ b/_includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-availability-feature.md
@@ -0,0 +1,122 @@
+
+
+This document describes how to integrate the Product Offer Service Points Availability feature into a Spryker project.
+
+## Install feature core
+
+Follow the steps below to install the Product Offer Service Points Availability feature.
+
+### Prerequisites
+
+To start feature integration, integrate the required features:
+
+| NAME | VERSION | INTEGRATION GUIDE |
+|----------------------------------|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Product Offer Service Points | {{page.version}} | [Install the Product Offer Service Points feature](/docs/pbc/all/offer-management/{{page.version}}/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-feature.html) |
+| Marketplace Inventory Management | {{page.version}} | [Marketplace Inventory Management feature integration](/docs/pbc/all/warehouse-management-system/{{page.version}}/marketplace/install-features/install-the-marketplace-inventory-management-feature.html) |
+
+### 1) Install the required modules using Composer
+
+```bash
+composer require spryker-feature/product-offer-service-points-availability: "{{page.version}}" --update-with-dependencies
+```
+
+{% info_block warningBox "Verification" %}
+
+Make sure that the following modules have been installed:
+
+| MODULE | EXPECTED DIRECTORY |
+|-----------------------------------------------|-------------------------------------------------------------------|
+| ProductOfferServicePointAvailability | vendor/spryker/product-offer-service-point-availability |
+| ProductOfferServicePointAvailabilityExtension | vendor/spryker/product-offer-service-point-availability-extension |
+
+{% endinfo_block %}
+
+
+### 2) Set up transfer objects
+
+1. Generate transfer changes:
+
+```bash
+console transfer:generate
+```
+
+{% info_block warningBox "Verification" %}
+
+Make sure that the following changes have been applied in transfer objects:
+
+| TRANSFER | TYPE | EVENT | PATH |
+|--------------------------------------------------|-------|---------|----------------------------------------------------------------------------------------|
+| ProductOfferCriteria | class | created | src/Generated/Shared/Transfer/ProductOfferCriteriaTransfer |
+| ProductAvailabilityCriteria | class | created | src/Generated/Shared/Transfer/ProductAvailabilityCriteriaTransfer |
+| ServicePoint | class | created | src/Generated/Shared/Transfer/ServicePointTransfer |
+| SellableItemRequest | class | created | src/Generated/Shared/Transfer/SellableItemRequestTransfer |
+| ProductOfferConditions | class | created | src/Generated/Shared/Transfer/ProductOfferConditionsTransfer |
+| SellableItemsResponse | class | created | src/Generated/Shared/Transfer/SellableItemsResponseTransfer |
+| SellableItemResponse | class | created | src/Generated/Shared/Transfer/SellableItemResponseTransfer |
+| SellableItemsRequest | class | created | src/Generated/Shared/Transfer/SellableItemsRequestTransfer |
+| ProductOfferCollection | class | created | src/Generated/Shared/Transfer/ProductOfferCollectionTransfer |
+| ProductOfferServiceCollection | class | created | src/Generated/Shared/Transfer/ProductOfferServiceCollectionTransfer |
+| ProductOfferServiceCriteria | class | created | src/Generated/Shared/Transfer/ProductOfferServiceCriteriaTransfer |
+| ProductOfferServiceConditions | class | created | src/Generated/Shared/Transfer/ProductOfferServiceConditionsTransfer |
+| ProductOffer | class | created | src/Generated/Shared/Transfer/ProductOfferTransfer |
+| ProductOfferServices | class | created | src/Generated/Shared/Transfer/ProductOfferServicesTransfer |
+| Service | class | created | src/Generated/Shared/Transfer/ServiceTransfer |
+| ProductOfferServicePointAvailabilityRequestItem | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityRequestItemTransfer |
+| ProductOfferServicePointAvailabilityConditions | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityConditionsTransfer |
+| ProductOfferServicePointAvailabilityCriteria | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityCriteriaTransfer |
+| ProductOfferServicePointAvailabilityResponseItem | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityResponseItemTransfer |
+| ProductOfferServicePointAvailabilityCollection | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityCollectionTransfer |
+| ProductOfferStorage | class | created | src/Generated/Shared/Transfer/ProductOfferStorageTransfer |
+| ServiceStorage | class | created | src/Generated/Shared/Transfer/ServiceStorageTransfer |
+| ServiceTypeStorage | class | created | src/Generated/Shared/Transfer/ServiceTypeStorageTransfer |
+| ProductOfferAvailabilityStorage | class | created | src/Generated/Shared/Transfer/ProductOfferAvailabilityStorageTransfer |
+| ProductOfferStorageCollection | class | created | src/Generated/Shared/Transfer/ProductOfferStorageCollectionTransfer |
+| ProductOfferStorageCriteria | class | created | src/Generated/Shared/Transfer/ProductOfferStorageCriteriaTransfer |
+| ServicePointStorage | class | created | src/Generated/Shared/Transfer/ServicePointStorageTransfer |
+
+{% endinfo_block %}
+
+## Set up behavior
+
+1. Register availability plugins:
+
+| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
+|---------------------------------------------------------|-------------------------------------------------|---------------|-------------------------------------------------------------------------------------|
+| ProductOfferServicePointBatchAvailabilityStrategyPlugin | Validates service point for the product offer. | None | Spryker\Zed\ProductOfferServicePointAvailability\Communication\Plugin\Availability\ProductOfferServicePointBatchAvailabilityStrategyPlugin |
+
+**src/Pyz/Zed/Availability/AvailabilityDependencyProvider.php**
+
+```php
+
+ */
+ protected function getBatchAvailabilityStrategyPlugins(): array
+ {
+ return [
+ new ProductOfferServicePointBatchAvailabilityStrategyPlugin(), // Needs to be before ProductConcreteBatchAvailabilityStrategyPlugin
+ ];
+ }
+}
+```
+
+{% info_block warningBox "Verification" %}
+
+Make sure that availability plugin works correctly:
+
+1. Add a product offer with the service point to your cart.
+
+2. Go to `spy_product_offer_service` and delete the connection between product offer and service point.
+
+3. Try to create an order. You should see the error message that the product is not available at the moment.
+
+{% endinfo_block %}
diff --git a/_includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-feature.md b/_includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-feature.md
index 4ad88040c89..7997f5020f2 100644
--- a/_includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-feature.md
+++ b/_includes/pbc/all/install-features/202400.0/install-the-product-offer-service-points-feature.md
@@ -110,6 +110,7 @@ Make sure that the following changes have been applied in transfer objects:
| IterableProductOfferServicesConditions | class | created | src/Generated/Shared/Transfer/IterableProductOfferServicesConditionsTransfer |
| ProductOfferServiceStorage | class | created | src/Generated/Shared/Transfer/ProductOfferServiceStorageTransfer |
| ProductOfferServiceStorageCollection | class | created | src/Generated/Shared/Transfer/ProductOfferServiceStorageCollectionTransfer |
+| ServiceStorageCollection | class | created | src/Generated/Shared/Transfer/ServiceStorageCollectionTransfer |
| ServicePointStorageCollection | class | created | src/Generated/Shared/Transfer/ServicePointStorageCollectionTransfer |
| ServicePointStorageCriteria | class | created | src/Generated/Shared/Transfer/ServicePointStorageCriteriaTransfer |
| ServicePointStorageConditions | class | created | src/Generated/Shared/Transfer/ServicePointStorageConditionsTransfer |
diff --git a/_includes/pbc/all/install-features/202400.0/install-the-product-offer-shipments-availability-feature.md b/_includes/pbc/all/install-features/202400.0/install-the-product-offer-shipments-availability-feature.md
new file mode 100644
index 00000000000..0d4d448a7cd
--- /dev/null
+++ b/_includes/pbc/all/install-features/202400.0/install-the-product-offer-shipments-availability-feature.md
@@ -0,0 +1,147 @@
+
+
+This document describes how to integrate the Product Offer Shipments Availability feature into a Spryker project.
+
+## Install feature core
+
+Follow the steps below to install the Product Offer Shipments Availability feature.
+
+### Prerequisites
+
+To start feature integration, integrate the required features:
+
+| NAME | VERSION | INTEGRATION GUIDE |
+|-------------------------------------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Product Offer Service Points Availability | {{page.version}} | [Install the Product Offer Service Points Availability feature](/docs/pbc/all/service-points/{{page.version}}/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-availability-feature.html) |
+| Shipment | {{page.version}} | [Shipment feature integration](/docs/pbc/all/carrier-management/{{page.version}}/base-shop/install-and-upgrade/install-features/install-the-shipment-feature.html) |
+
+### 1) Install the required modules using Composer
+
+```bash
+composer require spryker-feature/product-offer-shipment-availability: "{{page.version}}" --update-with-dependencies
+```
+
+{% info_block warningBox "Verification" %}
+
+Make sure that the following modules have been installed:
+
+| MODULE | EXPECTED DIRECTORY |
+|-----------------------------------------------|----------------------------------------------------|
+| ProductOfferShipmentAvailability | vendor/spryker/product-offer-shipment-availability |
+
+{% endinfo_block %}
+
+
+### 2) Set up transfer objects
+
+1. Generate transfer changes:
+
+```bash
+console transfer:generate
+```
+
+{% info_block warningBox "Verification" %}
+
+Make sure that the following changes have been applied in transfer objects:
+
+| TRANSFER | TYPE | EVENT | PATH |
+|--------------------------------------------------------|-------|---------|----------------------------------------------------------------------------------------|
+| ProductOfferCriteria | class | created | src/Generated/Shared/Transfer/ProductOfferCriteriaTransfer |
+| ProductAvailabilityCriteria | class | created | src/Generated/Shared/Transfer/ProductAvailabilityCriteriaTransfer |
+| ShipmentType | class | created | src/Generated/Shared/Transfer/ShipmentTypeTransfer |
+| SellableItemRequest | class | created | src/Generated/Shared/Transfer/SellableItemRequestTransfer |
+| ProductOfferConditions | class | created | src/Generated/Shared/Transfer/ProductOfferConditionsTransfer |
+| SellableItemsResponse | class | created | src/Generated/Shared/Transfer/SellableItemsResponseTransfer |
+| SellableItemResponse | class | created | src/Generated/Shared/Transfer/SellableItemResponseTransfer |
+| SellableItemsRequest | class | created | src/Generated/Shared/Transfer/SellableItemsRequestTransfer |
+| ProductOfferCollection | class | created | src/Generated/Shared/Transfer/ProductOfferCollectionTransfer |
+| ProductOffer | class | created | src/Generated/Shared/Transfer/ProductOfferTransfer |
+| ProductOfferShipmentTypeCollection | class | created | src/Generated/Shared/Transfer/ProductOfferShipmentTypeCollectionTransfer |
+| ProductOfferShipmentTypeCriteria | class | created | src/Generated/Shared/Transfer/ProductOfferShipmentTypeCriteriaTransfer |
+| ProductOfferShipmentTypeConditions | class | created | src/Generated/Shared/Transfer/ProductOfferShipmentTypeConditionsTransfer |
+| ProductOfferShipmentType | class | created | src/Generated/Shared/Transfer/ProductOfferShipmentTypeTransfer |
+| ProductOfferServicePointAvailabilityConditions | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityConditionsTransfer |
+| ProductOfferServicePointAvailabilityCollection | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityCollectionTransfer |
+| ProductOfferServicePointAvailabilityCriteria | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityCriteriaTransfer |
+| ProductOfferServicePointAvailabilityResponseItem | class | created | src/Generated/Shared/Transfer/ProductOfferServicePointAvailabilityResponseItemTransfer |
+| ProductOfferStorage | class | created | src/Generated/Shared/Transfer/ProductOfferStorageTransfer |
+| ShipmentTypeStorage | class | created | src/Generated/Shared/Transfer/ShipmentTypeStorageTransfer |
+| ShipmentTypeStorageConditions | class | created | src/Generated/Shared/Transfer/ShipmentTypeStorageConditionsTransfer |
+| ShipmentTypeStorageCriteria | class | created | src/Generated/Shared/Transfer/ShipmentTypeStorageCriteriaTransfer |
+| ShipmentTypeStorageCollection | class | created | src/Generated/Shared/Transfer/ShipmentTypeStorageCollectionTransfer |
+
+{% endinfo_block %}
+
+## Set up behavior
+
+1. Register availability plugins:
+
+| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
+|---------------------------------------------------------|------------------------------------------------|---------------|---------------------------------------------------------------------------------------------------------------------------------------------|
+| ProductOfferShipmentTypeBatchAvailabilityStrategyPlugin | Validates shipment type for the product offer. | None | Spryker\Zed\ProductOfferShipmentTypeAvailability\Communication\Plugin\Availability\ProductOfferShipmentTypeBatchAvailabilityStrategyPlugin |
+
+**src/Pyz/Zed/Availability/AvailabilityDependencyProvider.php**
+
+```php
+
+ */
+ protected function getBatchAvailabilityStrategyPlugins(): array
+ {
+ return [
+ new ProductOfferShipmentTypeBatchAvailabilityStrategyPlugin(), // Needs to be before ProductConcreteBatchAvailabilityStrategyPlugin
+ ];
+ }
+}
+```
+
+{% info_block warningBox "Verification" %}
+
+Make sure that availability plugin works correctly:
+
+1. Add a product offer with the shipment type to your cart.
+
+2. Go to `spy_product_offer_shipment_type` and delete the connection between product offer and service point.
+
+3. Try to create an order. You should see the error message that the product is not available at the moment.
+
+{% endinfo_block %}
+
+2. Register availability filter plugins:
+
+| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
+|---------------------------------------------------------------|-------------------------------------------------------------------|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| ShipmentTypeProductOfferServicePointAvailabilityFilterPlugin | Filters product offer service point availability by shipmen type. | None | Spryker\Client\ProductOfferShipmentTypeAvailability\Plugin\ProductOfferServicePointAvailability\ShipmentTypeProductOfferServicePointAvailabilityFilterPlugin |
+
+**src/Pyz/Client/ProductOfferServicePointAvailability/ProductOfferServicePointAvailabilityDependencyProvider.php**
+
+```php
+
+ */
+ protected function getProductOfferServicePointAvailabilityFilterPlugins(): array
+ {
+ return [
+ new ShipmentTypeProductOfferServicePointAvailabilityFilterPlugin(),
+ ];
+ }
+}
+```
diff --git a/docs/pbc/all/offer-management/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-feature.md b/docs/pbc/all/offer-management/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-feature.md
index 75949e36e26..9eee19d6e12 100644
--- a/docs/pbc/all/offer-management/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-feature.md
+++ b/docs/pbc/all/offer-management/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-feature.md
@@ -1,7 +1,7 @@
---
title: Install the Product Offer + Service Points feature
description: Learn how to integrate the Product Offer + Service Points feature into your project
-last_updated: July 04, 2023
+last_updated: Sep 04, 2023
template: feature-integration-guide-template
---
diff --git a/docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-availability-feature.md b/docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-availability-feature.md
new file mode 100644
index 00000000000..4f6f91b2aa1
--- /dev/null
+++ b/docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-service-points-availability-feature.md
@@ -0,0 +1,8 @@
+---
+title: Install the Product Offer Service Points Availability feature
+description: Learn how to integrate the Product Offer Service Points Availability feature into your project
+last_updated: Sep 04, 2023
+template: feature-integration-guide-template
+---
+
+{% include pbc/all/install-features/{{page.version}}/install-the-product-offer-service-points-availability-feature.md %}
diff --git a/docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-shipments-availability-feature.md b/docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-shipments-availability-feature.md
new file mode 100644
index 00000000000..f3a668a33b5
--- /dev/null
+++ b/docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-shipments-availability-feature.md
@@ -0,0 +1,8 @@
+---
+title: Install the Product Offer Shipment Availability feature
+description: Learn how to integrate the Product Offer Shipment Availability feature into your project
+last_updated: Sep 04, 2023
+template: feature-integration-guide-template
+---
+
+{% include pbc/all/install-features/{{page.version}}/install-the-product-offer-shipments-availability-feature.md %}
From 5cbd11311fed27cf9c4d8c46f5dd38d3f5d123d9 Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Mon, 4 Sep 2023 16:15:27 +0200
Subject: [PATCH 24/52] Doc release notes 08.2023
---
_data/sidebars/scos_dev_sidebar.yml | 2 +-
...store-availability-notification-feature.md | 4 +-
.../upgradability-guidelines/npm-checker.md | 4 +-
...ecurity.md => spryker-security-checker.md} | 6 +--
.../intro-to-spryker/docs-release-notes.md | 45 +++++++++++++++++++
5 files changed, 52 insertions(+), 9 deletions(-)
rename docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/{security.md => spryker-security-checker.md} (85%)
diff --git a/_data/sidebars/scos_dev_sidebar.yml b/_data/sidebars/scos_dev_sidebar.yml
index e42eed3249e..1ec23f693ad 100644
--- a/_data/sidebars/scos_dev_sidebar.yml
+++ b/_data/sidebars/scos_dev_sidebar.yml
@@ -4029,7 +4029,7 @@ entries:
- title: ARM architecture (M1 chip)
url: /docs/scos/dev/technical-enhancement-integration-guides/switch-to-arm-architecture-m1-chip.html
- title: Zed API
- url: /docs/scos/dev/sdk/zed-api/zed-api.html
+ url: /docs/scos/dev/zed-api/zed-api.html
nested:
- title: Project implementation - Zed API
url: /docs/scos/dev/zed-api/zed-api-project-implementation.html
diff --git a/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore-availability-notification-feature.md b/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore-availability-notification-feature.md
index 34b6a70c74d..da1c63596ed 100644
--- a/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore-availability-notification-feature.md
+++ b/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore-availability-notification-feature.md
@@ -1,6 +1,6 @@
---
-title: Install Dynamic Multistore + Avalability Notification feature
-description: Learn how to integrate the Dynamic multiple stores & Avalability Notification feature into a Spryker project.
+title: Install Dynamic Multistore + Availability Notification feature
+description: Learn how to integrate the Dynamic multiple stores & Availability Notification feature into a Spryker project.
last_updated: Apr 25, 2023
template: feature-integration-guide-template
---
diff --git a/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/npm-checker.md b/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/npm-checker.md
index 7f3284e38b5..105b206bfc2 100644
--- a/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/npm-checker.md
+++ b/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/npm-checker.md
@@ -38,6 +38,4 @@ Read more: https://docs.spryker.com/docs/scos/dev/guidelines/keeping-a-project-u
### Resolving the issue
-To resolve the issue:
-
-1. Update the npm dependencies with known vulnerabilities to the versions where the vulnerability issues are fixed.
+To resolve the issue, update the npm dependencies with known vulnerabilities to the versions where the vulnerability issues are fixed.
diff --git a/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.md b/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/spryker-security-checker.md
similarity index 85%
rename from docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.md
rename to docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/spryker-security-checker.md
index 38cf7fa6587..10f91ce35a1 100644
--- a/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.md
+++ b/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/spryker-security-checker.md
@@ -2,6 +2,8 @@
title: Spryker security checker
description: Reference information for evaluator tools.
template: howto-guide-template
+redirect_from:
+ - /docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.html
---
Security Update Checker is a tool that checks if security fixes exist for Spryker modules that are present in your project.
@@ -39,6 +41,4 @@ Your `composer.lock` file contains package versions that have security issues:
````
### Resolving the error
-
-To resolve the error:
-1. Upgrade the package to a version where the vulnerability issue is fixed.
+To resolve the error, upgrade the package to a version where the vulnerability issue is fixed.
diff --git a/docs/scos/user/intro-to-spryker/docs-release-notes.md b/docs/scos/user/intro-to-spryker/docs-release-notes.md
index 06bf2694e7c..2563806bea1 100644
--- a/docs/scos/user/intro-to-spryker/docs-release-notes.md
+++ b/docs/scos/user/intro-to-spryker/docs-release-notes.md
@@ -4,6 +4,51 @@ description: Spryker docs release notes
template: concept-topic-template
last_updated: Aug 2, 2023
---
+
+## August 2023
+
+In August 2023, we have added and updated the following pages:
+
+### New pages
+
+- [HowTo: Reduce Jenkins execution by up to 80% without P&S and Data importers refactoring](/docs/scos/dev/tutorials-and-howtos/howtos/howto-reduce-jenkins-execution-costs-without-refactoring.html): Learn how to save Jenkins-related costs or speed up background jobs processing by implementing a single custom worker for all stores.
+- [Release notes 202307.0](/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.html).
+- [Security release notes 202307.0](/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/security-release-notes-202307.0.html).
+- [Spryker security checker](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.html): Learn how to check for security fixes in the Spryker modules.
+- [Open-source vulnerabilities checker](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/open-source-vulnerabilities.html): Learn how to check if your PHP application depends on PHP packages with known security vulnerabilities.
+- [Dynamic multistore docs](/docs/pbc/all/dynamic-multistore/202307.0/dynamic-multistore.html):
+ - [Dynamic Multistore feature overview](/docs/pbc/all/dynamic-multistore/202307.0/base-shop/dynamic-multistore-feature-overview.html).
+ - [Dynamic Multistore feature integration guide](/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore.html).
+ - [Dynamic Multistore + Availability Notification feature integration guide](/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore-availability-notification-feature.html).
+ - [Dynamic Multistore + Cart feature integration guide](/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore-cart-feature.html).
+ - [Dynamic Multistore + CMS feature integration guide](/docs/pbc/all/dynamic-multistore/202307.0/base-shop/install-and-upgrade/install-features/install-dynamic-multistore-cms-feature.html).
+- [Service Points + Customer Account Management feature integration guide](/docs/pbc/all/service-points/202400.0/unified-commerce/install-and-upgrade/install-the-customer-account-management-service-points-feature.html).
+- [Npm checker](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/npm-checker.html): Learn how you can identify security vulnerabilities in the npm dependencies with the Npm checker.
+- [HowTo: Set up XDebug profiling](/docs/scos/dev/tutorials-and-howtos/howtos/howto-setup-xdebug-profiling.html): Learn how to set up XDebug profiling in a local development environment.
+- [Vertex integration guide](/docs/pbc/all/tax-management/202307.0/vertex/install-vertex.html#integrate-acp-connector-module-for-tax-calculation).
+- [Select target branch for PRs](/docs/scu/dev/select-target-branch-for-prs.html): Learn how to select a target branch on Spryker CI.
+- [Configure Spryker Code Upgrader](/docs/scu/dev/configure-spryker-code-upgrader.html): Learn how to configure the Spryker Code Upgrader.
+- [Oryx: Design tokens](/docs/scos/dev/front-end-development/202307.0/oryx/styling/oryx-design-tokens.html): Learn about the design tokens that provide a centralized and consistent approach for styling components in Oryx applications.
+- [Oryx: Icon system](/docs/scos/dev/front-end-development/202307.0/oryx/styling/oryx-icon-system.html): Learn about the icons that provide a consistent design system throughout components in Oryx applications.
+- [Oryx: Localization](/docs/scos/dev/front-end-development/202307.0/oryx/oryx-localization.html): Learn how localization is handled in Oryx applications.
+- [Oryx: Typography](/docs/scos/dev/front-end-development/202307.0/oryx/styling/oryx-typography.html): Learn about typography in Oryx.
+- [File manager feature integration guide](/docs/pbc/all/content-management-system/202400.0/base-shop/install-and-upgrade/install-features/install-the-file-manager-feature.html).
+- [Scheduled Prices feature integration guide](/docs/pbc/all/price-management/202400.0/base-shop/install-and-upgrade/install-features/install-the-scheduled-prices-feature.html).
+- [Product Lists feature integration guide](/docs/pbc/all/product-information-management/202400.0/base-shop/install-and-upgrade/install-features/install-the-product-lists-feature.html).
+
+
+### Updated pages
+
+- [Minimum allowed shop version](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/minimum-allowed-shop-version.html): Learn how to resolve issues with project upgradability when your projects contains old package dependencies that are already not supported.
+- [Product Offer Shipment feature integration guide](/docs/pbc/all/offer-management/202400.0/unified-commerce/install-and-upgrade/install-the-product-offer-shipment-feature.html).
+- [Shipment + Service Points feature integration guide](/docs/pbc/all/carrier-management/202400.0/unified-commerce/install-and-upgrade/install-the-shipment-service-points-feature.html).
+- [Product Rating and Reviews feature integration guide](/docs/pbc/all/ratings-reviews/202307.0/install-and-upgrade/install-the-product-rating-and-reviews-feature.html).
+- [Shipment feature integration guide](/docs/pbc/all/carrier-management/202400.0/base-shop/install-and-upgrade/install-features/install-the-shipment-feature.html).
+- [Best practises: Jenkins stability](/docs/cloud/dev/spryker-cloud-commerce-os/best-practices/best-practises-jenkins-stability.html): Learn how to improve the stability of the scheduler component..
+- [Decoupled Glue infrastructure: Integrate the authentication](/docs/scos/dev/migration-concepts/migrate-to-decoupled-glue-infrastructure/decoupled-glue-infrastructure-integrate-the-authentication.html): Learn how to create an authentication token for the Storefront and Backend API applications in your project.
+- [Add variables in the Parameter Store](/docs/cloud/dev/spryker-cloud-commerce-os/add-variables-in-the-parameter-store.html):Learn how to define variables in the Parameter Store.
+
+
## July 2023
In July 2023, we have added and updated the following pages:
From f0f67f629438c88dafe029f7dcdeceec1ca3a97d Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Mon, 4 Sep 2023 16:38:53 +0200
Subject: [PATCH 25/52] Fixing a sidebar link
---
_data/sidebars/scos_dev_sidebar.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_data/sidebars/scos_dev_sidebar.yml b/_data/sidebars/scos_dev_sidebar.yml
index 1ec23f693ad..c97fbc2fe9f 100644
--- a/_data/sidebars/scos_dev_sidebar.yml
+++ b/_data/sidebars/scos_dev_sidebar.yml
@@ -4842,7 +4842,7 @@ entries:
- title: Plugin registration with restrictions
url: /docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/plugin-registration-with-restrintions.html
- title: Security checker
- url: /docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.html
+ url: /docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/spryker-security-checker.html
- title: Single plugin argument
url: /docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/single-plugin-argument.html
- title: Performance guidelines
From d6299ff7b80ab1aaa77a8500d071b72151ae6048 Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Mon, 4 Sep 2023 17:17:33 +0200
Subject: [PATCH 26/52] link fix
---
.../release-notes-202307.0/release-notes-202307.0.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
index bbe56f84a0f..6535dfc7b15 100644
--- a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
+++ b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
@@ -30,7 +30,7 @@ Trace your request execution flow to find bottlenecks and optimize your code. Th
Make sure your code is compliant and simple to upgrade with Spryker Code Upgrader. This tool allows your team to evaluate your project code and highlight potential issues. Fixing these issues simplifies your upgrading experience.
* [Detecting dead code](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/dead-code-checker.html): Reducing dead code is important for maintenance and upgrade because otherwise, your teams invest time in maintaining the code that is not used.
-* [Security checker](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.html#resolving-the-error): We let you know about known vulnerabilities in third-party packages so that your team keeps them up-to-date.
+* [Security checker](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/security.html): We let you know about known vulnerabilities in third-party packages so that your team keeps them up-to-date.
* [Minimal version check](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/minimum-allowed-shop-version.html): Spryker Code Upgrader is available for customers from SCOS version 2022.04.
* [PHP versions check](/docs/scos/dev/guidelines/keeping-a-project-upgradable/upgradability-guidelines/php-version.html): We verify that you use the same version of PHP in composer.json, deploy*.yml, and your runtime to maintain consistency and prevent possible incompatibilities when installing dependencies. For instance, if you are using PHP 8.1 during development or upgrades, but your production system is running on PHP 7.4. Additionally, we check for the minimal PHP version, which is PHP 7.4. Keep in mind that the minimal version will be upgraded to 8.0 in the future, as 7.4 has reached its end of life.
From c6eed5271a82ed07554a40b7bf32bd2b286913c2 Mon Sep 17 00:00:00 2001
From: Helen Kravchenko
Date: Mon, 4 Sep 2023 17:46:19 +0200
Subject: [PATCH 27/52] Adding a missing sentence to the docs release notes
August 2023
---
docs/scos/user/intro-to-spryker/docs-release-notes.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/scos/user/intro-to-spryker/docs-release-notes.md b/docs/scos/user/intro-to-spryker/docs-release-notes.md
index 2563806bea1..0a54cdc2764 100644
--- a/docs/scos/user/intro-to-spryker/docs-release-notes.md
+++ b/docs/scos/user/intro-to-spryker/docs-release-notes.md
@@ -48,6 +48,8 @@ In August 2023, we have added and updated the following pages:
- [Decoupled Glue infrastructure: Integrate the authentication](/docs/scos/dev/migration-concepts/migrate-to-decoupled-glue-infrastructure/decoupled-glue-infrastructure-integrate-the-authentication.html): Learn how to create an authentication token for the Storefront and Backend API applications in your project.
- [Add variables in the Parameter Store](/docs/cloud/dev/spryker-cloud-commerce-os/add-variables-in-the-parameter-store.html):Learn how to define variables in the Parameter Store.
+For more details about these and other updates to the Spryker docs in August 2023, refer to the [docs release notes page on GitHub](https://github.com/spryker/spryker-docs/releases).
+
## July 2023
@@ -87,7 +89,7 @@ In July 2023, we have added and updated the following pages:
- [Handling security issues](/docs/scos/user/intro-to-spryker/support/handling-security-issues.html): Use this document to learn how to report a security issue and to understand how we handle these reports.
- [Install the Measurement Units feature](/docs/pbc/all/product-information-management/202307.0/base-shop/install-and-upgrade/install-features/install-the-measurement-units-feature.html): The guide describes how to integrate the [Measurement Units](/docs/pbc/all/product-information-management/202307.0/base-shop/feature-overviews/measurement-units-feature-overview.html) feature into your project.
-For more details about these and other updates to the Spryker docs in July 2023, refer to the [docs release notes page on GitHub](https://github.com/spryker/spryker-docs/releases)
+For more details about these and other updates to the Spryker docs in July 2023, refer to the [docs release notes page on GitHub](https://github.com/spryker/spryker-docs/releases).
## June 2023
From b0a700bb245481c83713d45ca403c49ccabcbfa7 Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Tue, 5 Sep 2023 10:36:39 +0300
Subject: [PATCH 28/52] move docs
---
.../{ => building-pages}/oryx-compositions.md | 0
.../oryx/building-pages/oryx-pages.md | 194 ++++++++++++++++++
.../oryx/{ => building-pages}/oryx-routing.md | 0
.../intro-to-spryker/docs-release-notes.md | 2 +-
4 files changed, 195 insertions(+), 1 deletion(-)
rename docs/scos/dev/front-end-development/202307.0/oryx/{ => building-pages}/oryx-compositions.md (100%)
create mode 100644 docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md
rename docs/scos/dev/front-end-development/202307.0/oryx/{ => building-pages}/oryx-routing.md (100%)
diff --git a/docs/scos/dev/front-end-development/202307.0/oryx/oryx-compositions.md b/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-compositions.md
similarity index 100%
rename from docs/scos/dev/front-end-development/202307.0/oryx/oryx-compositions.md
rename to docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-compositions.md
diff --git a/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md
new file mode 100644
index 00000000000..694cab1642c
--- /dev/null
+++ b/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md
@@ -0,0 +1,194 @@
+---
+title: "Oryx: Creating pages"
+description: Pages can be created from a data set or custom components
+last_updated: Aug 1, 2023
+template: concept-topic-template
+---
+
+In Oryx, pages are essential building blocks of web applications. They represent different sections or views within an application and can be created using a data-driven approach. This approach lets you define the composition and layout of pages using external data sources, making it easier to maintain, customize, and optimize your application.
+
+Oryx provides standard pages, like home, login, or search page, in [application presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html). Using presets gets you up and running fast. This document shows you how to provide custom pages or apply small customization on top of the standard preset pages.
+
+## Understanding pages and compositions
+
+Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in the code. This [separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns) makes your components more reusable and less tied to specific pages.
+
+Oryx leverages a data-driven approach for creating pages, letting you configure the composition and content of pages using external data sources. For the advantages and technical details, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
+
+## Creating pages with page components
+
+While Oryx promotes the data-driven approach for creating pages, you can create page components and assign them directly to routes.
+
+## Creating pages by data
+
+The `Page` component type is used to create pages. A page is defined as a composition that can hold other compositions and components. Here's an example of a page defined as a composition:
+
+```ts
+export const cartPage: ExperienceComponent = {
+ id: "cart-page",
+ type: "Page",
+ meta: {
+ title: "Cart Page",
+ description: "Cart Page Description",
+ },
+ options: {
+ // add component options here
+ },
+ components: [
+ // add your components here
+ ],
+};
+```
+
+### Configuring content for a route
+
+You can configure the matching URL of a page using the `meta.route` field. This lets you define which URL the page should be rendered on.
+
+Here's an example of how to configure the route of a page:
+
+```ts
+export const cartPage: ExperienceComponent = {
+ id: "cart-page",
+ type: "Page",
+ meta: {
+ route: "/cart",
+ },
+};
+```
+
+In this example, the `route` field is set to `/cart`, so the page is rendered when the `/cart` URL is visited.
+
+{% info_block infoBox "Routing" %}
+
+Changing the route of a page content is not changing the related route. To change a route, you need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-routing.html).
+
+{% endinfo_block %}
+
+## Customizing pages and page content
+
+Oryx enables you to provide custom experience data or change the existing data of pages. This gives you the flexibility to tailor the compositions to specific needs and business requirements.
+
+### Providing custom data
+
+You can provide custom experience data using Oryx's [dependency injection system](/docs/scos/dev/front-end-development/{{page.version}}/oryx/dependency-injection/dependency-injection-providing-services.html).
+
+A small utility function is available from the experience package to add custom data:
+
+```ts
+import { appBuilder } from "@spryker-oryx/application";
+import { provideExperienceData } from "@spryker-oryx/experience";
+import { customPage } from "./custom/page";
+
+export const app = appBuilder()
+ .withProviders(provideExperienceData(customData))
+ .create();
+```
+
+### Custom data
+
+The data that you can provide is typed in the `ExperienceComponent` type. You can create a page structure by leveraging compositions, layout, and existing components in a standard way.
+
+The following example shows how a single text component is added to the structure.
+
+```ts
+const customHomePage: ExperienceComponent = {
+ type: "oryx-content-text",
+ content: { data: { text: "
Home page
" } },
+};
+```
+
+The following example shows a more complex variation, where the text component is wrapped inside a composition and is rendered in a grid layout:
+
+```ts
+const customHomePage: ExperienceComponent = {
+ type: "oryx-composition",
+ id: "home-hero",
+ options: {
+ rules: [
+ {
+ layout: "grid",
+ },
+ ],
+ },
+ components: [
+ {
+ type: "oryx-content-text",
+ content: { data: { text: "
Home page
" } },
+ },
+ ],
+};
+```
+
+### Merge selector
+
+To replace existing content provided by [presets](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-presets.html), you need to define the content that you want to merge and, optionally, the merge strategy.
+
+The selected content is defined by the `merge.selector` field. The following example shows how the provided data replaces the home page.
+
+```ts
+import { appBuilder } from "@spryker-oryx/application";
+import { provideExperienceData } from "@spryker-oryx/experience";
+
+export const app = appBuilder()
+ .withProviders(
+ provideExperienceData({
+ merge: {
+ selector: "#home-page",
+ },
+ type: "oryx-content-text",
+ content: { data: { text: "
Home page
" } },
+ })
+ )
+ .create();
+```
+
+Selectors use the following syntax:
+
+- Select a page with the `#` prefix—for example, `#home-page`.
+- Select a component globally by `id`—for example, `my-composition`.
+- Select components by `id` or `tag`—for example, `oryx-product-title`.
+- Chain selects, using the dot notation—for example, `#home-page.my-composition.oryx-product-title`.
+- Skip parts of the component tree—for example, `#home-page.oryx-product-title` rather than `#home-page.my-composition.oryx-product-title`.
+
+Using this syntax gives you the flexibility to apply changes in multiple, any, or specific pages.
+
+### Merge strategies
+
+When you do not provide a merge `type`, by default, the selected component is replaced. Alternative types can be configured in the `merge.type` field.
+
+The following example shows how to _merge_ content in an existing component.
+
+```ts
+import { appBuilder } from "@spryker-oryx/application";
+import { provideExperienceData } from "@spryker-oryx/experience";
+
+export const app = appBuilder()
+ .withProviders(
+ provideExperienceData({
+ merge: {
+ selector: "site-logo",
+ type: "patch",
+ },
+ content: {
+ data: {
+ graphic: null,
+ image:
+ "https://www.coca-colacompany.com/content/dam/company/us/en/the-coca-cola-company-logo.svg",
+ },
+ },
+ })
+ )
+ .create();
+```
+
+The following table gives an overview of the various merge types.
+
+| STRATEGY | DESCRIPTION |
+| ---- | - |
+| `replace` (default) | Replaces the selected element with the given content. |
+| `patch` | Patches the selected component with the given component. This includes both the component options and content. All data, except for arrays, is deep-merged. |
+| `remove` | Removes the selected component. |
+| `before` | Adds the content before the selected component. |
+| `after` | Adds the content after the selected component. |
+| `append` | Adds the content after the last component of the composition components. If the selected component is not a composition, the custom component is not merged. |
+| `prepend` | Adds the content before the first component of the composition components. If the selected component is not a composition, the custom component is not merged. |
diff --git a/docs/scos/dev/front-end-development/202307.0/oryx/oryx-routing.md b/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-routing.md
similarity index 100%
rename from docs/scos/dev/front-end-development/202307.0/oryx/oryx-routing.md
rename to docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-routing.md
diff --git a/docs/scos/user/intro-to-spryker/docs-release-notes.md b/docs/scos/user/intro-to-spryker/docs-release-notes.md
index 0a54cdc2764..2e8351d74ad 100644
--- a/docs/scos/user/intro-to-spryker/docs-release-notes.md
+++ b/docs/scos/user/intro-to-spryker/docs-release-notes.md
@@ -162,7 +162,7 @@ In May 2023, we have added and updated the following pages:
- [Oryx: Boilerplate](/docs/scos/dev/front-end-development/202212.0/oryx/oryx-boilerplate.html): Create maintainable and upgradeable applications using the Oryx boilerplate.
- [Oryx: Feature sets](/docs/scos/dev/front-end-development/202212.0/oryx/oryx-feature-sets.html): Learn what the feature sets in Oryx are all about.
- [Oryx: Packages](/docs/scos/dev/front-end-development/202212.0/oryx/oryx-packages.html): Use Oryx packages from npm to ensure you can easily upgrade to newer versions.
- - [Oryx: Routing](/docs/scos/dev/front-end-development/202212.0/oryx/oryx-routing.html): Lear how to set up the Oryx routing.
+ - [Oryx: Routing](/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-routing.html): Lear how to set up the Oryx routing.
- [Oryx: Versioning](/docs/scos/dev/front-end-development/202212.0/oryx/oryx-versioning.html): Learn about the methods used in Oryx to deliver an advanced application development platform while maintaining stability.
- [Oryx: Supported browsers](/docs/scos/dev/front-end-development/202212.0/oryx/oryx-supported-browsers.html): Learn what browsers Oryx supports.
- [Dependency injection](/docs/scos/dev/front-end-development/202212.0/oryx/dependency-injection/dependency-injection.html): Learn about the dependency injection that lets you customize logic but keep your project upgradable.
From def56fa6c2ffe7d895e87e9ccad053352386d740 Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Tue, 5 Sep 2023 11:21:03 +0300
Subject: [PATCH 29/52] links
---
.../202212.0/oryx/building-pages/oryx-pages.md | 4 ++--
.../front-end-development/202212.0/oryx/oryx-feature-sets.md | 2 +-
.../202307.0/oryx/building-pages/oryx-pages.md | 4 ++--
.../front-end-development/202307.0/oryx/oryx-feature-sets.md | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
index 694cab1642c..bfb95a4bdaa 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/building-pages/oryx-pages.md
@@ -13,7 +13,7 @@ Oryx provides standard pages, like home, login, or search page, in [application
Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in the code. This [separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns) makes your components more reusable and less tied to specific pages.
-Oryx leverages a data-driven approach for creating pages, letting you configure the composition and content of pages using external data sources. For the advantages and technical details, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
+Oryx leverages a data-driven approach for creating pages, letting you configure the composition and content of pages using external data sources. For the advantages and technical details, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html).
## Creating pages with page components
@@ -60,7 +60,7 @@ In this example, the `route` field is set to `/cart`, so the page is rendered wh
{% info_block infoBox "Routing" %}
-Changing the route of a page content is not changing the related route. To change a route, you need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-routing.html).
+Changing the route of a page content is not changing the related route. To change a route, you need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-routing.html).
{% endinfo_block %}
diff --git a/docs/scos/dev/front-end-development/202212.0/oryx/oryx-feature-sets.md b/docs/scos/dev/front-end-development/202212.0/oryx/oryx-feature-sets.md
index eea5fadd1db..75b23dac1d0 100644
--- a/docs/scos/dev/front-end-development/202212.0/oryx/oryx-feature-sets.md
+++ b/docs/scos/dev/front-end-development/202212.0/oryx/oryx-feature-sets.md
@@ -83,7 +83,7 @@ export const loginPage = {
};
```
-To better understand the data structure, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
+To better understand the data structure, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html).
By utilizing the static experience data provided in Oryx presets, you can easily set up the overall structure and layout of your application, including common sections like the header and footer, without having to write the code from scratch.
diff --git a/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md b/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md
index 694cab1642c..bfb95a4bdaa 100644
--- a/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md
+++ b/docs/scos/dev/front-end-development/202307.0/oryx/building-pages/oryx-pages.md
@@ -13,7 +13,7 @@ Oryx provides standard pages, like home, login, or search page, in [application
Pages in Oryx are represented as [compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html), which are collections of components organized in a specific order. Compositions enable you to define the structure and layout of pages without hardcoding them in the code. This [separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns) makes your components more reusable and less tied to specific pages.
-Oryx leverages a data-driven approach for creating pages, letting you configure the composition and content of pages using external data sources. For the advantages and technical details, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
+Oryx leverages a data-driven approach for creating pages, letting you configure the composition and content of pages using external data sources. For the advantages and technical details, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html).
## Creating pages with page components
@@ -60,7 +60,7 @@ In this example, the `route` field is set to `/cart`, so the page is rendered wh
{% info_block infoBox "Routing" %}
-Changing the route of a page content is not changing the related route. To change a route, you need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-routing.html).
+Changing the route of a page content is not changing the related route. To change a route, you need to configure the [routing](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-routing.html).
{% endinfo_block %}
diff --git a/docs/scos/dev/front-end-development/202307.0/oryx/oryx-feature-sets.md b/docs/scos/dev/front-end-development/202307.0/oryx/oryx-feature-sets.md
index 2d6a814dca2..255890dbd7f 100644
--- a/docs/scos/dev/front-end-development/202307.0/oryx/oryx-feature-sets.md
+++ b/docs/scos/dev/front-end-development/202307.0/oryx/oryx-feature-sets.md
@@ -85,7 +85,7 @@ export const loginPage = {
};
```
-To better understand the data structure, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/oryx-compositions.html).
+To better understand the data structure, see [Compositions](/docs/scos/dev/front-end-development/{{page.version}}/oryx/building-pages/oryx-compositions.html).
By utilizing the static experience data provided in Oryx presets, you can easily set up the overall structure and layout of your application, including common sections like the header and footer, without having to write the code from scratch.
From 116de3e7ff867135df6b0ee6d2574229723f5270 Mon Sep 17 00:00:00 2001
From: ppechlivanis-spryker
<128505516+ppechlivanis-spryker@users.noreply.github.com>
Date: Tue, 5 Sep 2023 15:30:22 +0300
Subject: [PATCH 30/52] Update security-release-notes-202306.0.md
---
.../security-release-notes-202306.0.md | 119 +++++++-----------
1 file changed, 45 insertions(+), 74 deletions(-)
diff --git a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202306.0/security-release-notes-202306.0.md b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202306.0/security-release-notes-202306.0.md
index a6b0b2cbca0..688b96b8a57 100644
--- a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202306.0/security-release-notes-202306.0.md
+++ b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202306.0/security-release-notes-202306.0.md
@@ -174,23 +174,6 @@ console transfer:generate
8. Add configuration to `config/Shared/config_default.php`:
```php
-use Spryker\Shared\SecurityBlockerBackoffice\SecurityBlockerBackofficeConstants;
-use Spryker\Shared\SecurityBlockerStorefrontAgent\SecurityBlockerStorefrontAgentConstants;
-use Spryker\Shared\SecurityBlockerStorefrontCustomer\SecurityBlockerStorefrontCustomerConstants;
-
-// >>> Redis Security Blocker
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_REDIS_PERSISTENT_CONNECTION] = true;
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_REDIS_SCHEME] = 'tcp://';
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_REDIS_HOST] = '127.0.0.1';
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_REDIS_PORT] = 6379;
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_REDIS_PASSWORD] = false;
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_REDIS_DATABASE] = 7;
-
-// >>> Security Blocker Default
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_BLOCKING_TTL] = 600;
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_BLOCK_FOR] = 300;
-$config[SecurityBlockerConstants::SECURITY_BLOCKER_BLOCKING_NUMBER_OF_ATTEMPTS] = 10;
-
// >>> Security Blocker Storefront Agent
$config[SecurityBlockerStorefrontAgentConstants::AGENT_BLOCK_FOR_SECONDS] = 360;
$config[SecurityBlockerStorefrontAgentConstants::AGENT_BLOCKING_TTL] = 900;
@@ -210,8 +193,6 @@ $config[SecurityBlockerBackofficeConstants::BACKOFFICE_USER_BLOCKING_NUMBER_OF_A
9. Add translations to `data/import/common/common/glossary.csv`:
```csv
-security_blocker_page.error.account_blocked,"Too many log in attempts from your address. Please wait %minutes% minutes before trying again.",en_US
-security_blocker_page.error.account_blocked,"Warten Sie bitte %minutes% Minuten, bevor Sie es erneut versuchen.",de_DE
security_blocker_backoffice_gui.error.account_blocked,"Too many log in attempts from your address. Please wait %minutes% minutes before trying again.",en_US
security_blocker_backoffice_gui.error.account_blocked,"Warten Sie bitte %minutes% Minuten, bevor Sie es erneut versuchen.",de_DE
```
@@ -260,10 +241,15 @@ namespace Pyz\Zed\ErrorHandler;
use Spryker\Zed\ErrorHandler\ErrorHandlerConfig as SprykerErrorHandlerConfigAlias;
use Symfony\Component\HttpFoundation\Response;
+/**
+ * @method \Spryker\Shared\ErrorHandler\ErrorHandlerConfig getSharedConfig()
+ */
class ErrorHandlerConfig extends SprykerErrorHandlerConfigAlias
{
/**
- * @return list
+ * @api
+ *
+ * @return array
*/
public function getValidSubRequestExceptionStatusCodes(): array
{
@@ -280,32 +266,19 @@ class ErrorHandlerConfig extends SprykerErrorHandlerConfigAlias
13. Register plugins in `src/Pyz/Yves/EventDispatcher/EventDispatcherDependencyProvider.php`:
```php
-
- */
+...
protected function getEventDispatcherPlugins(): array
{
return [
- new SecurityBlockerCustomerEventDispatcherPlugin(),
- new SecurityBlockerAgentEventDispatcherPlugin(),
+ ...
+ new SecurityBlockerBackofficeUserEventDispatcherPlugin(),
];
}
-}
-
+...
```
-14. Register plugins in `src/Pyz/Zed/EventDispatcher/EventDispatcherDependencyProvider.php`:
-
If Merchant Portal is also installed, follow these steps:
1. Install the `spryker/security-blocker-merchant-portal` module version 1.0.0:
@@ -327,57 +300,32 @@ composer show spryker/security-blocker-merchant-portal-gui # Verify the version
```bash
console transfer:generate
```
-4. Add configuration to `config/Shared/config_default.php`:
-
-```php
-// >>> Security Blocker MerchantPortal user
-$config[SecurityBlockerMerchantPortalConstants::MERCHANT_PORTAL_USER_BLOCK_FOR_SECONDS] = 360;
-$config[SecurityBlockerMerchantPortalConstants::MERCHANT_PORTAL_USER_BLOCKING_TTL] = 900;
-$config[SecurityBlockerMerchantPortalConstants::MERCHANT_PORTAL_USER_BLOCKING_NUMBER_OF_ATTEMPTS] = 9;
-```
-
-5. Add translations to `data/import/common/common/glossary.csv`:
-
-```csv
-security_blocker_merchant_portal_gui.error.account_blocked,"Too many log in attempts from your address. Please wait %minutes% minutes before trying again.",en_US
-security_blocker_merchant_portal_gui.error.account_blocked,"Warten Sie bitte %minutes% Minuten, bevor Sie es erneut versuchen.",de_DE
-```
-
-6. Import glossary:
-
-```bash
-console data:import:glossary
-```
-
-7. Register plugins in `src/Pyz/Zed/EventDispatcher/EventDispatcherDependencyProvider.php`:
+4. Register plugins in `src/Pyz/Zed/EventDispatcher/EventDispatcherDependencyProvider.php`:
```php
-
- */
+...
protected function getEventDispatcherPlugins(): array
{
return [
+ ...
new SecurityBlockerMerchantPortalUserEventDispatcherPlugin(),
];
}
-}
+...
```
-8. Register plugins in `SecurityBlockerDependencyProvider`:
+5. Register plugins in `SecurityBlockerDependencyProvider`:
```php
>> Security Blocker MerchantPortal user
+$config[SecurityBlockerMerchantPortalConstants::MERCHANT_PORTAL_USER_BLOCK_FOR_SECONDS] = 360;
+$config[SecurityBlockerMerchantPortalConstants::MERCHANT_PORTAL_USER_BLOCKING_TTL] = 900;
+$config[SecurityBlockerMerchantPortalConstants::MERCHANT_PORTAL_USER_BLOCKING_NUMBER_OF_ATTEMPTS] = 9;
+```
+
+7. Add translations to `data/import/common/common/glossary.csv` :
+
+```csv
+security_blocker_merchant_portal_gui.error.account_blocked,"Too many log in attempts from your address. Please wait %minutes% minutes before trying again.",en_US
+security_blocker_merchant_portal_gui.error.account_blocked,"Warten Sie bitte %minutes% Minuten, bevor Sie es erneut versuchen.",de_DE
+```
+
+8. Import glossary:
+
+```bash
+console data:import:glossary
+```
+
## Weak input validation for the customer address field
The parameters related to the address field had insufficient server-side input validation. By supplying invalid or potentially malicious parameter values, an attacker might be able to cause the server to respond in an unexpected way.
From 233b52a74f269b1a5cefa82930239b5a7c358e29 Mon Sep 17 00:00:00 2001
From: lenadoc
Date: Tue, 5 Sep 2023 23:15:04 +0200
Subject: [PATCH 31/52] Adding details to a release notes item
---
.../release-notes-202307.0/release-notes-202307.0.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
index 6535dfc7b15..6acf2e17777 100644
--- a/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
+++ b/docs/scos/user/intro-to-spryker/releases/release-notes/release-notes-202307.0/release-notes-202307.0.md
@@ -293,7 +293,7 @@ Pipeline Success Dashboard example:
### [Core Commerce] Upgraded Angular to v15 and Node.js to v18 ![improvement](https://spryker.s3.eu-central-1.amazonaws.com/docs/scos/user/intro-to-spryker/releases/release-notes/improvement.png)
-To maintain the stability and longevity of our platform, we have migrated to Angular v15 and Node.js v18, which are actively supported by their respective communities. This ensures continued support and leveraging of these versions' latest features and improvements.
+To maintain the stability and longevity of our platform, we have migrated to Angular v15 and Node.js v18, which are actively supported by their respective communities. This ensures continued support and leveraging of these versions' latest features and improvements. No infrastructure changes are required on your end before performing the upgrade.
#### Documentation
From 7c9f6a356e50c476d11ad5cf809165fe27003546 Mon Sep 17 00:00:00 2001
From: Andrii Tserkovnyi
Date: Wed, 6 Sep 2023 10:53:30 +0300
Subject: [PATCH 32/52] remove docs
---
...export-merchant-orders-csv-files-format.md | 155 -
...ils-combined-merchant-product-offer.csv.md | 64 -
.../file-details-merchant-category.csv.md | 41 -
.../file-details-merchant-oms-process.csv.md | 41 -
...s-merchant-open-hours-date-schedule.csv.md | 44 -
...rchant-open-hours-week-day-schedule.csv.md | 43 -
.../file-details-merchant-order-status.csv.md | 47 -
...etails-merchant-product-offer-store.csv.md | 42 -
...file-details-merchant-product-offer.csv.md | 46 -
...tails-merchant-product-option-group.csv.md | 41 -
.../file-details-merchant-product.csv.md | 43 -
...le-details-merchant-profile-address.csv.md | 47 -
.../file-details-merchant-profile.csv.md | 56 -
.../file-details-merchant-stock.csv.md | 42 -
.../file-details-merchant-store.csv.md | 42 -
.../file-details-merchant-user.csv.md | 41 -
.../202108.0/file-details-merchant.csv.md | 45 -
.../file-details-price-product-offer.csv.md | 47 -
.../file-details-product-offer-stock.csv.md | 44 -
...file-details-product-offer-validity.csv.md | 42 -
.../file-details-product-price.csv.md | 51 -
.../data-import/202108.0/marketplace-setup.md | 31 -
.../202108.0/acl-feature-integration.md | 305 -
...roduct-offer-import-feature-integration.md | 1928 -----
...nventory-management-feature-integration.md | 128 -
...management-wishlist-feature-integration.md | 88 -
...arketplace-merchant-feature-integration.md | 170 -
...tplace-product-cart-feature-integration.md | 61 -
...marketplace-product-feature-integration.md | 123 -
...-product-offer-cart-feature-integration.md | 112 -
...place-product-offer-feature-integration.md | 144 -
...roduct-offer-prices-feature-integration.md | 134 -
...fer-prices-wishlist-feature-integration.md | 85 -
...offer-volume-prices-feature-integration.md | 100 -
...duct-offer-wishlist-feature-integration.md | 191 -
...e-return-management-feature-integration.md | 116 -
.../merchant-category-feature-integration.md | 97 -
...chant-opening-hours-feature-integration.md | 114 -
...arketplace-wishlist-feature-integration.md | 84 -
.../marketplace-cart-feature-integration.md | 146 -
...place-dummy-payment-feature-integration.md | 292 -
...nventory-management-feature-integration.md | 740 --
...nt-order-management-feature-integration.md | 130 -
...ent-packaging-units-feature-integration.md | 64 -
...arketplace-merchant-feature-integration.md | 1480 ----
...erchant-portal-core-feature-integration.md | 1235 ---
...ct-offer-management-feature-integration.md | 129 -
...ce-order-management-feature-integration.md | 1125 ---
...ent-order-threshold-feature-integration.md | 45 -
...tplace-product-cart-feature-integration.md | 111 -
...marketplace-product-feature-integration.md | 745 --
...nventory-management-feature-integration.md | 72 -
...place-product-offer-feature-integration.md | 69 -
...-product-offer-cart-feature-integration.md | 153 -
...duct-offer-checkout-feature-integration.md | 103 -
...place-product-offer-feature-integration.md | 1529 ----
...roduct-offer-prices-feature-integration.md | 1159 ---
...roduct-options-cart-feature-integration.md | 65 -
...ct-options-checkout-feature-integration.md | 65 -
...ace-product-options-feature-integration.md | 380 -
...romotions-discounts-feature-integration.md | 138 -
...e-return-management-feature-integration.md | 1112 ---
...place-shipment-cart-feature-integration.md | 95 -
...e-shipment-checkout-feature-integration.md | 62 -
...e-shipment-customer-feature-integration.md | 63 -
...arketplace-shipment-feature-integration.md | 149 -
...arketplace-wishlist-feature-integration.md | 207 -
.../merchant-category-feature-integration.md | 359 -
...chant-opening-hours-feature-integration.md | 696 --
.../merchant-portal-feature-integration.md | 397 -
...arketplace-merchant-feature-integration.md | 69 -
...al-order-management-feature-integration.md | 56 -
...ce-order-management-feature-integration.md | 112 -
...marketplace-product-feature-integration.md | 80 -
...nventory-management-feature-integration.md | 95 -
...-options-management-feature-integration.md | 90 -
...etplace-product-tax-feature-integration.md | 97 -
...-account-management-feature-integration.md | 82 -
.../merchant-switcher-feature-integration.md | 305 -
...t-switcher-wishlist-feature-integration.md | 62 -
.../marketplace-cart-feature-walkthrough.md | 33 -
...nventory-management-feature-walkthrough.md | 49 -
...arketplace-merchant-feature-walkthrough.md | 58 -
.../gui-modules-concept.md | 46 -
...erchant-portal-core-feature-walkthrough.md | 80 -
.../merchant-user-concept.md | 39 -
.../persistence-acl-configuration.md | 131 -
...-product-management-feature-walkthrough.md | 25 -
...ct-offer-management-feature-walkthrough.md | 29 -
...ce-order-management-feature-walkthrough.md | 96 -
.../merchant-oms.md | 19 -
...marketplace-product-feature-walkthrough.md | 54 -
...place-product-offer-feature-walkthrough.md | 55 -
.../product-offer-in-the-back-office.md | 20 -
.../product-offer-storage.md | 33 -
.../product-offer-store-relation.md | 23 -
.../product-offer-validity-dates.md | 35 -
...dering-product-offers-on-the-storefront.md | 61 -
...roduct-offer-prices-feature-walkthrough.md | 69 -
...ace-product-options-feature-walkthrough.md | 42 -
...tions-and-discounts-feature-walkthrough.md | 32 -
...e-return-management-feature-walkthrough.md | 42 -
...arketplace-shipment-feature-walkthrough.md | 48 -
...arketplace-wishlist-feature-walkthrough.md | 40 -
.../merchant-category-feature-walkthrough.md | 37 -
...chant-opening-hours-feature-walkthrough.md | 44 -
.../execution-flow.md | 107 -
.../persistence-acl-feature-configuration.md | 340 -
.../persistence-acl-feature-walkthrough.md | 84 -
.../rules-and-scopes/composite-entity.md | 60 -
.../rules-and-scopes/global-scope.md | 29 -
.../rules-and-scopes/inherited-scope.md | 92 -
.../rules-and-scopes/rules-and-scopes.md | 76 -
.../rules-and-scopes/segment-scope.md | 59 -
.../retrieving-abstract-products.md | 1497 ----
.../managing-carts-of-registered-users.md | 4491 ----------
...ging-items-in-carts-of-registered-users.md | 1820 ----
.../retrieving-concrete-products.md | 1143 ---
...ing-product-offers-of-concrete-products.md | 54 -
...ract-products-in-abstract-product-lists.md | 198 -
.../guest-carts/managing-guest-cart-items.md | 1859 -----
.../guest-carts/managing-guest-carts.md | 2113 -----
.../202108.0/managing-the-returns.md | 757 --
.../retrieving-merchant-addresses.md | 102 -
.../retrieving-merchant-opening-hours.md | 202 -
.../merchants/retrieving-merchants.md | 652 --
.../retrieving-product-offer-availability.md | 77 -
.../retrieving-product-offer-prices.md | 110 -
.../retrieving-product-offers.md | 275 -
.../resolving-search-engine-friendly-urls.md | 174 -
...ing-autocomplete-and-search-suggestions.md | 1810 ----
.../202108.0/retrieving-marketplace-orders.md | 1535 ----
.../202108.0/searching-the-product-catalog.md | 7283 -----------------
.../wishlists/managing-wishlist-items.md | 248 -
.../202108.0/wishlists/managing-wishlists.md | 2311 ------
.../availability-reference-information.md | 89 -
.../creating-product-options.md | 84 -
.../managing-product-options.md | 81 -
.../abstract-product-reference-information.md | 82 -
.../creating-abstract-products.md | 149 -
.../editing-abstract-products.md | 142 -
.../creating-product-variants.md | 108 -
.../managing-products/managing-products.md | 64 -
.../products-reference-information.md | 67 -
.../merchants/managing-merchant-users.md | 123 -
.../merchants/managing-merchants.md | 235 -
.../managing-merchant-product-offers.md | 78 -
.../orders/managing-marketplace-orders.md | 341 -
.../sales/managing-main-merchant-orders.md | 261 -
.../sales/managing-main-merchant-returns.md | 142 -
.../sales/managing-marketplace-returns.md | 137 -
.../user/features/202108.0/index.md | 10 -
.../marketplace-cart-feature-overview.md | 31 -
...e-inventory-management-feature-overview.md | 65 -
.../main-merchant-concept.md | 35 -
.../marketplace-merchant-feature-overview.md | 132 -
.../merchant-users-overview.md | 55 -
...oduct-offer-management-feature-overview.md | 39 -
...and-merchant-state-machines-interaction.md | 140 -
...ce-and-merchant-state-machines-overview.md | 80 -
...place-order-management-feature-overview.md | 84 -
.../marketplace-order-overview.md | 84 -
.../merchant-order-overview.md | 28 -
.../marketplace-product-feature-overview.md | 85 -
...ketplace-product-offer-feature-overview.md | 144 -
...tplace-product-options-feature-overview.md | 88 -
...omotions-and-discounts-feature-overview.md | 228 -
...lace-return-management-feature-overview.md | 80 -
.../marketplace-shipment-feature-overview.md | 38 -
.../marketplace-wishlist-feature-overview.md | 23 -
.../merchant-category-feature-overview.md | 17 -
...merchant-opening-hours-feature-overview.md | 29 -
.../managing-merchants-performance-data.md | 87 -
.../202108.0/index.md | 11 -
.../logging-in-to-the-merchant-portal.md | 79 -
.../managing-account-details-and-settings.md | 73 -
.../offers/managing-product-offers.md | 84 -
.../orders/managing-merchant-orders.md | 151 -
.../creating-marketplace-abstract-product.md | 98 -
...marketplace-abstract-product-attributes.md | 67 -
...marketplace-abstract-product-image-sets.md | 68 -
...place-abstract-product-meta-information.md | 54 -
...ing-marketplace-abstract-product-prices.md | 81 -
.../managing-marketplace-abstract-product.md | 66 -
.../creating-marketplace-concrete-product.md | 56 -
...marketplace-concrete-product-attributes.md | 63 -
...ing-marketplace-concrete-product-prices.md | 82 -
.../managing-marketplace-concrete-product.md | 79 -
...arketplace-concrete-products-image-sets.md | 72 -
.../202108.0/products/products.md | 26 -
.../editing-merchants-profile-details.md | 123 -
.../201811.0/developers-corner.md | 12 -
.../agent-assist-feature-integration.md | 306 -
.../business-on-behalf-feature-integration.md | 246 -
.../201811.0/cart-integration.md | 817 --
.../category-filters-feature-integration.md | 210 -
.../checkout-workflow-integration-guide.md | 48 -
.../discount-promotion-feature-integration.md | 395 -
.../201811.0/enabling-gift-cards.md | 64 -
.../201811.0/enabling-the-content-widget.md | 253 -
.../201811.0/feature-integration-guides.md | 18 -
.../catalog-search-api-feature-integration.md | 138 -
...iongeneratorrestapi-feature-integration.md | 236 -
...lternative-products-feature-integration.md | 83 -
...category-management-feature-integration.md | 86 -
...-account-management-feature-integration.md | 231 -
...pi-glue-application-feature-integration.md | 178 -
...glue-api-installation-and-configuration.md | 722 --
.../glue-api-product-feature-integration.md | 118 -
...-product-image-sets-feature-integration.md | 127 -
...-api-product-labels-feature-integration.md | 127 -
...e-api-product-price-feature-integration.md | 132 -
...t-schema-validation-feature-integration.md | 13 -
.../glue-api-wishlist-feature-integration.md | 167 -
.../order-history-api-feature-integration.md | 96 -
...roduct-availability-feature-integration.md | 129 -
...roduct-tax-sets-api-feature-integration.md | 159 -
.../installing-the-category-cms-blocks.md | 353 -
.../installing-the-product-cms-block.md | 187 -
.../measurement-units-feature-integration.md | 910 --
...chant-custom-prices-feature-integration.md | 493 --
...roduct-restrictions-feature-integration.md | 203 -
...-merchant-relations-feature-integration.md | 71 -
...minimum-order-value-feature-integration.md | 490 --
...lti-store-cms-block-feature-integration.md | 65 -
...ulti-store-products-feature-integration.md | 66 -
.../multiple-carts-feature-integration.md | 634 --
...e-carts-quick-order-feature-integration.md | 115 -
...tiple-carts-reorder-feature-integration.md | 63 -
.../201811.0/navigation-module-integration.md | 248 -
.../packaging-units-feature-integration.md | 983 ---
.../201811.0/payment-provider-integration.md | 13 -
.../permissions-feature-integration.md | 63 -
...r-merchant-relation-feature-integration.md | 370 -
.../product-groups-feature-integration.md | 128 -
.../product-label-1.0-feature-integrtion.md | 214 -
.../product-labels-feature-integration.md | 224 -
.../product-lists-feature-integration.md | 722 --
...-rating-and-reviews-feature-integration.md | 209 -
.../product-relations-feature-integration.md | 186 -
.../product-set-feature-integration.md | 187 -
.../quick-add-to-cart-feature-integration.md | 157 -
.../shared-carts-feature-integration.md | 753 --
.../shopping-lists-feature-integration.md | 1163 ---
...sts-product-options-feature-integration.md | 242 -
...ittable-order-items-feature-integration.md | 115 -
.../volume-prices-feature-integration.md | 323 -
.../calculation-3.0.md | 258 -
.../calculation-data-structure.md | 143 -
.../calculator-plugins.md | 87 -
.../cart-feature-walkthrough.md | 24 -
.../cart-functionality-and-calculations.md | 45 -
.../cart-functionality.md | 60 -
.../201811.0/catalog-feature-walkthrough.md | 18 -
...category-management-feature-walkthrough.md | 20 -
...-extension-points-reference-information.md | 77 -
.../cms-feature-walkthrough.md | 33 -
.../company-account-feature-walkthrough.md | 52 -
.../company-account-module-relations.md | 22 -
...er-login-by-token-reference-information.md | 80 -
...-account-management-feature-walkthrough.md | 26 -
...ce-information-customer-module-overview.md | 94 -
.../gift-cards-feature-walkthrough.md | 19 -
...nventory-management-feature-walkthrough.md | 153 -
...g-and-notifications-feature-walkthrough.md | 20 -
.../201811.0/merchant-feature-walkthrough.md | 20 -
.../multiple-carts-feature-walkthrough.md | 20 -
.../navigation-feature-walkthrough.md | 20 -
.../navigation-module.md | 51 -
.../order-management-feature-wakthrough.md | 43 -
.../sales-module-reference-information.md | 42 -
.../packaging-units-feature-walkthrough.md | 19 -
.../201811.0/payments-feature-walkthrough.md | 31 -
.../money-module-reference-information.md | 115 -
.../prices-feature-walkthrough.md | 19 -
.../product-barcode-feature-walkthrough.md | 14 -
.../product-bundles-feature-walkthrough.md | 18 -
.../product-groups-feature-walkthrough.md | 18 -
.../product-labels-feature-walkthrough.md | 22 -
.../product-lists-feature-walkthrough.md | 19 -
.../product-options-feature-walkthrough.md | 22 -
...duct-rating-reviews-feature-walkthrough.md | 19 -
.../product-relations-feature-walkthrough.md | 29 -
.../product-sets-feature-walkthrough.md | 39 -
.../product-sets-module-relations.md | 19 -
...romotions-discounts-feature-walkthrough.md | 21 -
.../quick-add-to-cart-feature-walkthrough.md | 40 -
.../reference-information-refund-module.md | 99 -
.../refunds-feature-walkthrough.md | 18 -
.../201811.0/reorder-feature-walkthrough.md | 18 -
.../shared-carts-feature-walkthrough.md | 18 -
.../shipment-feature-walkthrough.md | 31 -
...nt-method-plugins-reference-information.md | 175 -
.../shipment-module-overview.md | 156 -
.../shopping-lists-feature-walkthrough.md | 20 -
...er-core-back-office-feature-walkthrough.md | 20 -
.../user-and-rights-overview.md | 137 -
.../how-translations-are-managed.md | 35 -
.../spryker-core-feature-walkthrough.md | 20 -
.../url-redirects-overview.md | 19 -
.../vault-for-tokens-overview.md | 28 -
.../tax-feature-walkthrough.md | 20 -
.../tax-module-reference-information.md | 152 -
.../201811.0/wishlist-feature-walkthrough.md | 19 -
.../marketplace/angular-components.md | 151 -
.../202108.0/marketplace/angular-services.md | 61 -
.../marketplace/building-the-project.md | 41 -
.../extend-the-marketplace-frontend.md | 242 -
.../202108.0/marketplace/project-structure.md | 46 -
.../marketplace/set-up-the-merchant-portal.md | 56 -
.../marketplace/table-design/index.md | 283 -
.../table-design/table-column-types/index.md | 210 -
.../table-column-type-autocomplete.md | 131 -
.../table-column-type-chip.md | 100 -
.../table-column-type-date.md | 90 -
.../table-column-type-dynamic.md | 123 -
.../table-column-type-image.md | 88 -
.../table-column-type-input.md | 99 -
.../table-column-type-list.md | 96 -
.../table-column-type-select.md | 148 -
.../table-column-type-text.md | 97 -
.../table-design/table-configuration.md | 181 -
.../table-design/table-features/index.md | 184 -
.../table-feature-batch-actions.md | 145 -
.../table-features/table-feature-editable.md | 271 -
.../table-feature-pagination.md | 103 -
.../table-feature-row-actions.md | 126 -
.../table-features/table-feature-search.md | 103 -
.../table-feature-selectable.md | 109 -
.../table-features/table-feature-settings.md | 103 -
.../table-feature-sync-state.md | 103 -
.../table-features/table-feature-title.md | 103 -
.../table-features/table-feature-total.md | 101 -
.../table-design/table-filters/index.md | 130 -
.../table-filters/table-filter-date-range.md | 113 -
.../table-filters/table-filter-select.md | 122 -
.../table-filters/table-filter-tree-select.md | 132 -
.../actions/actions-close-drawer.md | 73 -
.../actions/actions-drawer.md | 166 -
.../actions/actions-http.md | 84 -
.../actions/actions-notification.md | 98 -
.../actions/actions-redirect.md | 77 -
.../actions/actions-refresh-drawer.md | 73 -
.../actions/actions-refresh-parent-table.md | 90 -
.../actions/actions-refresh-table.md | 76 -
.../ui-components-library/actions/actions.md | 127 -
.../ui-components-library/cache/cache.md | 180 -
.../ui-components-library/cache/static.md | 95 -
.../data-transformers/array-map.md | 92 -
.../data-transformers/chain.md | 108 -
.../collate/data-configurators/index.md | 112 -
.../collate/data-configurators/table.md | 58 -
.../collate/filters/equals.md | 79 -
.../collate/filters/index.md | 136 -
.../collate/filters/range.md | 79 -
.../data-transformers/collate/filters/text.md | 73 -
.../data-transformers/collate/index.md | 146 -
.../data-transformers/data-transformers.md | 174 -
.../data-transformers/date-parse.md | 70 -
.../data-transformers/date-serialize.md | 70 -
.../data-transformers/lens.md | 85 -
.../data-transformers/object-map.md | 96 -
.../data-transformers/pluck.md | 83 -
.../datasources/datasource-http.md | 77 -
.../datasources/datasource-inline-table.md | 110 -
.../datasources/datasource-inline.md | 66 -
.../datasources/datasources.md | 118 -
.../in-memory-persistence-strategy.md | 71 -
.../local-storage-persistence-strategy.md | 71 -
.../persistence/persistence.md | 115 -
.../persistence/url-persistence-strategy.md | 71 -
.../ui-components-library.md | 141 -
.../202108.0/marketplace/web-components.md | 66 -
.../authentication-and-authorization.md | 169 -
.../checking-out/checking-out-purchases.md | 696 --
.../201811.0/glue-api-developer-guides.md | 13 -
.../201811.0/glue-infrastructure.md | 453 -
.../glue-api-guides/201811.0/glue-rest-api.md | 61 -
.../glue-api-guides/201811.0/glue-spryks.md | 182 -
.../managing-carts-of-registered-users.md | 389 -
.../guest-carts/managing-guest-carts.md | 789 --
.../201811.0/managing-carts/managing-carts.md | 18 -
.../managing-customers/managing-customers.md | 618 --
.../retrieving-customer-orders.md | 411 -
.../retrieving-product-information.md | 830 --
.../retrieving-product-labels.md | 128 -
.../managing-wishlists/managing-wishlists.md | 316 -
.../201811.0/rest-api-reference.md | 33 -
...ing-autocomplete-and-search-suggestions.md | 190 -
.../retrieving-category-trees.md | 510 --
.../retrieving-store-configuration.md | 126 -
.../201811.0/searching-the-product-catalog.md | 567 --
.../201811.0/security-and-authentication.md | 93 -
...ut-the-legacy-demoshop-front-end-guides.md | 45 -
.../201811.0/build-and-optimization.md | 76 -
.../201811.0/demoshop-guide.md | 77 -
.../legacy-demoshop/201811.0/development.md | 72 -
.../201811.0/download-and-structure.md | 94 -
.../201811.0/frontend-overview.md | 45 -
.../legacy-demoshop/201811.0/public-folder.md | 57 -
...-up-a-hello-world-queue-legacy-demoshop.md | 247 -
.../best-practices-twig-templates.md | 284 -
.../201811.0/twig-templates/overview-twig.md | 123 -
...compatible-with-publish-and-synchronize.md | 206 -
...hop-compatible-with-the-atomic-frontend.md | 165 -
...op-compatible-with-the-modular-frontend.md | 208 -
...atibility-module-in-the-legacy-demoshop.md | 110 -
...g-compatibility-legacy-demoshop-vs-scos.md | 128 -
.../updating-the-legacy-demoshop-with-scos.md | 33 -
.../202108.0/system-requirements.md | 21 -
.../hosting-providers/integrating-heroku.md | 192 -
.../exporting-product-data-for-fact-finder.md | 95 -
...-configuring-fact-finder-web-components.md | 398 -
.../installing-and-configuring-fact-finder.md | 41 -
...-and-configuring-the-fact-finder-ng-api.md | 580 --
.../fact-finder/integrating-fact-finder.md | 167 -
.../using-fact-finder-campaigns.md | 217 -
...using-fact-finder-recommendation-engine.md | 122 -
.../using-fact-finder-search-suggestions.md | 73 -
.../fact-finder/using-fact-finder-search.md | 212 -
.../fact-finder/using-fact-finder-tracking.md | 191 -
.../installing-and-confiugring-minubo.md | 114 -
.../episerver/episerver-api.md | 36 -
.../episerver-order-reference-commands.md | 123 -
.../installing-and-configuring-episerver.md | 52 -
.../episerver/integrating-episerver.md | 492 --
.../installing-and-configuring-inxmail.md | 40 -
.../inxmail/integrating-inxmail.md | 63 -
.../inxmail/inxmail-api-requests.md | 30 -
.../inxmail-order-referenced-commands.md | 49 -
.../econda/adding-the-econda-tracking-code.md | 262 -
.../econda/exporting-econda-data.md | 331 -
.../econda/installing-econda.md | 13 -
.../integrating-econda-cross-selling.md | 146 -
.../econda/integrating-econda-front-end.md | 181 -
.../econda/integrating-econda.md | 29 -
...g-and-configuring-tideways-with-vagrant.md | 33 -
.../loggly/configuring-loggly.md | 141 -
.../loggly/loggly.md | 142 -
.../configuring-new-relic-logging.md | 117 -
...lic\342\200\223with\342\200\223vagrant.md" | 49 -
...-filtering-of-payment-methods-for-adyen.md | 53 -
.../adyen/installing-and-configuring-adyen.md | 131 -
.../integrating-adyen-payment-methods.md | 503 --
.../adyen/integrating-adyen.md | 353 -
.../installing-and-configuring-afterpay.md | 115 -
.../afterpay/integrating-afterpay.md | 120 -
.../amazon-pay-sandbox-simulations.md | 122 -
.../amazon-pay/amazon-pay-state-machine.md | 115 -
.../amazon-pay/configuring-amazon-pay.md | 278 -
.../handling-orders-with-amazon-pay-api.md | 161 -
...y-configuration-for-the-legacy-demoshop.md | 207 -
.../amazon-pay-email-notifications.md | 76 -
...nd-information-about-shipping-addresses.md | 105 -
.../amazon-pay-refund.md | 36 -
...pay-with-amazon-button-on-the-cart-page.md | 59 -
.../amazon-pay-sandbox-simulations.md | 39 -
.../amazon-pay-state-machine.md | 109 -
.../amazon-pay-support-of-bundled-products.md | 85 -
...hop-handling-orders-with-amazon-pay-api.md | 147 -
...nd-information-about-shipping-addresses.md | 126 -
.../arvato/arvato-store-order.md | 46 -
.../arvato/v.1.0/arvato-risk-check-1.0.md | 59 -
.../installing-and-configuring-arvato-1.0.md | 59 -
.../arvato/v.2.0/arvato-risk-check-2.0.md | 62 -
.../installing-and-configuring-arvato-2.0.md | 70 -
...invoice-payments-to-a-preauthorize-mode.md | 377 -
.../billpay/integrating-billpay.md | 91 -
.../braintree-performing-requests.md | 72 -
.../braintree/braintree-request-workflow.md | 26 -
.../installing-and-configuring-braintree.md | 280 -
...e-configuration-for-the-legacy-demoshop.md | 137 -
...orming-requests-for-the-legacy-demoshop.md | 80 -
.../braintree-workflow-for-legacy-demoshop.md | 27 -
.../computop/computop-api-calls.md | 62 -
.../computop/computop-oms-plugins.md | 52 -
.../installing-and-configuring-computop.md | 73 -
...credit-card-payment-method-for-computop.md | 81 -
...payment\342\200\223method-for-computop.md" | 224 -
...irect-debit-payment-method-for-computop.md | 73 -
...easy-credit-payment-method-for-computop.md | 72 -
...g-the-ideal-payment-method-for-computop.md | 65 -
...e-paydirekt-payment-method-for-computop.md | 73 -
...-the-paynow-payment-method-for-computop.md | 364 -
...-the-paypal-payment-method-for-computop.md | 64 -
...-the-sofort-payment-method-for-computop.md | 75 -
.../crefopay/crefopay-callbacks.md | 33 -
.../crefopay-capture-and-refund-processes.md | 52 -
.../crefopay-enabling-b2b-payments.md | 46 -
.../crefopay/crefopay-notifications.md | 17 -
.../crefopay/crefopay-payment-methods.md | 79 -
.../payment-partners/crefopay/crefopay.md | 23 -
.../installing-and-configuring-crefopay.md | 101 -
.../crefopay/integrating-crefopay.md | 663 --
.../heidelpay/configuring-heidelpay.md | 89 -
.../heidelpay/heidelpay-oms-workflow.md | 16 -
.../heidelpay-workflow-for-errors.md | 48 -
.../heidelpay/installing-heidelpay.md | 50 -
...ting-heidelpay-into-the-legacy-demoshop.md | 275 -
.../heidelpay/integrating-heidelpay.md | 314 -
...ard-secure-payment-method-for-heidelpay.md | 119 -
...rect-debit-payment-method-for-heidelpay.md | 435 -
...asy-credit-payment-method-for-heidelpay.md | 588 --
...-the-ideal-payment-method-for-heidelpay.md | 73 -
...ecured-b2c-payment-method-for-heidelpay.md | 230 -
...-authorize-payment-method-for-heidelpay.md | 88 -
...ypal-debit-payment-method-for-heidelpay.md | 91 -
...the-sofort-payment-method-for-heidelpay.md | 87 -
...arketplace-payment-method-for-heidelpay.md | 53 -
.../klarna/klarna-invoice-pay-in-14-days.md | 66 -
.../klarna/klarna-part-payment-flexible.md | 53 -
.../klarna/klarna-payment-workflow.md | 29 -
...a-state-machine-commands-and-conditions.md | 90 -
.../installing-and-configuring-payolution.md | 130 -
...stallment-payment-method-for-payolution.md | 56 -
...e-invoice-payment-method-for-payolution.md | 95 -
.../payolution-performing-requests.md | 103 -
.../payolution/payolution-request-flow.md | 34 -
...and-configuring-ratenkauf-by-easycredit.md | 1043 ---
...rom-the-backend-application-for-ratepay.md | 45 -
...direct-debit-payment-method-for-ratepay.md | 70 -
...-installment-payment-method-for-ratepay.md | 83 -
...-the-invoice-payment-method-for-ratepay.md | 76 -
...e-prepayment-payment-method-for-ratepay.md | 69 -
.../ratepay-core-module-structure-diagram.md | 34 -
.../ratepay/ratepay-facade-methods.md | 51 -
.../ratepay/ratepay-payment-workflow.md | 59 -
...y-state-machine-commands-and-conditions.md | 74 -
.../ratepay/ratepay-state-machines.md | 16 -
.../installing-and-configuring-akeneo.md | 560 --
...nstalling-and-configuring-seven-senders.md | 22 -
.../integrating-seven-senders.md | 87 -
.../seven-senders-api-requests.md | 26 -
.../seven-senders/seven-senders-mappers.md | 43 -
.../seven-senders-persistance-layer.md | 39 -
.../201811.0/about-back-office-user-guides.md | 33 -
.../administration/glossary/glossary.md | 29 -
.../glossary/managing-glossary.md | 34 -
.../managing-mime-type-settings.md | 57 -
.../tax-rates/managing-tax-rates.md | 95 -
.../reference-information-tax-rates.md | 32 -
.../administration/tax-rates/taxes.md | 43 -
.../tax-sets/managing-tax-sets.md | 81 -
.../reference-information-tax-sets.md | 27 -
.../201811.0/catalog/attributes/attributes.md | 32 -
.../attributes/creating-product-attributes.md | 56 -
.../attributes/managing-product-attributes.md | 41 -
.../reference-information-attributes.md | 44 -
.../managing-products-availability.md | 73 -
.../reference-information-availability.md | 55 -
.../assigning-products-to-categories.md | 57 -
.../201811.0/catalog/category/category.md | 31 -
.../catalog/category/creating-categories.md | 75 -
.../catalog/category/managing-categories.md | 109 -
.../reference-information-category.md | 89 -
.../viewing-product-barcodes.md | 33 -
.../product-lists/creating-product-lists.md | 75 -
.../product-lists/managing-product-lists.md | 58 -
.../catalog/product-lists/product-lists.md | 31 -
.../reference-information-product-lists.md | 38 -
.../creating-product-options.md | 80 -
.../managing-product-options.md | 31 -
.../product-options/product-options.md | 26 -
.../reference-information-product-options.md | 47 -
.../managing-product-reviews.md | 61 -
.../product-reviews/product-reviews.md | 30 -
.../abstract-and-concrete-products.md | 39 -
...ding-volume-prices-to-abstract-products.md | 61 -
...g-abstract-products-and-product-bundles.md | 102 -
.../creating-product-bundles.md | 54 -
.../editing-abstract-products.md | 33 -
.../adding-product-alternatives.md | 66 -
.../creating-product-variants.md | 71 -
.../discontinuing-products.md | 63 -
.../editing-product-variants.md | 67 -
.../managing-products/managing-products.md | 66 -
.../201811.0/catalog/products/products.md | 73 -
.../reference-information-abstract-product.md | 80 -
.../reference-information-concrete-product.md | 85 -
.../reference-information-products.md | 50 -
...ing-blocks-to-category-or-product-pages.md | 74 -
.../201811.0/content/blocks/cms-block.md | 32 -
.../content/blocks/creating-cms-blocks.md | 67 -
...defining-validity-period-for-cms-blocks.md | 30 -
.../content/blocks/managing-cms-blocks.md | 129 -
.../reference-information-cms-block.md | 57 -
.../content/content-management-system.md | 61 -
.../content/file-manager/file-manager.md | 31 -
.../file-manager/managing-file-list.md | 54 -
.../file-manager/managing-file-tree.md | 77 -
.../managing-navigation-elements.md | 66 -
.../201811.0/content/navigation/navigation.md | 27 -
.../reference-information-navigation.md | 33 -
...ng-blocks-to-category-and-product-pages.md | 63 -
.../201811.0/content/pages/cms-pages.md | 28 -
.../content/pages/creating-cms-pages.md | 73 -
.../content/pages/editing-cms-pages.md | 89 -
.../pages/managing-cms-page-versions.md | 56 -
.../content/pages/managing-cms-pages.md | 136 -
.../reference-information-cms-pages.md | 58 -
.../redirects/creating-cms-redirects.md | 34 -
.../redirects/managing-cms-redirects.md | 63 -
.../201811.0/content/redirects/redirects.md | 22 -
.../reference-information-cms-redirects.md | 32 -
.../company-account/company-account.md | 54 -
.../company-account/managing-companies.md | 87 -
.../company-account/managing-company-roles.md | 68 -
.../managing-company-unit-addresses.md | 55 -
.../company-account/managing-company-units.md | 67 -
.../company-account/managing-company-users.md | 89 -
.../reference-information-company-account.md | 99 -
.../managing-customer-access.md | 37 -
.../managing-customer-addresses.md | 50 -
.../managing-customer-groups.md | 52 -
.../managing-customers.md | 94 -
.../reference-information-customers.md | 78 -
.../201811.0/customer/customers.md | 40 -
.../reference-information-dashboard.md | 54 -
.../201811.0/dashboard/viewing-dashboard.md | 25 -
.../201811.0/general-back-office-overview.md | 45 -
.../201811.0/maintenance/maintenance.md | 38 -
.../discount/creating-cart-rules.md | 63 -
.../discount/creating-vouchers.md | 94 -
.../merchandising/discount/discount.md | 37 -
.../discount/managing-discounts.md | 68 -
...erence-information-discount-calculation.md | 76 -
...ference-information-discount-conditions.md | 64 -
.../reference-information-discount.md | 63 -
.../reference-information-voucher-codes.md | 41 -
.../references/token-description-tables.md | 55 -
.../product-labels/creating-product-labels.md | 57 -
.../product-labels/managing-product-labels.md | 75 -
.../product-labels/prioritizing-labels.md | 34 -
.../product-labels/product-labels.md | 30 -
.../reference-information-product-labels.md | 37 -
.../creating-product-relations.md | 73 -
.../managing-product-relations.md | 62 -
.../product-relations/product-relations.md | 31 -
...reference-information-product-relations.md | 57 -
.../product-sets/creating-product-sets.md | 71 -
.../product-sets/managing-product-sets.md | 84 -
.../product-sets/product-sets.md | 28 -
.../reference-information-product-sets.md | 67 -
.../managing-category-filters.md | 91 -
.../managing-filter-preferences.md | 59 -
.../managing-search-preferences.md | 47 -
...ce-information-search-preferences-types.md | 84 -
...eference-information-search-preferences.md | 27 -
.../search-and-filters/search-and-filters.md | 42 -
.../order-matrix/viewing-the-order-matrix.md | 25 -
.../201811.0/sales/orders/managing-orders.md | 106 -
.../reference-information-orders.md | 46 -
.../201811.0/sales/refunds/viewing-refunds.md | 28 -
.../201811.0/sales/sales.md | 35 -
.../roles-groups-and-users/managing-groups.md | 81 -
.../roles-groups-and-users/managing-roles.md | 186 -
.../roles-groups-and-users/managing-users.md | 106 -
.../references/reference-information-roles.md | 30 -
.../references/reference-information-user.md | 66 -
.../201811.0/users/users.md | 46 -
.../alternative-products-feature-overview.md | 35 -
.../cart-feature-overview.md | 35 -
.../cart-notes-overview.md | 32 -
.../cart-widget-overview.md | 31 -
.../201811.0/catalog-feature-overview.md | 38 -
.../category-management-feature-overview.md | 91 -
.../checkout-feature-overview.md | 32 -
.../define-payment-and-shipment-methods.md | 13 -
.../cms-blocks-overview.md | 55 -
.../cms-feature-overview.md | 50 -
.../cms-page-drafts-and-previews.md | 162 -
.../cms-pages-overview.md | 71 -
.../cms-feature-overview/publish-to-live.md | 38 -
...time-restricted-content-page-publishing.md | 23 -
.../business-units-overview.md | 75 -
.../company-account-feature-overview.md | 35 -
.../company-accounts-overview.md | 52 -
...any-user-roles-and-permissions-overview.md | 110 -
.../customer-access-feature-overview.md | 48 -
...mer-account-management-feature-overview.md | 41 -
.../customer-groups-overview.md | 36 -
.../customer-login-overview.md | 28 -
.../password-management-overview.md | 22 -
docs/scos/user/features/201811.0/features.md | 55 -
.../asset-management.md | 13 -
.../file-manager-feature-overview.md | 29 -
.../file-uploader.md | 39 -
.../201811.0/gift-cards-feature-overview.md | 76 -
.../inventory-management-feature-overview.md | 104 -
...ling-and-notifications-feature-overview.md | 46 -
.../measurement-units-feature-overview.md | 74 -
...merchant-custom-prices-feature-overview.md | 74 -
.../201811.0/multi-channel/multi-channel.md | 28 -
.../multiple-touchpoints-integration.md | 13 -
.../multi-channel/responsive-design.md | 13 -
.../multiple-carts-feature-overview.md | 92 -
.../201811.0/navigation-feature-overview.md | 39 -
...on-splittable-products-feature-overview.md | 23 -
.../oms-order-management-system-matrix.md | 53 -
.../order-management-feature-overview.md | 34 -
.../splittable-order-items-overview.md | 48 -
.../packaging-units-feature-overview.md | 190 -
.../201811.0/payments-feature-overview.md | 90 -
.../prices-feature-overview.md | 45 -
.../volume-prices-overview.md | 122 -
.../product-barcode-feature-overview.md | 61 -
.../product-bundles-feature-overview.md | 114 -
.../discontinued-products-overview.md | 33 -
.../product-attributes-overview.md | 175 -
.../product-feature-overview.md | 69 -
.../timed-product-availability-overview.md | 39 -
.../product-groups-feature-overview.md | 78 -
.../product-labels-feature-overview.md | 169 -
.../product-lists-feature-overview.md | 22 -
.../product-options-feature-overview.md | 88 -
...uct-rating-and-reviews-feature-overview.md | 50 -
.../product-relations-feature-overview.md | 106 -
.../201811.0/product-sets-feature-overview.md | 39 -
.../promotions-discounts-feature-overview.md | 212 -
.../quick-add-to-cart-feature-overview.md | 127 -
.../201811.0/refunds-feature-overview.md | 31 -
.../201811.0/reorder-feature-overview.md | 23 -
.../choosing-the-right-suite-for-you.md | 12 -
.../sample-suite-and-custom-suite.md | 12 -
.../category-filters-overview.md | 26 -
.../dynamic-filters-and-facets.md | 17 -
.../search-feature-overview.md | 20 -
.../search-preferences.md | 31 -
.../search-types-overview.md | 50 -
...standard-filters-size-type-color-etc....md | 14 -
.../201811.0/shared-carts-feature-overview.md | 134 -
.../201811.0/shipment-feature-overview.md | 70 -
.../shopping-list-notes-overview.md | 22 -
.../shopping-list-printing-overview.md | 27 -
.../shopping-list-widget-overview.md | 25 -
.../shopping-lists-feature-overview.md | 194 -
.../back-office-translations-overview.md | 51 -
...ryker-core-back-office-feature-overview.md | 92 -
.../features/201811.0/tax-feature-overview.md | 66 -
.../201811.0/wishlist-feature-overview.md | 102 -
.../201811.0/overview-of-features.md | 21 -
.../201811.0/about-shop-user-guide.md | 19 -
.../minimum-order-value-feature-overview.md | 102 -
...ultiple-carts-per-user-feature-overview.md | 69 -
.../cart/shared-cart-feature-overview.md | 94 -
.../shopping-cart-widget-feature-overview.md | 30 -
.../shop-guide-address-step.md | 96 -
.../shop-guide-checkout.md | 33 -
.../shop-guide-payment-step.md | 33 -
.../shop-guide-shipment-step.md | 41 -
.../shop-guide-summary-step.md | 42 -
.../201811.0/shop-guide-company-account.md | 52 -
.../201811.0/shop-guide-company-users.md | 86 -
.../shop-guide-managing-company-roles.md | 80 -
.../201811.0/shop-guide-shopping-lists.md | 175 -
.../201811.0/content-management/censhare.md | 38 -
.../201811.0/content-management/coremedia.md | 56 -
.../201811.0/content-management/e-spirit.md | 57 -
.../201811.0/content-management/magnolia.md | 54 -
.../201811.0/content-management/styla.md | 53 -
.../201811.0/customer-service/dixa.md | 54 -
.../201811.0/customer-service/iadvize.md | 56 -
.../customer-service/live-chat-service.md | 72 -
.../201811.0/customer-service/optimise-it.md | 51 -
.../finance-and-accounting/collectai.md | 54 -
.../finance-and-accounting/nitrobox.md | 45 -
.../201811.0/hosting-providers/claranet.md | 54 -
.../201811.0/hosting-providers/continum.md | 56 -
.../201811.0/hosting-providers/heroku.md | 24 -
.../201811.0/hosting-providers/metaways.md | 51 -
.../201811.0/hosting-providers/root-360.md | 57 -
.../ab-testing-and-performance/ab-tasty.md | 55 -
.../ab-testing-and-performance/baqend.md | 38 -
.../analytics/channelpilot-analytics.md | 52 -
.../analytics/fact-finder.md | 76 -
.../analytics/haensel-ams.md | 44 -
.../analytics/mindlab.md | 54 -
.../analytics/minubo.md | 55 -
.../customer-communication/dotdigital.md | 60 -
.../customer-communication/episerver.md | 58 -
.../customer-communication/inxmail.md | 208 -
.../customer-retention-and-loyalty/namogoo.md | 53 -
.../trustpilot.md | 53 -
.../customer-retention-and-loyalty/zenloop.md | 54 -
.../8select.md | 38 -
.../contentserv.md | 35 -
.../econda.md | 61 -
.../nosto.md | 60 -
.../personalization-and-cross-selling/trbo.md | 56 -
.../channelpilot-marketplace.md | 52 -
.../common-solutions.md | 38 -
.../data-virtuality.md | 56 -
.../loggly.md | 31 -
.../mindcurv.md | 38 -
.../new-relic.md | 32 -
.../plusserver.md | 56 -
.../proclane.md | 58 -
.../shopmacher.md | 38 -
.../tideways.md | 43 -
.../usercentrics.md | 56 -
.../vshn.md | 55 -
.../order-management-erpoms/tradebyte.md | 53 -
.../201811.0/payment-partners/adyen.md | 57 -
.../201811.0/payment-partners/afterpay.md | 67 -
.../201811.0/payment-partners/amazon-pay.md | 67 -
.../201811.0/payment-partners/arvato.md | 49 -
.../201811.0/payment-partners/billie.md | 59 -
.../201811.0/payment-partners/billpay.md | 77 -
.../201811.0/payment-partners/braintree.md | 82 -
.../payment-partners/bs-payone/bs-payone.md | 405 -
...tion-and-preauthorization-capture-flows.md | 60 -
.../payone-facade.md | 53 -
...ration-into-the-legacy-demoshop-project.md | 301 -
.../payone-credit-card-payment.md | 83 -
.../payone-direct-debit-payment.md | 84 -
.../payone-invoice-payment.md | 49 -
.../payone-online-transfer-payment.md | 78 -
.../payone-paypal-payment.md | 58 -
.../payone-prepayment.md | 51 -
.../payone-security-invoice-payment.md | 46 -
.../payone-paypal-express-checkout-payment.md | 106 -
...-machine-commands-conditions-and-events.md | 52 -
.../payone-cash-on-delivery.md | 105 -
...ayone-integration-into-the-scos-project.md | 433 -
.../payone-paypal-express-checkout-payment.md | 126 -
.../payone-risk-check-and-address-check.md | 340 -
.../201811.0/payment-partners/computop.md | 79 -
.../computop-credit-card.md | 81 -
.../computop-payment-methods/computop-crif.md | 223 -
.../computop-direct-debit.md | 73 -
.../computop-easy-credit.md | 72 -
.../computop-ideal.md | 65 -
.../computop-paydirekt.md | 73 -
.../computop-paynow.md | 364 -
.../computop-paypal.md | 64 -
.../computop-sofort.md | 75 -
.../computop-api.md | 62 -
.../computop-oms.md | 52 -
.../201811.0/payment-partners/crefopay.md | 56 -
.../201811.0/payment-partners/heidelpay.md | 41 -
.../201811.0/payment-partners/klarna.md | 83 -
.../201811.0/payment-partners/payolution.md | 62 -
.../201811.0/payment-partners/powerpay.md | 63 -
.../ratenkauf-by-easycredit.md | 53 -
.../201811.0/payment-partners/ratepay.md | 91 -
.../product-information-pimerp/akeneo.md | 56 -
.../product-information-pimerp/censhare.md | 35 -
.../product-information-pimerp/contentserv.md | 41 -
.../product-information-pimerp/xentral.md | 53 -
.../201811.0/shipment/paazl.md | 57 -
.../201811.0/shipment/paqato.md | 50 -
.../201811.0/shipment/seven-senders.md | 56 -
.../201811.0/technology-partners.md | 137 -
853 files changed, 127118 deletions(-)
delete mode 100644 docs/marketplace/dev/data-export/202108.0/data-export-merchant-orders-csv-files-format.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-combined-merchant-product-offer.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-category.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-oms-process.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-date-schedule.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-week-day-schedule.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-order-status.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer-store.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-option-group.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-product.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile-address.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-stock.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-store.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant-user.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-merchant.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-price-product-offer.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-product-offer-stock.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-product-offer-validity.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/file-details-product-price.csv.md
delete mode 100644 docs/marketplace/dev/data-import/202108.0/marketplace-setup.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/acl-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/combined-product-offer-import-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-inventory-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-inventory-management-wishlist-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-merchant-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-cart-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-cart-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-wishlist-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-volume-prices-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-wishlist-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-return-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-category-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-opening-hours-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/glue/prices-marketplace-wishlist-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-cart-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-dummy-payment-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-order-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-packaging-units-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-merchant-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-merchant-portal-core-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-merchant-portal-product-offer-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-order-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-order-management-order-threshold-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-cart-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-inventory-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-marketplace-product-offer-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-offer-cart-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-offer-checkout-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-offer-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-offer-prices-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-options-cart-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-options-checkout-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-product-options-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-promotions-discounts-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-return-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-shipment-cart-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-shipment-checkout-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-shipment-customer-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-shipment-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-wishlist-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-category-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-opening-hours-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-portal-product-offer-management-merchant-portal-order-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-order-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-inventory-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-options-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-tax-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-customer-account-management-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-wishlist-feature-integration.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-cart-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-inventory-management-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/gui-modules-concept.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/marketplace-merchant-portal-core-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/merchant-user-concept.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/persistence-acl-configuration.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-management-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-offer-management-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/merchant-oms.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/marketplace-product-offer-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-in-the-back-office.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-storage.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-store-relation.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-validity-dates.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/rendering-product-offers-on-the-storefront.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-prices-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-options-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-promotions-and-discounts-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-return-management-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-shipment-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-wishlist-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-category-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-opening-hours-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/execution-flow.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-walkthrough.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/global-scope.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/rules-and-scopes.md
delete mode 100644 docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/abstract-products/retrieving-abstract-products.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-carts-of-registered-users.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-items-in-carts-of-registered-users.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-concrete-products.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-product-offers-of-concrete-products.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/content-items/retrieving-abstract-products-in-abstract-product-lists.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-cart-items.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-carts.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/managing-the-returns.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-addresses.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-opening-hours.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchants.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-availability.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-prices.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offers.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/resolving-search-engine-friendly-urls.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/retrieving-autocomplete-and-search-suggestions.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/retrieving-marketplace-orders.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/searching-the-product-catalog.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlist-items.md
delete mode 100644 docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlists.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/availability/availability-reference-information.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/creating-product-options.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/managing-product-options.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-product-reference-information.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/creating-abstract-products.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/editing-abstract-products.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/concrete-products/creating-product-variants.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/managing-products/managing-products.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/products-reference-information.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchant-users.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchants.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/marketplace/offers/managing-merchant-product-offers.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/marketplace/orders/managing-marketplace-orders.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-orders.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-returns.md
delete mode 100644 docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-marketplace-returns.md
delete mode 100644 docs/marketplace/user/features/202108.0/index.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-cart-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-inventory-management-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/main-merchant-concept.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/merchant-users-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-merchant-portal-product-offer-management-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/merchant-order-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-product-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-product-offer-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-product-options-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-promotions-and-discounts-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-return-management-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-shipment-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/marketplace-wishlist-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/merchant-category-feature-overview.md
delete mode 100644 docs/marketplace/user/features/202108.0/merchant-opening-hours-feature-overview.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/dashboard/managing-merchants-performance-data.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/index.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/logging-in-to-the-merchant-portal.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/my-account/managing-account-details-and-settings.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/offers/managing-product-offers.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/orders/managing-merchant-orders.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/creating-marketplace-abstract-product.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-attributes.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-image-sets.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-meta-information.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-prices.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/creating-marketplace-concrete-product.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-attributes.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-prices.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-products-image-sets.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/products/products.md
delete mode 100644 docs/marketplace/user/merchant-portal-user-guides/202108.0/profile/editing-merchants-profile-details.md
delete mode 100644 docs/scos/dev/developers-corner/201811.0/developers-corner.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/agent-assist-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/business-on-behalf-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/cart-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/category-filters-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/checkout-workflow-integration-guide.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/discount-promotion-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/enabling-gift-cards.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/enabling-the-content-widget.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/feature-integration-guides.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/catalog-search-api-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/documentationgeneratorrestapi-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-alternative-products-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-category-management-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-customer-account-management-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-glue-application-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-installation-and-configuration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-image-sets-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-labels-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-price-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-rest-schema-validation-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-wishlist-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/order-history-api-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-availability-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-tax-sets-api-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/installing-the-category-cms-blocks.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/installing-the-product-cms-block.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/measurement-units-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/merchant-custom-prices-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/merchant-product-restrictions-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/merchants-and-merchant-relations-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/minimum-order-value-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/multi-store-cms-block-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/multi-store-products-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-quick-order-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-reorder-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/navigation-module-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/packaging-units-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/payment-provider-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/permissions-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/prices-per-merchant-relation-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/product-groups-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/product-label-1.0-feature-integrtion.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/product-labels-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/product-lists-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/product-rating-and-reviews-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/product-relations-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/product-set-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/quick-add-to-cart-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/shared-carts-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-product-options-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/splittable-order-items-feature-integration.md
delete mode 100644 docs/scos/dev/feature-integration-guides/201811.0/volume-prices-feature-integration.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/calculation-3.0.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/calculation-data-structure.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/calculator-plugins.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality-and-calculations.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/catalog-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/category-management-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-extension-points-reference-information.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-module-relations.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/customer-login-by-token-reference-information.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/customer-account-management-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/reference-information-customer-module-overview.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/gift-cards-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/inventory-management-feature-walkthrough/inventory-management-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/mailing-and-notifications-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/merchant-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/multiple-carts-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-module.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/order-management-feature-wakthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/sales-module-reference-information.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/packaging-units-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/payments-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/money-module-reference-information.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/prices-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-barcode-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-bundles-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-groups-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-labels-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-lists-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-options-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-rating-reviews-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-relations-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-module-relations.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/promotions-discounts-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/quick-add-to-cart-feature-walkthrough/quick-add-to-cart-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/reference-information-refund-module.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/refunds-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/reorder-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/shared-carts-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-method-plugins-reference-information.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-module-overview.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/shopping-lists-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/spryker-core-back-office-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/user-and-rights-overview.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/how-translations-are-managed.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/spryker-core-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/url-redirects-overview.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/vault-for-tokens-overview.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-feature-walkthrough.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-module-reference-information.md
delete mode 100644 docs/scos/dev/feature-walkthroughs/201811.0/wishlist-feature-walkthrough.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/angular-components.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/angular-services.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/building-the-project.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/extend-the-marketplace-frontend.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/project-structure.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/set-up-the-merchant-portal.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/index.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/index.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-autocomplete.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-chip.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-date.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-dynamic.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-image.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-input.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-list.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-select.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-text.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-configuration.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/index.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-batch-actions.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-editable.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-pagination.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-row-actions.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-search.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-selectable.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-settings.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-sync-state.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-title.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-total.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/index.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-date-range.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-select.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-tree-select.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-close-drawer.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-drawer.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-http.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-notification.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-redirect.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-drawer.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-parent-table.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-table.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/cache.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/static.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/array-map.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/chain.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/index.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/table.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/equals.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/index.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/range.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/text.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/index.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/data-transformers.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/date-parse.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/date-serialize.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/lens.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/object-map.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/pluck.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/datasources/datasource-http.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/datasources/datasource-inline-table.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/datasources/datasource-inline.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/datasources/datasources.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/persistence/in-memory-persistence-strategy.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/persistence/local-storage-persistence-strategy.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/persistence/persistence.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/persistence/url-persistence-strategy.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/ui-components-library.md
delete mode 100644 docs/scos/dev/front-end-development/202108.0/marketplace/web-components.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/authentication-and-authorization.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/checking-out/checking-out-purchases.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/glue-api-developer-guides.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/glue-infrastructure.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/glue-rest-api.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/glue-spryks.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-carts/carts-of-registered-users/managing-carts-of-registered-users.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-carts/guest-carts/managing-guest-carts.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-carts/managing-carts.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-customers/managing-customers.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-customers/retrieving-customer-orders.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-products/retrieving-product-information.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-products/retrieving-product-labels.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/managing-wishlists/managing-wishlists.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/rest-api-reference.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/retrieving-autocomplete-and-search-suggestions.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/retrieving-categories/retrieving-category-trees.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/retrieving-store-configuration.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/searching-the-product-catalog.md
delete mode 100644 docs/scos/dev/glue-api-guides/201811.0/security-and-authentication.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/about-the-legacy-demoshop-front-end-guides.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/build-and-optimization.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/demoshop-guide.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/development.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/download-and-structure.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/frontend-overview.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/public-folder.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/set-up-a-hello-world-queue-legacy-demoshop.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/twig-templates/best-practices-twig-templates.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/twig-templates/overview-twig.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/updating-the-legacy-demoshop-with-scos/making-the-legacy-demoshop-compatible-with-publish-and-synchronize.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/updating-the-legacy-demoshop-with-scos/making-the-legacy-demoshop-compatible-with-the-atomic-frontend.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/updating-the-legacy-demoshop-with-scos/making-the-legacy-demoshop-compatible-with-the-modular-frontend.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/updating-the-legacy-demoshop-with-scos/setting-up-shopuicompatibility-module-in-the-legacy-demoshop.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/updating-the-legacy-demoshop-with-scos/twig-compatibility-legacy-demoshop-vs-scos.md
delete mode 100644 docs/scos/dev/legacy-demoshop/201811.0/updating-the-legacy-demoshop-with-scos/updating-the-legacy-demoshop-with-scos.md
delete mode 100644 docs/scos/dev/system-requirements/202108.0/system-requirements.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/hosting-providers/integrating-heroku.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/exporting-product-data-for-fact-finder.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/installing-and-configuring-fact-finder-web-components.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/installing-and-configuring-fact-finder.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/installing-and-configuring-the-fact-finder-ng-api.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/integrating-fact-finder.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/using-fact-finder-campaigns.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/using-fact-finder-recommendation-engine.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/using-fact-finder-search-suggestions.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/using-fact-finder-search.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/fact-finder/using-fact-finder-tracking.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/analytics/installing-and-confiugring-minubo.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/episerver/episerver-api.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/episerver/episerver-order-reference-commands.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/episerver/installing-and-configuring-episerver.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/episerver/integrating-episerver.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/inxmail/installing-and-configuring-inxmail.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/inxmail/integrating-inxmail.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/inxmail/inxmail-api-requests.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/inxmail/inxmail-order-referenced-commands.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/personalization-and-cross-selling/econda/adding-the-econda-tracking-code.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/personalization-and-cross-selling/econda/exporting-econda-data.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/personalization-and-cross-selling/econda/installing-econda.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/personalization-and-cross-selling/econda/integrating-econda-cross-selling.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/personalization-and-cross-selling/econda/integrating-econda-front-end.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/marketing-and-conversion/customer-communication/personalization-and-cross-selling/econda/integrating-econda.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/operational-tools-monitoring-legal-etc/installing-and-configuring-tideways-with-vagrant.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/operational-tools-monitoring-legal-etc/loggly/configuring-loggly.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/operational-tools-monitoring-legal-etc/loggly/loggly.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/operational-tools-monitoring-legal-etc/new-relic/configuring-new-relic-logging.md
delete mode 100644 "docs/scos/dev/technology-partner-guides/201811.0/operational-tools-monitoring-legal-etc/new-relic/installing-and-configuring-new-relic\342\200\223with\342\200\223vagrant.md"
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/adyen/enabling-filtering-of-payment-methods-for-adyen.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/adyen/installing-and-configuring-adyen.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/adyen/integrating-adyen-payment-methods.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/adyen/integrating-adyen.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/afterpay/installing-and-configuring-afterpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/afterpay/integrating-afterpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/amazon-pay-sandbox-simulations.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/amazon-pay-state-machine.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/configuring-amazon-pay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/handling-orders-with-amazon-pay-api.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-configuration-for-the-legacy-demoshop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-email-notifications.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-order-reference-and-information-about-shipping-addresses.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-refund.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-rendering-a-pay-with-amazon-button-on-the-cart-page.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-sandbox-simulations.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-state-machine.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/amazon-pay-support-of-bundled-products.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/legacy-demoshop-integration/legacy-demoshop-handling-orders-with-amazon-pay-api.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/amazon-pay/obtaining-an-amazon-order-reference-and-information-about-shipping-addresses.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/arvato/arvato-store-order.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/arvato/v.1.0/arvato-risk-check-1.0.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/arvato/v.1.0/installing-and-configuring-arvato-1.0.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/arvato/v.2.0/arvato-risk-check-2.0.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/arvato/v.2.0/installing-and-configuring-arvato-2.0.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/billpay/billpay-switching-invoice-payments-to-a-preauthorize-mode.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/billpay/integrating-billpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/braintree/braintree-performing-requests.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/braintree/braintree-request-workflow.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/braintree/installing-and-configuring-braintree.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/braintree/legacy-demoshop-integration/braintree-configuration-for-the-legacy-demoshop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/braintree/legacy-demoshop-integration/braintree-performing-requests-for-the-legacy-demoshop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/braintree/legacy-demoshop-integration/braintree-workflow-for-legacy-demoshop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/computop-api-calls.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/computop-oms-plugins.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/installing-and-configuring-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-credit-card-payment-method-for-computop.md
delete mode 100644 "docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-crif-payment\342\200\223method-for-computop.md"
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-direct-debit-payment-method-for-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-easy-credit-payment-method-for-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-ideal-payment-method-for-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-paydirekt-payment-method-for-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-paynow-payment-method-for-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-paypal-payment-method-for-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/computop/integrating-payment-methods-for-computop/integrating-the-sofort-payment-method-for-computop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/crefopay-callbacks.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/crefopay-capture-and-refund-processes.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/crefopay-enabling-b2b-payments.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/crefopay-notifications.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/crefopay-payment-methods.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/crefopay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/installing-and-configuring-crefopay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/crefopay/integrating-crefopay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/configuring-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/heidelpay-oms-workflow.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/heidelpay-workflow-for-errors.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/installing-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-heidelpay-into-the-legacy-demoshop.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-credit-card-secure-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-direct-debit-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-easy-credit-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-ideal-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-invoice-secured-b2c-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-paypal-authorize-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-paypal-debit-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-sofort-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/heidelpay/integrating-payment-methods-for-heidelpay/integrating-the-split-payment-marketplace-payment-method-for-heidelpay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/klarna/klarna-invoice-pay-in-14-days.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/klarna/klarna-part-payment-flexible.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/klarna/klarna-payment-workflow.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/klarna/klarna-state-machine-commands-and-conditions.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/payolution/installing-and-configuring-payolution.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/payolution/integrating-the-installment-payment-method-for-payolution.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/payolution/integrating-the-invoice-payment-method-for-payolution.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/payolution/payolution-performing-requests.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/payolution/payolution-request-flow.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratenkauf-by-easycredit/installing-and-configuring-ratenkauf-by-easycredit.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/disabling-address-updates-from-the-backend-application-for-ratepay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/integrating-payment-methods-for-ratepay/integrating-the-direct-debit-payment-method-for-ratepay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/integrating-payment-methods-for-ratepay/integrating-the-installment-payment-method-for-ratepay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/integrating-payment-methods-for-ratepay/integrating-the-invoice-payment-method-for-ratepay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/integrating-payment-methods-for-ratepay/integrating-the-prepayment-payment-method-for-ratepay.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/ratepay-core-module-structure-diagram.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/ratepay-facade-methods.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/ratepay-payment-workflow.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/ratepay-state-machine-commands-and-conditions.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/payment-partners/ratepay/ratepay-state-machines.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/product-information-pimerp/akeneo/installing-and-configuring-akeneo.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/shipment/seven-senders/installing-and-configuring-seven-senders.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/shipment/seven-senders/integrating-seven-senders.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/shipment/seven-senders/seven-senders-api-requests.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/shipment/seven-senders/seven-senders-mappers.md
delete mode 100644 docs/scos/dev/technology-partner-guides/201811.0/shipment/seven-senders/seven-senders-persistance-layer.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/about-back-office-user-guides.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/glossary/glossary.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/glossary/managing-glossary.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/mime-type-settings/managing-mime-type-settings.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/tax-rates/managing-tax-rates.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/tax-rates/references/reference-information-tax-rates.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/tax-rates/taxes.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/tax-sets/managing-tax-sets.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/administration/tax-sets/references/reference-information-tax-sets.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/attributes/attributes.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/attributes/creating-product-attributes.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/attributes/managing-product-attributes.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/attributes/references/reference-information-attributes.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/availability/managing-products-availability.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/availability/references/reference-information-availability.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/category/assigning-products-to-categories.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/category/category.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/category/creating-categories.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/category/managing-categories.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/category/references/reference-information-category.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-barcodes/viewing-product-barcodes.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-lists/creating-product-lists.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-lists/managing-product-lists.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-lists/product-lists.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-lists/references/reference-information-product-lists.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-options/creating-product-options.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-options/managing-product-options.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-options/product-options.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-options/references/reference-information-product-options.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-reviews/managing-product-reviews.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/product-reviews/product-reviews.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/abstract-and-concrete-products.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-abstract-products/adding-volume-prices-to-abstract-products.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-abstract-products/creating-abstract-products-and-product-bundles.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-abstract-products/creating-product-bundles.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-abstract-products/editing-abstract-products.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-concrete-products/adding-product-alternatives.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-concrete-products/creating-product-variants.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-concrete-products/discontinuing-products.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/manage-concrete-products/editing-product-variants.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/managing-products/managing-products.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/products.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/references/reference-information-abstract-product.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/references/reference-information-concrete-product.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/catalog/products/references/reference-information-products.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/blocks/assigning-blocks-to-category-or-product-pages.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/blocks/cms-block.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/blocks/creating-cms-blocks.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/blocks/defining-validity-period-for-cms-blocks.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/blocks/managing-cms-blocks.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/blocks/references/reference-information-cms-block.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/content-management-system.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/file-manager/file-manager.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/file-manager/managing-file-list.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/file-manager/managing-file-tree.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/navigation/managing-navigation-elements.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/navigation/navigation.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/navigation/references/reference-information-navigation.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/pages/assigning-blocks-to-category-and-product-pages.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/pages/cms-pages.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/pages/creating-cms-pages.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/pages/editing-cms-pages.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/pages/managing-cms-page-versions.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/pages/managing-cms-pages.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/pages/references/reference-information-cms-pages.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/redirects/creating-cms-redirects.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/redirects/managing-cms-redirects.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/redirects/redirects.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/content/redirects/references/reference-information-cms-redirects.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/company-account/company-account.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/company-account/managing-companies.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/company-account/managing-company-roles.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/company-account/managing-company-unit-addresses.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/company-account/managing-company-units.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/company-account/managing-company-users.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/company-account/references/reference-information-company-account.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/customer-customer-access-customer-groups/managing-customer-access.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/customer-customer-access-customer-groups/managing-customer-addresses.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/customer-customer-access-customer-groups/managing-customer-groups.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/customer-customer-access-customer-groups/managing-customers.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/customer-customer-access-customer-groups/references/reference-information-customers.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/customer/customers.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/dashboard/references/reference-information-dashboard.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/dashboard/viewing-dashboard.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/general-back-office-overview.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/maintenance/maintenance.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/creating-cart-rules.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/creating-vouchers.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/discount.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/managing-discounts.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/references/reference-information-discount-calculation.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/references/reference-information-discount-conditions.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/references/reference-information-discount.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/references/reference-information-voucher-codes.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/discount/references/token-description-tables.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-labels/creating-product-labels.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-labels/managing-product-labels.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-labels/prioritizing-labels.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-labels/product-labels.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-labels/references/reference-information-product-labels.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-relations/creating-product-relations.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-relations/managing-product-relations.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-relations/product-relations.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-relations/references/reference-information-product-relations.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-sets/creating-product-sets.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-sets/managing-product-sets.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-sets/product-sets.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/product-sets/references/reference-information-product-sets.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/search-and-filters/managing-category-filters.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/search-and-filters/managing-filter-preferences.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/search-and-filters/managing-search-preferences.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/search-and-filters/references/reference-information-search-preferences-types.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/search-and-filters/references/reference-information-search-preferences.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/merchandising/search-and-filters/search-and-filters.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/sales/order-matrix/viewing-the-order-matrix.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/sales/orders/managing-orders.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/sales/orders/references/reference-information-orders.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/sales/refunds/viewing-refunds.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/sales/sales.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/users/roles-groups-and-users/managing-groups.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/users/roles-groups-and-users/managing-roles.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/users/roles-groups-and-users/managing-users.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/users/roles-groups-and-users/references/reference-information-roles.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/users/roles-groups-and-users/references/reference-information-user.md
delete mode 100644 docs/scos/user/back-office-user-guides/201811.0/users/users.md
delete mode 100644 docs/scos/user/features/201811.0/alternative-products-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/cart-feature-overview/cart-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/cart-feature-overview/cart-notes-overview.md
delete mode 100644 docs/scos/user/features/201811.0/cart-feature-overview/cart-widget-overview.md
delete mode 100644 docs/scos/user/features/201811.0/catalog-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/category-management-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/checkout-feature-overview/checkout-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/checkout-feature-overview/define-payment-and-shipment-methods.md
delete mode 100644 docs/scos/user/features/201811.0/cms-feature-overview/cms-blocks-overview.md
delete mode 100644 docs/scos/user/features/201811.0/cms-feature-overview/cms-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/cms-feature-overview/cms-page-drafts-and-previews.md
delete mode 100644 docs/scos/user/features/201811.0/cms-feature-overview/cms-pages-overview.md
delete mode 100644 docs/scos/user/features/201811.0/cms-feature-overview/publish-to-live.md
delete mode 100644 docs/scos/user/features/201811.0/cms-feature-overview/time-restricted-content-page-publishing.md
delete mode 100644 docs/scos/user/features/201811.0/company-account-feature-overview/business-units-overview.md
delete mode 100644 docs/scos/user/features/201811.0/company-account-feature-overview/company-account-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/company-account-feature-overview/company-accounts-overview.md
delete mode 100644 docs/scos/user/features/201811.0/company-account-feature-overview/company-user-roles-and-permissions-overview.md
delete mode 100644 docs/scos/user/features/201811.0/customer-access-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/customer-account-management-feature-overview/customer-account-management-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/customer-account-management-feature-overview/customer-groups-overview.md
delete mode 100644 docs/scos/user/features/201811.0/customer-account-management-feature-overview/customer-login-overview.md
delete mode 100644 docs/scos/user/features/201811.0/customer-account-management-feature-overview/password-management-overview.md
delete mode 100644 docs/scos/user/features/201811.0/features.md
delete mode 100644 docs/scos/user/features/201811.0/file-manager-feature-overview/asset-management.md
delete mode 100644 docs/scos/user/features/201811.0/file-manager-feature-overview/file-manager-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/file-manager-feature-overview/file-uploader.md
delete mode 100644 docs/scos/user/features/201811.0/gift-cards-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/inventory-management-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/mailing-and-notifications-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/measurement-units-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/merchant-custom-prices-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/multi-channel/multi-channel.md
delete mode 100644 docs/scos/user/features/201811.0/multi-channel/multiple-touchpoints-integration.md
delete mode 100644 docs/scos/user/features/201811.0/multi-channel/responsive-design.md
delete mode 100644 docs/scos/user/features/201811.0/multiple-carts-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/navigation-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/non-splittable-products-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/order-management-feature-overview/oms-order-management-system-matrix.md
delete mode 100644 docs/scos/user/features/201811.0/order-management-feature-overview/order-management-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/order-management-feature-overview/splittable-order-items-overview.md
delete mode 100644 docs/scos/user/features/201811.0/packaging-units-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/payments-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/prices-feature-overview/prices-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/prices-feature-overview/volume-prices-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-barcode-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-bundles-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-feature-overview/discontinued-products-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-feature-overview/product-attributes-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-feature-overview/product-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-feature-overview/timed-product-availability-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-groups-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-labels-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-lists-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-options-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-rating-and-reviews-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-relations-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/product-sets-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/promotions-discounts-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/quick-add-to-cart-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/refunds-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/reorder-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/sample-suite-and-custom-suite/choosing-the-right-suite-for-you.md
delete mode 100644 docs/scos/user/features/201811.0/sample-suite-and-custom-suite/sample-suite-and-custom-suite.md
delete mode 100644 docs/scos/user/features/201811.0/search-feature-overview/category-filters-overview.md
delete mode 100644 docs/scos/user/features/201811.0/search-feature-overview/dynamic-filters-and-facets.md
delete mode 100644 docs/scos/user/features/201811.0/search-feature-overview/search-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/search-feature-overview/search-preferences.md
delete mode 100644 docs/scos/user/features/201811.0/search-feature-overview/search-types-overview.md
delete mode 100644 docs/scos/user/features/201811.0/search-feature-overview/standard-filters-size-type-color-etc....md
delete mode 100644 docs/scos/user/features/201811.0/shared-carts-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/shipment-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/shopping-lists-feature-overview/shopping-list-notes-overview.md
delete mode 100644 docs/scos/user/features/201811.0/shopping-lists-feature-overview/shopping-list-printing-overview.md
delete mode 100644 docs/scos/user/features/201811.0/shopping-lists-feature-overview/shopping-list-widget-overview.md
delete mode 100644 docs/scos/user/features/201811.0/shopping-lists-feature-overview/shopping-lists-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/spryker-core-back-office-feature-overview/back-office-translations-overview.md
delete mode 100644 docs/scos/user/features/201811.0/spryker-core-back-office-feature-overview/spryker-core-back-office-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/tax-feature-overview.md
delete mode 100644 docs/scos/user/features/201811.0/wishlist-feature-overview.md
delete mode 100644 docs/scos/user/overview-of-features/201811.0/overview-of-features.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/about-shop-user-guide.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-application-guide/cart/minimum-order-value-feature-overview.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-application-guide/cart/multiple-carts-per-user-feature-overview.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-application-guide/cart/shared-cart-feature-overview.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-application-guide/cart/shopping-cart-widget-feature-overview.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-checkout/shop-guide-address-step.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-checkout/shop-guide-checkout.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-checkout/shop-guide-payment-step.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-checkout/shop-guide-shipment-step.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-checkout/shop-guide-summary-step.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-company-account.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-company-users.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-managing-company-roles.md
delete mode 100644 docs/scos/user/shop-user-guides/201811.0/shop-guide-shopping-lists.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/content-management/censhare.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/content-management/coremedia.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/content-management/e-spirit.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/content-management/magnolia.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/content-management/styla.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/customer-service/dixa.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/customer-service/iadvize.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/customer-service/live-chat-service.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/customer-service/optimise-it.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/finance-and-accounting/collectai.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/finance-and-accounting/nitrobox.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/hosting-providers/claranet.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/hosting-providers/continum.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/hosting-providers/heroku.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/hosting-providers/metaways.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/hosting-providers/root-360.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/ab-testing-and-performance/ab-tasty.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/ab-testing-and-performance/baqend.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/analytics/channelpilot-analytics.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/analytics/fact-finder.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/analytics/haensel-ams.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/analytics/mindlab.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/analytics/minubo.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/customer-communication/dotdigital.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/customer-communication/episerver.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/customer-communication/inxmail.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/customer-retention-and-loyalty/namogoo.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/customer-retention-and-loyalty/trustpilot.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/customer-retention-and-loyalty/zenloop.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/personalization-and-cross-selling/8select.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/personalization-and-cross-selling/contentserv.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/personalization-and-cross-selling/econda.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/personalization-and-cross-selling/nosto.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketing-and-conversion/personalization-and-cross-selling/trbo.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/marketplace-integrations/channelpilot-marketplace.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/common-solutions.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/data-virtuality.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/loggly.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/mindcurv.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/new-relic.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/plusserver.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/proclane.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/shopmacher.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/tideways.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/usercentrics.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/operational-tools-monitoring-legal-etc/vshn.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/order-management-erpoms/tradebyte.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/adyen.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/afterpay.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/amazon-pay.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/arvato.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/billie.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/billpay.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/braintree.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/bs-payone.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-authorization-and-preauthorization-capture-flows.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-facade.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-integration-into-the-legacy-demoshop-project.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-payment-methods/payone-credit-card-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-payment-methods/payone-direct-debit-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-payment-methods/payone-invoice-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-payment-methods/payone-online-transfer-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-payment-methods/payone-paypal-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-payment-methods/payone-prepayment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-payment-methods/payone-security-invoice-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-paypal-express-checkout-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/legacy-demoshop-integration/payone-state-machine-commands-conditions-and-events.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/scos-integration/payone-cash-on-delivery.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/scos-integration/payone-integration-into-the-scos-project.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/scos-integration/payone-paypal-express-checkout-payment.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/bs-payone/scos-integration/payone-risk-check-and-address-check.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-credit-card.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-crif.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-direct-debit.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-easy-credit.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-ideal.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-paydirekt.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-paynow.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-paypal.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/computop-payment-methods/computop-sofort.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/technical-details-and-howtos/computop-api.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/computop/technical-details-and-howtos/computop-oms.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/crefopay.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/heidelpay.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/klarna.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/payolution.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/powerpay.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/ratenkauf-by-easycredit.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/payment-partners/ratepay.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/product-information-pimerp/akeneo.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/product-information-pimerp/censhare.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/product-information-pimerp/contentserv.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/product-information-pimerp/xentral.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/shipment/paazl.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/shipment/paqato.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/shipment/seven-senders.md
delete mode 100644 docs/scos/user/technology-partners/201811.0/technology-partners.md
diff --git a/docs/marketplace/dev/data-export/202108.0/data-export-merchant-orders-csv-files-format.md b/docs/marketplace/dev/data-export/202108.0/data-export-merchant-orders-csv-files-format.md
deleted file mode 100644
index 3ffd4d9799d..00000000000
--- a/docs/marketplace/dev/data-export/202108.0/data-export-merchant-orders-csv-files-format.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-title: Data export Merchant Orders CSV files format
-last_updated: May 27, 2021
-description: This document contains content of merchant-orders, merchant order-items, and merchant-order-expenses.
-template: import-file-template
----
-
-This document contains content of the following files you get when [exporting data on orders](/docs/scos/dev/data-export/{{page.version}}/data-export.html) generated in Spryker:
-
-* merchant-orders
-* merchant-order-items
-* merchant-order-expenses
-
-## Merchant orders
-
-These are the parameters included in the `merchant_orders.csv` file:
-
-| DEFAULT SEQUENCE | PARAMETER | REQUIRED | TYPE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-|-|-|-|-|-|-|
-| 1 | merchant_order_reference | ✓ | String | Unique | Merchant order reference identifier. |
-| 2 | marketplace_order_reference | ✓ | String | Unique | Marketplace order reference identifier. |
-| 3 | customer_reference | | String | | Customer reference identifier. |
-| 4 | merchant_order_created_at | | Date Time | | Merchant order creation date. |
-| 5 | merchant_order_updated_at | | Date Time | | Last update date of the merchant order. |
-| 6 | merchant_order_store | | String | | Name of the store where the order to this merchant was placed. |
-| 7 | email | | String | | Email of the customer. |
-| 8 | salutation | | String | | Salutation used with the customer. |
-| 9 | first_name | | String | | Customer’s first name. |
-| 10 | last_name | | String | | Customer’s last name. |
-| 11 | order_note | | String | | Note added to the order. |
-| 12 | currency_iso_code | | String | | Indicates the currency used in the order. |
-| 13 | price_mode | | Enum (NET_MODE, GROSS_MODE) | | Indicates if the order was calculated in a net or gross price mode. |
-| 14 | locale_name | | String | | Sales order’s locale used during the checkout. The sales order has a relation to the locale used during the checkout so that the same locale can be used for communication. |
-| 15 | billing_address_salutation | | | | Customer salutation used with the billing address. |
-| 16 | billing_address_first_name | ✓ | String | | Customer’s first name used in the billing address. |
-| 17 | billing_address_last_name | ✓ | String | | Customer’s last name used in the billing address. |
-| 18 | billing_address_middle_name | | String | | Customer’s middle name used in the billing address. |
-| 19 | billing_address_email | | String | | Email used with the billing address. |
-| 20 | billing_address_cell_phone | | String | | Cell phone used with the billing address. |
-| 21 | billing_address_phone | | String | | Phone used with the billing address. |
-| 22 | billing_address_address1 | | String | | First line of the billing address. The billing address is the address to which the invoice or bill is registered. |
-| 23 | billing_address_address2 | | String | | Second line of the billing address. |
-| 24 | billing_address_address3 | | String | | Third line of the billing address. |
-| 25 | billing_address_city | ✓ | String | | City of the billing address. |
-| 26 | billing_address_zip_code | ✓ | String | | Zip code of the billing address. |
-| 27 | billing_address_po_box | | String | | P.O. Box of the billing address. |
-| 28 | billing_address_company | | String | | Company used in the billing address. |
-| 29 | billing_address_description | | String | | Description used with the billing address. |
-| 30 | billing_address_comment | | String | | Comment used with the billing address. |
-| 31 | billing_address_country | ✓ | String | | Country of the billing address. |
-| 32 | billing_address_region | | String | | Region of the billing address. |
-| 33 | merchant_order_totals_canceled_total | | Number | Original value is multiplied by 100 before it is stored in this field. | Cancelled total of the order totals for this merchant. |
-| 34 | merchant_order_totals_discount_total | | Number | Original value is multiplied by 100 before it is stored in this field. | Discount total of the order totals for this merchant. |
-| 35 | merchant_order_totals_grand_total | | Number | Original value is multiplied by 100 before it is stored in this field. | Grand total of the order totals for this merchant. |
-| 36 | merchant_order_totals_order_expense_total | | Number | Original value is multiplied by 100 before it is stored in this field. | Order expense total of the order totals for this merchant. |
-| 37 | merchant_order_totals_refund_total | | Number | Original value is multiplied by 100 before it is stored in this field. | Refund total of the order totals for this merchant. |
-| 38 | merchant_order_totals_subtotal | | Number | Original value is multiplied by 100 before it is stored in this field. | Subtotal of the order totals for this merchant. |
-| 39 | merchant_order_totals_tax_total | | Number | Original value is multiplied by 100 before it is stored in this field. | Tax total of the order totals for this merchant. |
-| 40 | merchant_order_comments | | Object | Comments are presented in a JSON array format: order_comments {% raw %}{{username, message, created_at, updated_at},...}{% endraw %} | Comments added by the customer to the sales order for this merchant. Username may be a different name from the customer’s first, middle, or last name—for example, a nickname. |
-
-Check out the [merchant-orders.csv sample file](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Development+Guide/Data+Export/merchant-orders.csv).
-
-## Merchant order items
-
-These are the header fields included in the `merchant_order_items.csv` file:
-
-| DEFAULT SEQUENCE | CSV COLUMN HEADER NAME | REQUIRED | TYPE | OTHER REQUIREMENTS / COMMENTS | DESCRIPTION |
-|-|-|-|-|-|-|
-| 1 | merchant_order_reference | ✓ | String | Unique | Merchant order reference identifier |
-| 2 | marketplace_order_reference | ✓ | String | Unique | Marketplace order reference identifier. |
-| 3 | product_name | | String | | Product name of the merchant order item. |
-| 4 | merchant_order_item_reference | | String | Unique | Merchant order item reference |
-| 5 | product_sku | ✓ | String | | Product SKU of the ordered item. |
-| 6 | canceled_amount | | Number | Default = 0 | Canceled amount of the ordered item. |
-| 7 | order_item_note | | String | | Note to the ordered item. |
-| 8 | discount_amount_aggregation | | Number | Default = 0 | Discount amount aggregation of the merchant order item. |
-| 9 | discount_amount_full_aggregation | | Number | Default = 0 | Discount amount full aggregation of the merchant order item. |
-| 10 | expense_price_aggregation | | Number | Default = 0 | Expense price aggregation of the merchant order item. |
-| 11 | gross_price | | Number | Original value is multiplied by 100 before it is stored in this field. | Gross price of the ordered item. |
-| 12 | net_price | | Number | Original value is multiplied by 100 before it is stored in this field. | Net price of the ordered item. |
-| 13 | price | | Number | Original value is multiplied by 100 before it is stored in this field. | Price of the ordered item. |
-| 14 | price_to_pay_aggregation | | Number | Original value is multiplied by 100 before it is stored in this field. | Price to pay aggregation of the ordered item. |
-| 15 | product_option_price_aggregation | | Number | Original value is multiplied by 100 before it is stored in this field. | Product option price aggregation of the ordered item. |
-| 16 | quantity | ✓ | Number | Default = 1 | Quantity of items in this order item. |
-| 17 | refundable_amount | | Number | Original value is multiplied by 100 before it is stored in this field. | Refundable amount of the ordered item. |
-| 18 | subtotal_aggregation | | Number | Original value is multiplied by 100 before it is stored in this field. | Subtotal aggregation of the ordered item. |
-| 19 | tax_amount | | Number | Original value is multiplied by 100 before it is stored in this field. | Tax amount of the ordered item. |
-| 20 | tax_amount_after_cancellation | | Number | Original value is multiplied by 100 before it is stored in this field. | Tax amount after the cancellation of the ordered item. |
-| 21 | tax_amount_full_aggregation | | Number | Original value is multiplied by 100 before it is stored in this field. | Tax amount full aggregation of the ordered item. |
-| 22 | tax_rate | | Number | | Tax rate of the ordered item. |
-| 23 | tax_rate_average_aggregation | | Number | | Tax rate average aggregation of the ordered item. |
-| 24 | merchant_order_item_created_at | | Date Time | | Merchant order item creation date. |
-| 25 | merchant_order_item_updated_at | | Date Time | | Merchant order item update date. |
-| 26 | merchant_order_item_state | ✓ | String | | State of this merchant order item according to the merchant state machine. Project-specific states defined in Spryker project state-machine are XXX. |
-| 27 | merchant_order_item_state_description | | String | | State description of this merchant order item. |
-| 28 | merchant_order_item_process | | String | | Process of this merchant order item. |
-| 29 | merchant_order_item_bundle_id | | String | | Bundle product information identifier of the merchant order item. |
-| 30 | merchant_order_item_bundle_note | | String | | Note to the ordered item bundle product from this merchant. |
-| 31 | merchant_order_item_bundle_gross_price | ✓ | Number | | Gross price of the ordered item bundle product from this merchant. |
-| 32 | merchant_order_item_bundle_image | | String | | Image of the order item bundle product from this merchant. |
-| 33 | merchant_order_item_bundle_product_name | ✓ | String | | Bundle product name of the merchant order item. |
-| 34 | merchant_order_item_bundle_net_price | | Number | | Net price of the ordered item bundle from this merchant. |
-| 35 | merchant_order_item_bundle_price | | Number | | Price of the ordered item bundle from this merchant. |
-| 36 | merchant_order_item_bundle_product_sku | ✓ | String | | SKU of the product bundle in the merchant order item. |
-| 37 | order_shipment_id | | Number | | Order shipment identifier. |
-| 38 | shipment_carrier_name | | String | | Name of the shipment carrier. |
-| 39 | shipment_delivery_time | | String | | Delivery time of the shipment. |
-| 40 | shipment_method_name | | String | | Name of the shipment method. |
-| 41 | shipment_requested_delivery_date | | Date | | Requested delivery date of the shipment. |
-| 42 | shipping_address_salutation | | String | | Customer salutation used with shipping address. |
-| 43 | shipping_address_first_name | | | | Customer’s first name used in the shipping address. |
-| 44 | shipping_address_last_name | | String | | Customer’s last name used in the shipping address. |
-| 45 | shipping_address_middle_name | | String | | Customer’s middle name used in the shipping address. |
-| 46 | shipping_address_email | | String | | Email used with shipping address. |
-| 47 | shipping_address_cell_phone | | String | | Cell phone used with shipping address. |
-| 48 | shipping_address_phone | | String | | Phone used with the shipping address. |
-| 49 | shipping_address_address1 | | String | | Address first line of the shipping address. The shipping address is the address to where the order is shipped. |
-| 50 | shipping_address_address2 | | String | | Address second line of the shipping address. |
-| 51 | shipping_address_address3 | | String | | Address third line of the shipping address. |
-| 52 | shipping_address_city | | String | | City of the shipping address. |
-| 53 | shipping_address_zip_code | ✓ | String | | Zip code of the shipping address. |
-| 54 | shipping_address_po_box | | String | | P.O. Box of the shipping address. |
-| 55 | shipping_address_company | | String | | Company used in the shipping address. |
-| 56 | shipping_address_description | | String | | Description used with the shipping address. |
-| 57 | shipping_address_comment | | String | | Comment used with the shipping address. |
-| 58 | shipping_address_country | ✓ | String | | Country of the shipping address. |
-| 59 | shipping_address_region | | String | | Region of the shipping address. |
-
-Check out the [merchant-order-items.csv sample file](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Development+Guide/Data+Export/merchant-order-items.csv).
-
-## Merchant order expenses
-
-These are the header fields included in the `merchant_order_expenses.csv` file.
-
-| DEFAULT SEQUENCE | CSV COLUMN HEADER NAME | REQUIRED | TYPE | OTHER REQUIREMENTS / COMMENTS | DESCRIPTION |
-|-|-|-|-|-|-|
-| 1 | merchant_order_reference | ✓ | String | Unique | Merchant order reference identification |
-| 2 | marketplace_order_reference | ✓ | String | Unique | Marketplace order reference identification. |
-| 3 | shipment_id | | Number | | Merchant order shipment identification. |
-| 4 | canceled_amount | | Number | Default = 0 | Merchant order expense canceled amount. |
-| 5 | discount_amount_aggregation | | Number | Default = 0 | Merchant order expense discount amount aggregation. |
-| 6 | gross_price | ✓ | Number | Original value is multiplied by 100 before it is stored in this field. | Merchant order gross price of the expense. |
-| 7 | name | | String | Original value is multiplied by 100 before it is stored in this field. | Merchant order name of the expense. |
-| 8 | net_price | | Number | Original value is multiplied by 100 before it is stored in this field. | Merchant order net price of the expense. |
-| 9 | price | | Number | Original value is multiplied by 100 before it is stored in this field. | Merchant order price of the expense. |
-| 10 | price_to_pay_aggregation | | Number | Original value is multiplied by 100 before it is stored in this field. | Merchant order expense price to pay aggregation. |
-| 11 | refundable_amount | | Number | Original value is multiplied by 100 before it is stored in this field. | Merchant order refundable amount of the expense. |
-| 12 | tax_amount | | Number | Original value is multiplied by 100 before it is stored in this field. | Merchant order tax amount of the expense. |
-| 13 | tax_amount_after_cancellation | | Number | Original value is multiplied by 100 before it is stored in this field. | Merchant order expense tax amount after cancellation. |
-| 14 | tax_rate | | Number | | Merchant order tax rate of the expense. |
-| 15 | type | | String | | Merchant order type of expense. |
-| 16 | expense_created_at | ✓ | Date Time | | Merchant order timestamp of this sales expense creation. |
-| 17 | expense_updated_at | ✓ | Date Time | | Last update date of the merchant order sales expense. |
-
-Check out the [merchant-order-expenses.csv sample file](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Development+Guide/Data+Export/merchant-order-expenses.csv).
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-combined-merchant-product-offer.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-combined-merchant-product-offer.csv.md
deleted file mode 100644
index 6e05078e861..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-combined-merchant-product-offer.csv.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: "File details: combined_merchant_product_offer.csv"
-last_updated: Jun 07, 2021
-description: This document describes the combined_merchant_product_offer.csv file to configure product offers in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `combined_merchant_product_offer.csv` file to configure [Merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import --config data/import/common/combined_merchant_product_offer_import_config_{store}.yml
-```
-
-{% info_block infoBox "Info" %}
-
-To learn more about bulk importing with the help of the configuration file, see [Importing data with a configuration file](/docs/scos/dev/data-import/{{page.version}}/importing-data-with-a-configuration-file.html).
-
-{% endinfo_block %}
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ---------- | ------------ | ------ | ------------ | ----------------- | ------------- |
-| product_offer_reference | ✓ | String | | Unique | Identifier of the [merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) in the system. |
-| merchant_product_offer.concrete_sku | ✓ | String | | Unique | SKU of the concrete product the offer is being created for. |
-| merchant_product_offer.merchant_reference | ✓ | String | | Unique | Identifier of the merchant owing the product offer in the system. |
-| merchant_product_offer.merchant_sku | | String | | Unique | Identifier of the [merchant](/docs/marketplace/user/features/{{site.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html) in the system. |
-| merchant_product_offer.is_active | | Integer | | 1—is active 0—is not active | Defines whether the offer is active or not. |
-| merchant_product_offer.approval_status | ✓ | String | | Can be:
waiting_for_approval
approved
denied
| Defines the [status of the offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html#offer-approval-status) in the system. |
-| merchant_product_offer_store.store_name | | String | | | Name of the store where the offer belongs. |
-| product_offer_stock.stock_name | | String | | Stock name is defined as described in the [merchant warehouse](/docs/marketplace/user/features/{{site.version}}/marketplace-inventory-management-feature-overview.html#marketplace-warehouse-management). | Name of the stock. |
-| product_offer_stock.quantity | | Integer | | | Number of product offers that are in stock. |
-| product_offer_stock.is_never_out_of_stock | | Integer | | 1—option is enabled 0—option is disabled. | Allows the offer to be never out of stock. |
-| price_product_offer.price_type | | String | | Can be DEFAULT or ORIGINAL. | Price type of the product offer. |
-| price_product_offer.store | | String | | Value previously defined in the *stores.php* project configuration. | Store where the merchant product offer belongs. |
-| price_product_offer.currency | | String | | Defined in the [ISO code](https://en.wikipedia.org/wiki/ISO_4217). | Currency of the price. |
-| price_product_offer.value_net | | Integer | | Empty price values will be imported as zeros. | Net price in cents. |
-| price_product_offer.value_gross | | Integer | | Empty price values will be imported as zeros. | Gross price in cents. |
-| price_product_offer.price_data.volume_prices | | Array | | | Price data which can be used to define alternative prices, that is, volume prices, overwriting the given net or gross price values. |
-| product_offer_validity.valid_from | | Datetime | | | Date and time from which the offer is active. |
-| product_offer_validity.valid_to | | Datetime | | | Date and time till which the offer is active. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-- `stores.php` configuration file of the demo shop PHP project
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ------------------------ | ------------------------- |
-| [template_combined_merchant_product_offer.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_combined_merchant_product_offer.csv) | Import file template with headers only. |
-| [combined_merchant_product_offer.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/combined_merchant_product_offer.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-category.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-category.csv.md
deleted file mode 100644
index 427ebe81f86..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-category.csv.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: "File details: merchant_category.csv"
-last_updated: Jun 07, 2021
-description: This document describes the merchant_profile_address.csv file to configure merchant profile addresses in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_category.csv` file to configure [merchant categories](/docs/marketplace/user/features/{{site.version}}/merchant-category-feature-overview.html) in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-category
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| -------------- | ----------- | ------- | ------------- | -------------------- | ------------------------------- |
-| category_key | ✓ | String | | | Category key to assign the merchant to. |
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ---------------------------------- | --------------------------- |
-| [template_merchant_category.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_category.csv) | Import file template with headers only. |
-| [merchant_category.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_category.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-oms-process.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-oms-process.csv.md
deleted file mode 100644
index 4b21c9410e9..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-oms-process.csv.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: "File details: merchant_oms_process.csv"
-last_updated: Jun 07, 2021
-description: This document describes the merchant_oms_process.csv file to configure Merchant state machines in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_oms_process.csv` file to configure [Merchant state machines](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html#merchant-state-machine) in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-oms-process
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| --------------- | ---------- | ------- | ------------ | -------------- | ----------------------- |
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| merchant_oms_process_name | ✓ | String | | | Name of the merchant state machine. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ------------------------ | ------------------------ |
-| [template_merchant_oms_process.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_oms_process.csv) | Import file template with headers only. |
-| [merchant_oms_process.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_oms_process.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-date-schedule.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-date-schedule.csv.md
deleted file mode 100644
index bc9c8d8e03a..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-date-schedule.csv.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: "File details: merchant_open_hours_date_schedule.csv"
-last_updated: Jun 07, 2021
-description: This document describes the merchant_open_hours_date_schedule.csv file to configure Merchant opening hours information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_open_hours_date_schedule.csv` file to configure [special merchant opening hours](/docs/marketplace/user/features/{{site.version}}/merchant-opening-hours-feature-overview.html) in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-opening-hours-date-schedule
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ------------- | ---------- | ------ | ----------- | ------------------- | ------------------------------------ |
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| date | ✓ | Date | | Date is in format: yyyy-mm-dd | Date of the described schedule. |
-| time_from | | Datetime | | Time is in format hh:mm:ss | Time from. |
-| time_to | | Datetime | | Time is in format hh:mm:ss | Time to. |
-| note | | String | | | Additional notes or comments to the schedule. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| -------------------------- | -------------------------- |
-| [template_merchant_open_hours_date_schedule.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_open_hours_date_schedule.csv) | Import file template with headers only. |
-| [merchant_open_hours_date_schedule.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_open_hours_date_schedule.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-week-day-schedule.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-week-day-schedule.csv.md
deleted file mode 100644
index 184dc8e48ed..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-open-hours-week-day-schedule.csv.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: "File details: merchant_open_hours_week_day_schedule.csv"
-last_updated: Jun 07, 2021
-description: This document describes the merchant_open_hours_week_day_schedule.csv file to configure merchant opening hours information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_open_hours_week_day_schedule.csv` file to configure [default merchant opening hours](/docs/marketplace/user/features/{{site.version}}/merchant-opening-hours-feature-overview.html) information in your Spryker shop.
-
-To import the file, run:
-
-```
-data:import merchant-opening-hours-weekday-schedule
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| -------------- | ----------- | ------ | -------------- | ---------------------------- | ----------------------------- |
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| week_day_key | ✓ | Weekday | | Weekday name is in format: WEEKDAY_NAME | Weekday name. |
-| time_from | | Datetime | | Time is in format. hh:mm:ss | Time from. |
-| time_to | | Datetime | | Time is in format. hh:mm:ss | Time to. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ---------------------------- | ---------------------------- |
-| [template_merchant_open_hours_week_day_schedule.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_open_hours_week_day_schedule.csv) | Import file template with headers only. |
-| [merchant_open_hours_week_day_schedule.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_open_hours_week_day_schedule.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-order-status.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-order-status.csv.md
deleted file mode 100644
index 471b804a703..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-order-status.csv.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: "File details: merchant-order-status.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant-order-status.csv file to update merchant order states in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-
-This document describes the `merchant-order-status.csv` file to configure the update of the merchant order states in your Spryker Marketplace shop.
-
-To import the file, run:
-
-```bash
-order-oms:status-import merchant-order-status
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-|-|-|-|-|-|-|
-| merchant_reference | | String | | Unique | Identifier of the merchant in the system. |
-| merchant_order_reference | | String | | Unique | Identifier of the merchant order in the system. |
-| order_item_reference | ✓ | String | | Unique | Identifier of the item in the order. |
-| merchant_order_item_event_oms | ✓ | String | | OMS events depend on the [merchant state machine](/docs/marketplace/user/features/{{site.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html#merchant-state-machine) configured. | Desired order-item state. Only this parameter is updated in the database. |
-
-## Import file dependencies
-
-The file has no dependencies.
-
-## Additional Information
-
-When the merchant order item status is updated by importing the CSV file, the corresponding events in a merchant state machine are triggered, and the state gets updated. As a merchant order may contain several order items, the CSV file can have several rows of items for the same order.
-`Merchant_order_item_reference` can repeat and have different states in the file. For example, in one case, it is `packed` and then `shipped`. That lets you update the item through different merchant state machine statuses (for instance, `packed` and `shipped`) and avoid errors. If the merchant order item doesn't follow the existing sequence (the statuses flow in the merchant state machine), the state won't be updated, and you will get an error in the uploading process' report.
-
-## Import template file and content example
-
-Find the template and an example of the `merchant-order-status.csv` file below:
-
-| FILE | DESCRIPTION |
-|-|-|
-| [template_merchant-order-status.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant-order-status.csv) | Import file template with headers only. |
-| [merchant-order-status.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant-order-status.csv) | Exemplary import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer-store.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer-store.csv.md
deleted file mode 100644
index 3786393fbe9..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer-store.csv.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "File details: merchant_product_offer_store.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant_product_offer_store.csv file to configure merchant product offer store information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_product_offer_store.csv` file to configure [merchant product offer stores](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html#product-offer-stores) in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-product-offer-store
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ----------- | ----------- | ------- | ------------ | --------------------- | ------------ |
-| product_offer_reference | ✓ | String | | Unique | Identifier of the [merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) in the system. |
-| store_name | ✓ | String | | Value previously defined in the *stores.php* project configuration. | Store where the merchant product offer belongs. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant-product-offer.csv.html)
-- `stores.php` configuration file of the demo shop PHP project
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ------------------------------ | ---------------------- |
-| [template_merchant_product_offer_store.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_product_offer_store.csv) | Import file template with headers only. |
-| [merchant_product_offer_store.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_product_offer_store.csv) | Exemple of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer.csv.md
deleted file mode 100644
index def9fa7d0b2..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-offer.csv.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: "File details: merchant_product_offer.csv"
-last_updated: Feb 26, 2021
-description: This document describes the `merchant_product_offer.csv` file to configure merchant product offer information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_product_offer.csv` file to configure [merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) information in your Spryker shop.
-
-To import the file, run
-
-```bash
-data:import merchant-product-offer
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ------------------ | ------------ | ------- | -------------- | -------------------- | ----------------------- |
-| product_offer_reference | ✓ | String | | Unique | Identifier of the [merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) in the system. |
-| concrete_sku | ✓ | String | | Unique | SKU of the concrete product the offer is being created for. |
-| merchant_reference | ✓ | String | | Unique | Identifier of the [merchant](/docs/marketplace/user/features/{{site.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html) in the system. |
-| merchant_sku | | String | | Unique | SKU of the merchant. |
-| is_active | ✓ | Integer | | 1—is active 0—is not active | Defines whether the offer is active or not. |
-| approval_status | ✓ | String | | Can be:
waiting_for_approval
approved
declined
| Defines the [status of the offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html#product-offer-status) in the system. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-- [product_concrete.csv](/docs/pbc/all/product-information-management/{{site.version}}/base-shop/import-and-export-data/products-data-import/file-details-product-concrete.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| -------------------------- | ------------------ |
-| [template_merchant_product_offer.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_product_offer.csv) | Import file template with headers only. |
-| [merchant_product_offer.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_product_offer.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-option-group.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-option-group.csv.md
deleted file mode 100644
index 4111a26d7e0..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product-option-group.csv.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: "File details: merchant_product_option_group.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant_product_option_group file to create product options for merchants.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_product_option_group` file to create [merchant product option groups](/docs/marketplace/user/features/{{page.version}}/marketplace-product-options-feature-overview.html).
-
-To import the file, run:
-
-```bash
-data:import merchant-product-option-group
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ---------- | ---------- | ------- | ------------- | ------------------ | ------------- |
-| product_option_group_key | ✓ | String | It should be either one word, or several words separated with underscore. | Unique | Glossary key for a product option group. |
-| merchant_reference | ✓ | String | | | Unique identifier of the merchant the product option group belongs to. |
-| approval_status | | String | waiting_for_approval | Possible values:
waiting_for_approval
approved
denied
| [Approval status](/docs/marketplace/user/features/{{page.version}}/marketplace-product-options-feature-overview.html#marketplace-product-options-approval-statuses) of the product option group. |
-| merchant_sku | | String | | External merchant SKU in the merchant's ERP. |
-
-## Import file dependencies
-
-The file does not have any dependencies.
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ------------------------------- | ----------------------- |
-| [template_merchant_product_option_group.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/dev+guides/Data+import/File+details%3A+merchant_product_option_group.csv/template_merchant_product_option_group.csv) | Import file template with headers only. |
-| [merchant_product_option_group.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/dev+guides/Data+import/File+details%3A+merchant_product_option_group.csv/merchant_product_option_group.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product.csv.md
deleted file mode 100644
index 241740df0ec..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-product.csv.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: "File details: merchant_product.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant_product.csv file to configure marketplace products in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_product.csv` file to configure [marketplace product](/docs/marketplace/user/features/{{page.version}}/marketplace-product-feature-overview.html) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-product
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| -------------- | ----------- | ------- | ------------- | ------------------- | ---------------------- |
-| sku | ✓ | String | | Unique | SKU of the product. |
-| merchant_reference | ✓ | String | | Unique | Unique identifier of the merchant in the system. |
-| is_shared | | Integer | | 1—is shared 0—is not shared | Defines whether the product is shared between the merchants. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-- [product_concrete.csv](/docs/pbc/all/product-information-management/{{site.version}}/base-shop/import-and-export-data/products-data-import/file-details-product-concrete.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ----------------------------- | ---------------------- |
-| [template_merchant_product.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_product.csv) | Import file template with headers only. |
-| [merchant_product.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_product.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile-address.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile-address.csv.md
deleted file mode 100644
index ecf88d50282..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile-address.csv.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: "File details: merchant_profile_address.csv"
-last_updated: Jun 07, 2021
-description: This document describes the merchant_profile_address.csv file to configure merchant profile addresses in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_profile_address.csv` file to configure [merchant profile addresses](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-profile) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-profile-address
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ----------- | ---------- | ----- | ------------- | ----------- | ---- |
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| country_iso2_code | | String | | | Currency ISO code. For more details check [ISO 4217 CURRENCY CODES](https://www.iso.org/iso-4217-currency-codes.html). |
-| country_iso3_code | | String | | | Currency [ISO 3 code](https://www.iban.com/country-codes). |
-| address1 | | String | | | Address information of the merchant. |
-| address2 | | String | | | |
-| address3 | | String | | | |
-| city | | String | | | City where the merchant is located. |
-| zip_code | | String | | | Zip code of the merchant. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant_profile.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant-profile.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| --------------------- | --------------------- |
-| [template_merchant_profile_address.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_profile_address.csv) | Import file template with headers only. |
-| [merchant_profile_address.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_profile_address.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile.csv.md
deleted file mode 100644
index 0016637058d..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-profile.csv.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: "File details: merchant_profile.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant_profile.csv file to configure merchant information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_profile.csv` file to configure [merchant profile](/docs/marketplace/user/features/{{site.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-profile) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-profile
-```
-
-## Import file parameters
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-|-|-|-|-|-|-|
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| contact_person_role | | String | | | Role the contact person performs. |
-| contact_person_title | | String | | | A formal salutation for your contact person (for example,Mr, Ms, Mrs, Dr). |
-| contact_person_first_name | | String | | | First name of the contact person. |
-| contact_person_last_name | | String | | | Last name of the contact person. |
-| contact_person_phone | | String | | | Phone number of the contact person. |
-| banner_url | | String | | | Link to the merchant's banner |
-| logo_url | | String | | | Logo URL for the merchant profile. |
-| public_email | | String | | | Business / public email address for the merchant. |
-| public_phone | | String | | | Merchant's public phone number. |
-| description_glossary_key.{ANY_LOCALE_NAME} | | String | | Example value: `description_glossary_key.en_US` | Description for the merchant. |
-| banner_url_glossary_key.{ANY_LOCALE_NAME} | | String | | Example value: `banner_url_glossary_key.en_US` | Link to the merchant's banner. |
-| delivery_time_glossary_key.{ANY_LOCALE_NAME} | | String | | Example value: `delivery_time_glossary_key.en_US` | Average delivery time defined by the merchant. |
-| terms_conditions_glossary_key.{ANY_LOCALE_NAME} | | String | | Example value: `terms_conditions_glossary_key.en_US` | Terms and conditions for the merchant are defined here. |
-| cancellation_policy_glossary_key.{ANY_LOCALE_NAME} | | String | | Example value: `cancellation_policy_glossary_key.en_US` | Cancellation policy is defined per merchant here. |
-| imprint_glossary_key.{ANY_LOCALE_NAME} | | String | | Example value: `imprint_glossary_key.en_US` | Imprint information per merchant is specified here. |
-| data_privacy_glossary_key.{ANY_LOCALE_NAME} | | String | | Example value: `data_privacy_glossary_key.en_US` | Data privacy statement is defined here. |
-| fax_number | | String | | | Merchant's fax number. |
-| longitude | | String | | | This field identifies merchant’s location. |
-| latitude | | String | | | This field identifies merchant’s location. |
-
-## Import file dependencies
-The file has the following dependencies:
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-- [glossary.csv](/docs/scos/dev/data-import/{{site.version}}/data-import-categories/commerce-setup/file-details-glossary.csv.html)
-
-## Import template file and content example
-Find the template and an example of the file below:
-
-|FILE|DESCRIPTION|
-|-|-|
-| [template_merchant_profile.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_profile.csv) | Import file template with headers only. |
-| [merchant_profile.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_profile.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-stock.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-stock.csv.md
deleted file mode 100644
index 341987e3c4f..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-stock.csv.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "File details: merchant_stock.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant_stock.csv file to configure merchant stock information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_stock.csv` file to configure [merchant stock](/docs/marketplace/user/features/{{site.version}}/marketplace-inventory-management-feature-overview.html#marketplace-warehouse-management) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-stock
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ------------- | -------- | ------ | ------------- | --------------------------------- | ----------------- |
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| stock_name | ✓ | String | | Stock name is defined as described in [merchant warehouse](/docs/marketplace/user/features/{{site.version}}/marketplace-inventory-management-feature-overview.html#marketplace-warehouse-management). | Name of the stock. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-- [warehouse.csv](/docs/scos/dev/data-import/{{site.version}}/data-import-categories/commerce-setup/file-details-warehouse.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| --------------------- | --------------------- |
-| [template_merchant_stock.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_stock.csv) | Import file template with headers only. |
-| [merchant_stock.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_stock.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-store.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-store.csv.md
deleted file mode 100644
index 3966c80d213..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-store.csv.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "File details: merchant_store.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant_store.csv file to configure merchant store information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant_store.csv` file to configure merchant's stores in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-store
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| -------------- | ----------- | ----- | -------------- | ------------------------ | ----------------------- |
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| store_name | ✓ | String | | Value previously defined in the *stores.php* project configuration. | Store where the merchant product offer belongs. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html)
-- `stores.php` configuration file of the demo shop PHP project, where stores are defined initially
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| --------------------------- | ---------------------- |
-| [template_merchant_store.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_store.csv) | Import file template with headers only. |
-| [merchant_store.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_store.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-user.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant-user.csv.md
deleted file mode 100644
index 901304c1c0c..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant-user.csv.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: "File details: merchant_user.csv"
-last_updated: Mar 01, 2021
-description: This document describes the merchant_user.csv file to configure merchant information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant-user.csv` file to configure [merchant user](/docs/marketplace/user/features/{{site.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant-user
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-|-|-|-|-|-|-|
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| username | ✓ | String | | Unique | Username of the merchant user. It is an email address that is used for logging into the Merchant Portal as a merchant user. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant.csv.html).
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-|FILE|DESCRIPTION|
-|-|-|
-| [template_merchant_user.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant_user.csv) | Import file template with headers only. |
-| [merchant_user.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant_user.csv) | Example of the import file with Demo Shop data content. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-merchant.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-merchant.csv.md
deleted file mode 100644
index f8edd0ac86a..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-merchant.csv.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: "File details: merchant.csv"
-last_updated: Feb 26, 2021
-description: This document describes the merchant.csv file to configure merchant information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `merchant.csv` file to configure [merchant](/docs/marketplace/user/features/{{site.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import merchant
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-|-|-|-|-|-|-|
-| merchant_reference | ✓ | String | | Unique | Identifier of the merchant in the system. |
-| merchant_name | ✓ | String | | | The name of the merchant. |
-| registration_number | ✓ | Integer | | | Number assigned to the merchant at the point of registration. |
-| status | ✓ | String | | Possible values:
waiting-for-approval
approved
denied
| The status of the merchant. |
-| email | ✓ | String | | | Email address of the merchant. |
-| is_active | ✓ | Integer | | 1—is active 0—is not active | Defines whether the merchant is active or not. |
-| url.de_DE | ✓ | String | | Defined per locale. | Merchant page URL in the storefront for DE store. |
-
-## Import file dependencies
-The file has the following dependencies:
-
-- [merchant_profile.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant-profile.csv.html).
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-|FILE|DESCRIPTION|
-|-|-|
-| [template_merchant.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_merchant.csv) | Import file template with headers only. |
-| [merchant.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/merchant.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-price-product-offer.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-price-product-offer.csv.md
deleted file mode 100644
index 0f5fc3f873d..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-price-product-offer.csv.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-title: "File details: price-product-offer.csv"
-last_updated: Feb 26, 2021
-description: This document describes the price-product-offer.csv file to configure merchant product offer price information in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `price-product-offer.csv` file to configure [Merchant product offer price](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import price-product-offer
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ----------- | ---------- | ------- | ------------- | ----------------- | ------------- |
-| product_offer_reference | ✓ | String | | Unique | Identifier of the [merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) in the system. |
-| price_type | ✓ | String | | Can be DEFAULT or ORIGINAL | Price type. |
-| store | ✓ | String | | Value previously defined in the *stores.php* project configuration. | Store the price is defined for. |
-| currency | ✓ | String | | Defined in the [ISO code](https://en.wikipedia.org/wiki/ISO_4217). | Currency of the price. |
-| value_net | | Integer | | Empty price values are imported as zeros. | Net price in cents. |
-| value_gross | | Integer | | Empty price values are imported as zeros. | Gross price in cents. |
-| price_data.volume_prices | | Array | | | Price data which can be used to define alternative prices, that is, volume prices, overwriting the given net or gross price values. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant-product-offer.csv.html)
-- [product_price.csv](/docs/scos/dev/data-import/{{site.version}}/data-import-categories/catalog-setup/pricing/file-details-product-price.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE |DESCRIPTION |
-| ------------------------- | ----------------------- |
-| [template_price-product-offer.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_price_product_offer.csv) | Import file template with headers only. |
-| [price-product-offer.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/price_product_offer.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-product-offer-stock.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-product-offer-stock.csv.md
deleted file mode 100644
index afbe9baa202..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-product-offer-stock.csv.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: "File details: product_offer_stock.csv"
-last_updated: Feb 26, 2021
-description: This document describes the product_offer_stock.csv file to configure merchant product offer stock in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `product_offer_stock.csv` file to configure [Merchant product offer stock](/docs/marketplace/user/features/{{page.version}}/marketplace-inventory-management-feature-overview.html#marketplace-stock-management) information in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import product-offer-stock
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ------------- | ---------- | ------- | ------------- | ---------------------------- | ----------------------- |
-| product_offer_reference | ✓ | String | | Unique | Identifier of the [merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) in the system. |
-| stock_name | ✓ | String | | Stock name is defined as described in the [merchant warehouse](/docs/marketplace/user/features/{{site.version}}/marketplace-inventory-management-feature-overview.html#marketplace-warehouse-management). | Name of the stock. |
-| quantity | ✓ | Integer | | | The number of product offers that are in stock. |
-| is_never_out_of_stock | | Integer | | 1—option is enabled 0—option is disabled. | Allows the offer to be never out of stock. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-offer.csv.html)
-- [warehouse.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-warehouse.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ---------------------------- | ------------------- |
-| [template_product_offer_stock.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_product_offer_stock.csv) | Import file template with headers only. |
-| [product_offer_stock.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/product_offer_stock.csv) | Exemple of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-product-offer-validity.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-product-offer-validity.csv.md
deleted file mode 100644
index 790c674153a..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-product-offer-validity.csv.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: "File details: product_offer_validity.csv"
-last_updated: Feb 26, 2021
-description: This document describes the product_offer_validity.csv file to configure product offer validity dates in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document describes the `product_offer_validity.csv` file to configure product offer validity dates in your Spryker shop.
-
-To import the file, run:
-
-```bash
-data:import product-offer-validity
-```
-
-## Import file parameters
-
-The file should have the following parameters:
-
-| PARAMETER | REQUIRED | TYPE | DEFAULT VALUE | REQUIREMENTS OR COMMENTS | DESCRIPTION |
-| ---------- | ---------- | ------- | ------------- | ------------------ | ------------- |
-| product_offer_reference | ✓ | String | | Unique | Identifier of the [merchant product offer](/docs/marketplace/user/features/{{site.version}}/marketplace-product-offer-feature-overview.html) in the system. |
-| valid_from | | Datetime | | | Date and time from which the offer is active. |
-| valid_to | | Datetime | | | Date and time till which the offer is active. |
-
-## Import file dependencies
-
-The file has the following dependencies:
-
-- [merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-merchant-product-offer.csv.html)
-
-## Import template file and content example
-
-Find the template and an example of the file below:
-
-| FILE | DESCRIPTION |
-| ------------------------------- | ----------------------- |
-| [template_product_offer_validity.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/template_product_offer_validity.csv) | Import file template with headers only. |
-| [product_offer_validity.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Marketplace+setup/product_offer_validity.csv) | Example of the import file with Demo Shop data. |
diff --git a/docs/marketplace/dev/data-import/202108.0/file-details-product-price.csv.md b/docs/marketplace/dev/data-import/202108.0/file-details-product-price.csv.md
deleted file mode 100644
index d400ba06eb7..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/file-details-product-price.csv.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: "File details: product_price.csv"
-last_updated: Sep 7, 2021
-description: This document describes the product_price.csv file to configure product prices in your Spryker shop.
-template: import-file-template
-related:
- - title: Execution order of data importers in Demo Shop
- link: docs/scos/dev/data-import/page.version/demo-shop-data-import/execution-order-of-data-importers-in-demo-shop.html
----
-
-This document contains content of the **product_price.csv** file to configure [prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html) of the products/services in your Spryker Demo Shop.
-
-To import the file, run:
-
-```bash
-data:import product-price
-```
-
-## Import file parameters
-
-These are the header fields to be included in the CSV file:
-
-| FIELD NAME | MANDATORY | TYPE | OTHER REQUIREMENTS/COMMENTS | DESCRIPTION |
-| ------------------ | ------------- | ----- | ------------- | ------------------- |
-| abstract_sku | Yes (if `concrete_sku`is empty) | String | Either this field or `concrete_sku` needs to be filled. | SKU of the abstract product to which the price should apply. |
-| concrete_sku | Yes (if `abstract_sku`is empty) | String | Either this field or `abstract_sku` needs to be filled. | SKU of the concrete product to which the price should apply. |
-| price_type | No | String | N/A* | Defines the price type. |
-| store | Yes | String | N/A | Store to which this price should apply. |
-| currency | No | String | N/A | Defines in which currency the price is. |
-| value_net | No | Integer | N/A | Sets the net price. |
-| value_gross | No | Integer | N/A | Sets the gross price. |
-| price_data.volume_prices | No | String | N/A | Price data which can be used to define alternative prices, that is, volume prices, overwriting the given net or gross price values. |
-
-*N/A: Not applicable.
-
-## Dependencies
-
-This file has the following dependencies:
-
-- [product_abstract.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/products/file-details-product-abstract.csv.html)
-- [product_concrete.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/products/file-details-product-concrete.csv.html)
-- `stores.php` configuration file of the Demo Shop PHP project
-
-## Import template file and content example
-
-A template and an example of the `product_price.csv` file can be downloaded here:
-
-| FILE | DESCRIPTION |
-| --- | --- |
-| [product_price.csv template](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Catalog+Setup/Pricing/Template+product_price.csv) | Product Price CSV template file (empty content, contains headers only). |
-| [product_price.csv](https://spryker.s3.eu-central-1.amazonaws.com/docs/Developer+Guide/Back-End/Data+Manipulation/Data+Ingestion/Data+Import/Data+Import+Categories/Catalog+Setup/Pricing/product_price.csv) | Product Price CSV file containing a Demo Shop data sample. |
diff --git a/docs/marketplace/dev/data-import/202108.0/marketplace-setup.md b/docs/marketplace/dev/data-import/202108.0/marketplace-setup.md
deleted file mode 100644
index 0a63fe90465..00000000000
--- a/docs/marketplace/dev/data-import/202108.0/marketplace-setup.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: "Marketplace setup"
-last_updated: May 28, 2021
-description: The Marketplace setup category holds data required to set up the Marketplace environment.
-template: import-file-template
----
-
-The Marketplace setup category contains data required to set up the Marketplace environment.
-
-The following table provides details about Marketplace setup data importers, their purpose, CSV files, dependencies, and other details. Each data importer contains links to CSV files to import the corresponding data, including specifications of mandatory and unique fields, dependencies, detailed explanations, recommendations, templates, and content examples.
-
-| DATA IMPORTER | PURPOSE | CONSOLE COMMAND | FILES | DEPENDENCIES |
-|-|-|-|-|-|
-| Merchants | Imports basic merchant information. | `data:import merchant` | [merchant.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html) | [merchant_profile.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile.csv.html) |
-| Merchant profile | Imports merchant profile information. | `data:import merchant-profile` | [merchant_profile.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile.csv.html) | [merchant.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html) |
-| Merchant profile addresses | Imports merchant addresses. | `data:import merchant-profile-address` | [merchant_profile_address.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile-address.csv.html) | [merchant_profile.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile.csv.html) |
-| Merchant opening hours | Imports [default opening hours](/docs/marketplace/user/features/{{page.version}}/merchant-opening-hours-feature-overview.html) schedule. | `data:import merchant-opening-hours-weekday-schedule ` | [merchant_open_hours_week_day_schedule.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-open-hours-week-day-schedule.csv.html) | [merchant.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html) |
-| | Imports [special opening hours](/docs/marketplace/user/features/{{page.version}}/merchant-opening-hours-feature-overview.html) schedule including holidays. | `data:import merchant-opening-hours-date-schedule` | [merchant_open_hours_date_schedule.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-open-hours-date-schedule.csv.html) | [merchant.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html) |
-| Merchant category | Imports merchant categories. | `data:import merchant-category` | [merchant_category.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-category.csv.html) | [merchant.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html) |
-| Merchant users | Imports merchant users of the merchant. | `data:import merchant-user` | [merchant_user.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-user.csv.html) | [merchant.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html) |
-| Merchant stores | Imports merchant stores. | `data:import merchant-store` | [merchant_store.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-store.csv.html) |
|
-| Validity of the merchant product offers | Imports the validity of the merchant product offers. | `data:import product-offer-validity` | [product_offer_validity.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-product-offer-validity.csv.html) | [merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-offer.csv.html) |
-| Merchant product offers | Imports full product offer information via a single file. | `data:import --config data/import/common/combined_merchant_product_offer_import_config_{store}.yml` | [combined_merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-combined-merchant-product-offer.csv.html) |
|
-| Merchant order | Updates the status of the merchant order item. | `order-oms:status-import merchant-order-status` |[merchant-order-status.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-order-status.csv.html)| |
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/acl-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/acl-feature-integration.md
deleted file mode 100644
index c07f9db087d..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/acl-feature-integration.md
+++ /dev/null
@@ -1,305 +0,0 @@
----
-title: ACL feature integration
-last_updated: Sep 7, 2021
-description: This integration guide provides steps on how to integrate the ACL feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This integration guide provides steps on how to integrate the ACL feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the ACL feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------- | -------- | ------------------ |
-| Spryker Core | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) |
-| Spryker Core Back Office | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-back-office-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker-feature/acl:"{{page.version}}" --update-with-dependencies
-```
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| ------------------- | ------------------------------------ |
-| Acl | vendor/spryker/acl |
-| AclDataImport | vendor/spryker/acl-data-import |
-| AclEntity | vendor/spryker/acl-entity |
-| AclEntityDataImport | vendor/spryker/acl-entity-data-import |
-| AclEntityExtension (optional) | vendor/spryker/acl-entity-extension |
-| AclExtension (optional) | vendor/spryker/acl-extension |
-
-{% endinfo_block %}
-
-### 2) Set up the database schema
-
-Apply database changes and to generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Verify that the following changes have been applied by checking your database:
-
-| DATABASE ENTITY | TYPE | EVENT |
-| ----------------------------- | ----- | ------- |
-| spy_acl_role | table | created |
-| spy_acl_rule | table | created |
-| spy_acl_group | table | created |
-| spy_acl_user_has_group | table | created |
-| spy_acl_groups_has_roles | table | created |
-| spy_acl_entity_segment | table | created |
-| spy_acl_entity_rule | table | created |
-
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| ----------------- | ----- | ------ | -------------------------- |
-| Group | object | Created | src/Generated/Shared/Transfer/GroupTransfer |
-| AclEntityRule | object | Created | src/Generated/Shared/Transfer/AclEntityRuleTransfer |
-| AclEntitySegment | object | Created | src/Generated/Shared/Transfer/AclEntitySegmentTransfer |
-| AclEntitySegmentRequest | object | Created | src/Generated/Shared/Transfer/AclEntitySegmentRequestTransfer |
-| AclEntityRuleRequest | object | Created | src/Generated/Shared/Transfer/AclEntityRuleRequestTransfer |
-| AclEntityRuleCollection | object | Created | src/Generated/Shared/Transfer/AclEntityRuleCollectionTransfer |
-| AclEntitySegmentResponse | object | Created | src/Generated/Shared/Transfer/AclEntitySegmentResponseTransfer |
-| AclEntitySegmentCriteria | object | Created | src/Generated/Shared/Transfer/AclEntitySegmentCriteriaTransfer |
-| AclEntityRuleCriteria | object | Created | src/Generated/Shared/Transfer/AclEntityRuleCriteriaTransfer |
-| AclEntityRuleResponse | object | Created | src/Generated/Shared/Transfer/AclEntityRuleResponseTransfer |
-| AclEntityMetadata | object | Created | src/Generated/Shared/Transfer/AclEntityMetadataTransfer |
-| AclEntityParentMetadata | object | Created | src/Generated/Shared/Transfer/AclEntityParentMetadataTransfer |
-| AclEntityParentConnectionMetadata | object | Created | src/Generated/Shared/Transfer/AclEntityParentConnectionMetadataTransfer |
-| AclEntityMetadataCollection | object | Created | src/Generated/Shared/Transfer/AclEntityMetadataCollectionTransfer |
-| AclEntityMetadataConfig | object | Created | src/Generated/Shared/Transfer/AclEntityMetadataConfigTransfer |
-| AclRoleCriteria | object | Created | src/Generated/Shared/Transfer/AclRoleCriteriaTransfer |
-| GroupCriteria | object | Created | src/Generated/Shared/Transfer/GroupCriteriaTransfer |
-| Groups | object | Created | src/Generated/Shared/Transfer/GroupsTransfer |
-| Role | object | Created | src/Generated/Shared/Transfer/RoleTransfer |
-| Roles | object | Created | src/Generated/Shared/Transfer/RolesTransfer |
-| Rule | object | Created | src/Generated/Shared/Transfer/RuleTransfer |
-| Rules | object | Created | src/Generated/Shared/Transfer/Transfer |
-| User | object | Created | src/Generated/Shared/Transfer/UserTransfer |
-| NavigationItem | object | Created | src/Generated/Shared/Transfer/NavigationItemTransfer |
-| NavigationItemCollection | object | Created | src/Generated/Shared/Transfer/NavigationItemCollectionTransfer |
-
-{% endinfo_block %}
-
-### 4) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| AccessControlEventDispatcherPlugin | Adds a listener to the `\Symfony\Component\HttpKernel\KernelEvents::REQUEST` which checks if the user is allowed to access the current resource. | | Spryker\Zed\Acl\Communication\Plugin\EventDispatcher |
-| AclNavigationItemCollectionFilterPlugin | Checks if the navigation item can be accessed by the current user. | | Spryker\Zed\Acl\Communication\Plugin\Navigation |
-| AclInstallerPlugin | Fills the DB with required ACL data. | | Spryker\Zed\Acl\Communication\Plugin |
-| GroupPlugin | Provides Acl Groups for User. | | Spryker\Zed\Acl\Communication\Plugin |
-| AclEntityAclRolePostSavePlugin | Saves `RoleTransfer.aclEntityRules` to database. | | Spryker\Zed\AclEntity\Communication\Plugin\Acl |
-| AclRulesAclRolesExpanderPlugin | Expands `Roles` transfer object with ACL rules. | | Spryker\Zed\AclEntity\Communication\Plugin\Acl |
-| AclEntityApplicationPlugin | Enables ACL for the whole Application. | | Spryker\Zed\AclEntity\Communication\Plugin\Application |
-
-**src/Pyz/Zed/EventDispatcher/EventDispatcherDependencyProvider.php**
-
-```php
-
- */
- protected function getEventDispatcherPlugins(): array
- {
- return [
- new AccessControlEventDispatcherPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Zed/ZedNavigation/ZedNavigationDependencyProvider.php**
-
-```php
-
- */
- protected function getNavigationItemCollectionFilterPlugins(): array
- {
- return [
- new AclNavigationItemCollectionFilterPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Zed/Installer/InstallerDependencyProvider.php**
-
-```php
-
- */
- public function getInstallerPlugins()
- {
- return [
- new AclInstallerPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Zed/User/UserDependencyProvider.php**
-
-```php
-set(static::PLUGIN_GROUP, function (Container $container) {
- return new GroupPlugin();
- });
-
- return $container;
- }
-}
-```
-
-**src/Pyz/Zed/Acl/AclDependencyProvider.php**
-
-```php
-
- */
- protected function getAclRolesExpanderPlugins(): array
- {
- return [
- new AclRulesAclRolesExpanderPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\AclExtension\Dependency\Plugin\AclRolePostSavePluginInterface>
- */
- protected function getAclRolePostSavePlugins(): array
- {
- return [
- new AclEntityAclRolePostSavePlugin(),
- ];
- }
-}
-```
-
-Use the following example if you want to enable ACL Entity for the whole Application, for example,for the Merchant Portal:
-
-**src/Pyz/Zed/MerchantPortalApplication/MerchantPortalApplicationDependencyProvider.php**
-
-```php
-
- */
- protected function getMerchantPortalApplicationPlugins(): array
- {
- return [
- new AclEntityApplicationPlugin(),
- ];
- }
-}
-```
-
-### 5) Install the database data for ACL
-
-Run the following command:
-
-```bash
-console setup:init-db
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the request doesn't succeed for users without permission.
-
-Make sure that the user can see only the allowed menu links.
-
-Make sure that `spy_acl_role`, `spy_acl_group`, and `spy_acl_user_has_group` tables contain default data.
-
-Make sure that you can edit user's ACL groups on User edit page in Back Office.
-
-Make sure that `AclEntityRule` is created in `spy_acl_entity_rule` when the `RoleTransfer` is saved and contains `AclEntityRules`.
-
-Make sure that `RolesTransfer` contains needed `AclEntityRules`.
-
-Ensure the user who is not supposed to have access to an entity or endpoint does not have it.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/combined-product-offer-import-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/combined-product-offer-import-feature-integration.md
deleted file mode 100644
index e8210440213..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/combined-product-offer-import-feature-integration.md
+++ /dev/null
@@ -1,1928 +0,0 @@
----
-title: Combined Product Offer Import integration
-last_updated: Oct 12, 2021
-description: This document describes the process how to integrate combined product offer import functionality.
-draft: true
-template: feature-integration-guide-template
-redirect_from: /docs/marketplace/dev/feature-integration-guides/{{page.version}}/combined-product-offer-import-integration.html
----
-
-### Prerequisites
-
-To start integration, integrate the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Spryker Core | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) |
-| Marketplace Product Offer | {{page.version}} | [Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-feature-integration.html) |
-| Marketplace Product Offer Prices | {{page.version}} | [Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-prices-feature-integration.html) |
-| Marketplace Inventory Management | {{page.version}} | [Marketplace Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-inventory-management-feature-integration.html) |
-
-
-{% info_block infoBox "Info" %}
-
-The project level implementation is applied on top of the existing features.
-There is no need to install core features.
-
-{% endinfo_block %}
-
-### 1) Create the project level implementation
-
-#### Merchant product offer
-
-Adjust the following files:
-
-
-src/Pyz/Zed/MerchantProductOfferDataImport/Business/MerchantProductOfferDataImportBusinessFactory.php
-
-```php
-getConditionalCsvDataImporterFromConfig(
- $this->getConfig()->getCombinedMerchantProductOfferDataImporterConfiguration()
- );
-
- $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker();
- $dataSetStepBroker
- ->addStep($this->createCombinedMerchantReferenceToIdMerchantStep())
- ->addStep($this->createCombinedConcreteSkuValidationStep())
- ->addStep($this->createCombinedMerchantSkuValidationStep())
- ->addStep($this->createCombinedApprovalStatusValidationStep())
- ->addStep($this->createCombinedMerchantProductOfferWriterStep());
-
- $dataImporter
- ->setDataSetCondition($this->createCombinedMerchantProductOfferMandatoryColumnCondition())
- ->addDataSetStepBroker($dataSetStepBroker);
-
- return $dataImporter;
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImporterInterface
- */
- public function getCombinedMerchantProductOfferStoreDataImporter(): DataImporterInterface
- {
- $dataImporter = $this->getConditionalCsvDataImporterFromConfig(
- $this->getConfig()->getCombinedMerchantProductOfferStoreDataImporterConfiguration()
- );
-
- $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker();
- $dataSetStepBroker
- ->addStep($this->createProductOfferReferenceToIdProductOfferStep())
- ->addStep($this->createCombinedStoreNameToIdStoreStep())
- ->addStep($this->createMerchantProductOfferStoreWriterStep());
-
- $dataImporter
- ->setDataSetCondition($this->createCombinedMerchantProductOfferStoreMandatoryColumnCondition())
- ->addDataSetStepBroker($dataSetStepBroker);
-
- return $dataImporter;
- }
-
- /**
- * @param \Generated\Shared\Transfer\DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function getConditionalCsvDataImporterFromConfig(
- DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- ): DataImporterConditional {
- $csvReader = $this->createCsvReaderFromConfig($dataImporterConfigurationTransfer->getReaderConfiguration());
-
- return $this->createDataImporterConditional($dataImporterConfigurationTransfer->getImportType(), $csvReader);
- }
-
- /**
- * @param string $importType
- * @param \Spryker\Zed\DataImport\Business\Model\DataReader\DataReaderInterface $reader
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function createDataImporterConditional(
- string $importType,
- DataReaderInterface $reader
- ): DataImporterConditional {
- return new DataImporterConditional($importType, $reader, $this->getGracefulRunnerFacade());
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedMerchantReferenceToIdMerchantStep(): DataImportStepInterface
- {
- return new CombinedMerchantReferenceToIdMerchantStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedConcreteSkuValidationStep(): DataImportStepInterface
- {
- return new CombinedConcreteSkuValidationStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedMerchantSkuValidationStep(): DataImportStepInterface
- {
- return new CombinedMerchantSkuValidationStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedMerchantProductOfferWriterStep(): DataImportStepInterface
- {
- return new CombinedMerchantProductOfferWriterStep($this->getEventFacade());
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedStoreNameToIdStoreStep(): DataImportStepInterface
- {
- return new CombinedStoreNameToIdStoreStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedApprovalStatusValidationStep(): DataImportStepInterface
- {
- return new CombinedApprovalStatusValidationStep();
- }
-
- /**
- * @return \Pyz\Zed\DataImport\Business\Model\DataSet\DataSetConditionInterface
- */
- public function createCombinedMerchantProductOfferStoreMandatoryColumnCondition(): DataSetConditionInterface
- {
- return new CombinedMerchantProductOfferStoreMandatoryColumnCondition();
- }
-
- /**
- * @return \Pyz\Zed\DataImport\Business\Model\DataSet\DataSetConditionInterface
- */
- public function createCombinedMerchantProductOfferMandatoryColumnCondition(): DataSetConditionInterface
- {
- return new CombinedMerchantProductOfferMandatoryColumnCondition();
- }
-}
-```
-
-
-**src/Pyz/Zed/MerchantProductOfferDataImport/Business/MerchantProductOfferDataImportFacade.php**
-
-```php
-getFactory()
- ->getCombinedMerchantProductOfferDataImporter()
- ->import($dataImporterConfigurationTransfer);
- }
-
- /**
- * @param \Generated\Shared\Transfer\DataImporterConfigurationTransfer|null $dataImporterConfigurationTransfer
- *
- * @return \Generated\Shared\Transfer\DataImporterReportTransfer
- */
- public function importCombinedMerchantProductOfferStoreData(
- ?DataImporterConfigurationTransfer $dataImporterConfigurationTransfer = null
- ): DataImporterReportTransfer {
- return $this->getFactory()
- ->getCombinedMerchantProductOfferStoreDataImporter()
- ->import($dataImporterConfigurationTransfer);
- }
-}
-```
-
-**src/Pyz/Zed/MerchantProductOfferDataImport/Business/MerchantProductOfferDataImportFacadeInterface.php**
-
-```php
-
- */
- protected function getMandatoryColumns(): array
- {
- return [
- CombinedMerchantProductOfferDataSetInterface::MERCHANT_SKU,
- CombinedMerchantProductOfferDataSetInterface::MERCHANT_REFERENCE,
- CombinedMerchantProductOfferDataSetInterface::IS_ACTIVE,
- CombinedMerchantProductOfferDataSetInterface::CONCRETE_SKU,
- CombinedMerchantProductOfferDataSetInterface::APPROVAL_STATUS,
- ];
- }
-}
-
-```
-
-**src/Pyz/Zed/MerchantProductOfferDataImport/Business/Model/Condition/CombinedMerchantProductOfferStoreMandatoryColumnCondition.php**
-
-```php
-
- */
- protected function getMandatoryColumns(): array
- {
- return [
- CombinedMerchantProductOfferDataSetInterface::STORE_NAME,
- ];
- }
-}
-
-```
-
-**src/Pyz/Zed/MerchantProductOfferDataImport/Business/Model/DataSet/CombinedMerchantProductOfferDataSetInterface.php**
-
-```php
-getFacade()->importCombinedMerchantProductOfferData($dataImporterConfigurationTransfer);
- }
-}
-```
-
-
-**src/Pyz/Zed/MerchantProductOfferDataImport/Communication/Plugin/CombinedMerchantProductOfferStoreDataImportPlugin.php**
-
-```php
-getFacade()->importCombinedMerchantProductOfferStoreData($dataImporterConfigurationTransfer);
- }
-}
-```
-
-**src/Pyz/Zed/MerchantProductOfferDataImport/MerchantProductOfferDataImportConfig.php**
-
-```php
-buildImporterConfiguration(
- $this->getCombinedMerchantProductOfferFilePath(),
- static::IMPORT_TYPE_COMBINED_MERCHANT_PRODUCT_OFFER
- );
- }
-
- /**
- * @return \Generated\Shared\Transfer\DataImporterConfigurationTransfer
- */
- public function getCombinedMerchantProductOfferStoreDataImporterConfiguration(): DataImporterConfigurationTransfer
- {
- return $this->buildImporterConfiguration(
- $this->getCombinedMerchantProductOfferFilePath(),
- static::IMPORT_TYPE_COMBINED_MERCHANT_PRODUCT_OFFER_STORE
- );
- }
-
- /**
- * @return string
- */
- public function getCombinedMerchantProductOfferFilePath(): string
- {
- $moduleDataImportDirectory = $this->getDataImportRootPath() . 'common' . DIRECTORY_SEPARATOR . 'common' . DIRECTORY_SEPARATOR;
-
- return $moduleDataImportDirectory . 'combined_merchant_product_offer.csv';
- }
-}
-```
-
-**src/Pyz/Zed/MerchantProductOfferDataImport/MerchantProductOfferDataImportDependencyProvider.php**
-
-```php
-
-
- */
- protected function getMandatoryColumns(): array
- {
- return [
- CombinedPriceProductOfferDataSetInterface::PRICE_TYPE,
- CombinedPriceProductOfferDataSetInterface::STORE,
- CombinedPriceProductOfferDataSetInterface::CURRENCY,
- CombinedPriceProductOfferDataSetInterface::VALUE_NET,
- CombinedPriceProductOfferDataSetInterface::VALUE_GROSS,
- ];
- }
-}
-```
-
-**src/Pyz/Zed/PriceProductOfferDataImport/Business/Model/DataSet/CombinedPriceProductOfferDataSetInterface.php**
-
-```php
-
-src/Pyz/Zed/PriceProductOfferDataImport/Business/PriceProductOfferDataImportBusinessFactory.php
-
-```php
-getConditionalCsvDataImporterFromConfig(
- $this->getConfig()->getCombinedPriceProductOfferDataImporterConfiguration()
- );
-
- $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker();
- $dataSetStepBroker
- ->addStep($this->createCombinedProductOfferReferenceToProductOfferDataStep())
- ->addStep($this->createCombinedProductOfferToIdProductStep())
- ->addStep($this->createCombinedPriceTypeToIdPriceTypeStep())
- ->addStep($this->createCombinedPriceProductWriterStep())
- ->addStep($this->createCombinedStoreToIdStoreStep())
- ->addStep($this->createCombinedCurrencyToIdCurrencyStep())
- ->addStep($this->createCombinedPreparePriceDataStep())
- ->addStep($this->createCombinedPriceProductStoreWriterStep())
- ->addStep($this->createPriceProductOfferWriterStep());
-
- $dataImporter
- ->setDataSetCondition($this->createCombinedPriceProductOfferMandatoryColumnCondition())
- ->addDataSetStepBroker($dataSetStepBroker);
-
- return $dataImporter;
- }
-
- /**
- * @param \Generated\Shared\Transfer\DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function getConditionalCsvDataImporterFromConfig(
- DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- ): DataImporterConditional {
- $csvReader = $this->createCsvReaderFromConfig($dataImporterConfigurationTransfer->getReaderConfiguration());
-
- return $this->createDataImporterConditional($dataImporterConfigurationTransfer->getImportType(), $csvReader);
- }
-
- /**
- * @param string $importType
- * @param \Spryker\Zed\DataImport\Business\Model\DataReader\DataReaderInterface $reader
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function createDataImporterConditional(
- string $importType,
- DataReaderInterface $reader
- ): DataImporterConditional {
- return new DataImporterConditional($importType, $reader, $this->getGracefulRunnerFacade());
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedProductOfferReferenceToProductOfferDataStep(): DataImportStepInterface
- {
- return new CombinedProductOfferReferenceToProductOfferDataStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedProductOfferToIdProductStep(): DataImportStepInterface
- {
- return new CombinedProductOfferToIdProductStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedPriceTypeToIdPriceTypeStep(): DataImportStepInterface
- {
- return new CombinedPriceTypeToIdPriceTypeStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedPriceProductWriterStep(): DataImportStepInterface
- {
- return new CombinedPriceProductWriterStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedStoreToIdStoreStep(): DataImportStepInterface
- {
- return new CombinedStoreToIdStoreStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedCurrencyToIdCurrencyStep(): DataImportStepInterface
- {
- return new CombinedCurrencyToIdCurrencyStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedPriceProductStoreWriterStep(): DataImportStepInterface
- {
- return new CombinedPriceProductStoreWriterStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedPreparePriceDataStep(): DataImportStepInterface
- {
- return new CombinedPreparePriceDataStep($this->getPriceProductFacade(), $this->getUtilEncodingService());
- }
-
- /**
- * @return \Pyz\Zed\DataImport\Business\Model\DataSet\DataSetConditionInterface
- */
- public function createCombinedPriceProductOfferMandatoryColumnCondition(): DataSetConditionInterface
- {
- return new CombinedPriceProductOfferMandatoryColumnCondition();
- }
-}
-```
-
-
-**src/Pyz/Zed/PriceProductOfferDataImport/Business/PriceProductOfferDataImportFacade.php**
-
-```php
-getFactory()
- ->getCombinedPriceProductOfferDataImport()
- ->import($dataImporterConfigurationTransfer);
- }
-}
-```
-
-
-**src/Pyz/Zed/PriceProductOfferDataImport/Business/PriceProductOfferDataImportFacadeInterface.php**
-
-```php
-getFacade()->importCombinedPriceProductOfferData($dataImporterConfigurationTransfer);
- }
-}
-```
-
-**src/Pyz/Zed/PriceProductOfferDataImport/PriceProductOfferDataImportConfig.php**
-
-```php
-getDataImportRootPath() . 'common' . DIRECTORY_SEPARATOR . 'common' . DIRECTORY_SEPARATOR;
-
- return $this->buildImporterConfiguration(
- $moduleDataImportDirectory . 'combined_merchant_product_offer.csv',
- static::IMPORT_TYPE_COMBINED_PRICE_PRODUCT_OFFER
- );
- }
-}
-```
-
-**src/Pyz/Zed/PriceProductOfferDataImport/PriceProductOfferDataImportDependencyProvider.php**
-
-```php
-
- */
- protected function getMandatoryColumns(): array
- {
- return [
- CombinedProductOfferStockDataSetInterface::STOCK_NAME,
- CombinedProductOfferStockDataSetInterface::QUANTITY,
- CombinedProductOfferStockDataSetInterface::IS_NEVER_OUT_OF_STOCK,
- ];
- }
-}
-```
-
-
-**src/Pyz/Zed/ProductOfferStockDataImport/Business/Model/DataSet/CombinedProductOfferStockDataSetInterface.php**
-
-```php
-
-src/Pyz/Zed/ProductOfferStockDataImport/Business/ProductOfferStockDataImportBusinessFactory.php
-
-```php
-getConditionalCsvDataImporterFromConfig(
- $this->getConfig()->getCombinedProductOfferStockDataImporterConfiguration()
- );
-
- $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker();
- $dataSetStepBroker
- ->addStep($this->createCombinedProductOfferReferenceToIdProductOfferStep())
- ->addStep($this->createCombinedStockNameToIdStockStep())
- ->addStep($this->createCombinedProductOfferStockWriterStep());
-
- $dataImporter
- ->setDataSetCondition($this->createCombinedProductOfferStockMandatoryColumnCondition())
- ->addDataSetStepBroker($dataSetStepBroker);
-
- return $dataImporter;
- }
-
- /**
- * @param \Generated\Shared\Transfer\DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function getConditionalCsvDataImporterFromConfig(
- DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- ): DataImporterConditional {
- $csvReader = $this->createCsvReaderFromConfig($dataImporterConfigurationTransfer->getReaderConfiguration());
-
- return $this->createDataImporterConditional($dataImporterConfigurationTransfer->getImportType(), $csvReader);
- }
-
- /**
- * @param string $importType
- * @param \Spryker\Zed\DataImport\Business\Model\DataReader\DataReaderInterface $reader
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function createDataImporterConditional(
- string $importType,
- DataReaderInterface $reader
- ): DataImporterConditional {
- return new DataImporterConditional($importType, $reader, $this->getGracefulRunnerFacade());
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedProductOfferReferenceToIdProductOfferStep(): DataImportStepInterface
- {
- return new CombinedProductOfferReferenceToIdProductOfferStep(
- $this->getProductOfferFacade()
- );
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedStockNameToIdStockStep(): DataImportStepInterface
- {
- return new CombinedStockNameToIdStockStep();
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedProductOfferStockWriterStep(): DataImportStepInterface
- {
- return new CombinedProductOfferStockWriterStep();
- }
-
- /**
- * @return \Pyz\Zed\DataImport\Business\Model\DataSet\DataSetConditionInterface
- */
- public function createCombinedProductOfferStockMandatoryColumnCondition(): DataSetConditionInterface
- {
- return new CombinedProductOfferStockMandatoryColumnCondition();
- }
-}
-```
-
-
-**src/Pyz/Zed/ProductOfferStockDataImport/Business/ProductOfferStockDataImportFacade.php**
-
-```php
-getFactory()
- ->getCombinedProductOfferStockDataImporter()
- ->import($dataImporterConfigurationTransfer);
- }
-}
-```
-
-**src/Pyz/Zed/ProductOfferStockDataImport/Business/ProductOfferStockDataImportFacadeInterface.php**
-
-```php
-getFacade()->importCombinedProductOfferStock($dataImporterConfigurationTransfer);
- }
-}
-```
-
-
-**src/Pyz/Zed/ProductOfferStockDataImport/ProductOfferStockDataImportConfig.php**
-
-```php
-getDataImportRootPath() . 'common' . DIRECTORY_SEPARATOR . 'common' . DIRECTORY_SEPARATOR;
-
- return $this->buildImporterConfiguration(
- $moduleDataImportDirectory . 'combined_merchant_product_offer.csv',
- static::IMPORT_TYPE_COMBINED_PRODUCT_OFFER_STOCK
- );
- }
-}
-```
-
-**src/Pyz/Zed/ProductOfferStockDataImport/ProductOfferStockDataImportDependencyProvider.php**
-
-```php
-
- */
- protected function getMandatoryColumns(): array
- {
- return [
- CombinedProductOfferValidityDataSetInterface::VALID_FROM,
- CombinedProductOfferValidityDataSetInterface::VALID_TO,
- ];
- }
-}
-```
-
-**src/Pyz/Zed/ProductOfferValidityDataImport/Business/Model/DataSet/CombinedProductOfferValidityDataSetInterface.php**
-
-```php
-
-src/Pyz/Zed/ProductOfferValidityDataImport/Business/ProductOfferValidityDataImportBusinessFactory.php
-
-```php
-getConditionalCsvDataImporterFromConfig(
- $this->getConfig()->getCombinedProductOfferValidityDataImporterConfiguration()
- );
-
- $dataSetStepBroker = $this->createTransactionAwareDataSetStepBroker();
- $dataSetStepBroker
- ->addStep($this->createCombinedProductOfferReferenceToIdProductOfferStep())
- ->addStep($this->createCombinedProductOfferValidityWriterStep());
-
- $dataImporter
- ->setDataSetCondition($this->createCombinedProductOfferValidityMandatoryColumnCondition())
- ->addDataSetStepBroker($dataSetStepBroker);
-
- return $dataImporter;
- }
-
- /**
- * @param \Generated\Shared\Transfer\DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function getConditionalCsvDataImporterFromConfig(
- DataImporterConfigurationTransfer $dataImporterConfigurationTransfer
- ): DataImporterConditional {
- $csvReader = $this->createCsvReaderFromConfig($dataImporterConfigurationTransfer->getReaderConfiguration());
-
- return $this->createDataImporterConditional($dataImporterConfigurationTransfer->getImportType(), $csvReader);
- }
-
- /**
- * @param string $importType
- * @param \Spryker\Zed\DataImport\Business\Model\DataReader\DataReaderInterface $reader
- *
- * @return \Pyz\Zed\DataImport\Business\Model\DataImporterConditional
- */
- public function createDataImporterConditional(
- string $importType,
- DataReaderInterface $reader
- ): DataImporterConditional {
- return new DataImporterConditional($importType, $reader, $this->getGracefulRunnerFacade());
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedProductOfferReferenceToIdProductOfferStep(): DataImportStepInterface
- {
- return new CombinedProductOfferReferenceToIdProductOfferStep(
- $this->getProductOfferFacade()
- );
- }
-
- /**
- * @return \Spryker\Zed\DataImport\Business\Model\DataImportStep\DataImportStepInterface
- */
- public function createCombinedProductOfferValidityWriterStep(): DataImportStepInterface
- {
- return new CombinedProductOfferValidityWriterStep();
- }
-
- /**
- * @return \Pyz\Zed\DataImport\Business\Model\DataSet\DataSetConditionInterface
- */
- public function createCombinedProductOfferValidityMandatoryColumnCondition(): DataSetConditionInterface
- {
- return new CombinedProductOfferValidityMandatoryColumnCondition();
- }
-}
-```
-
-
-
-**src/Pyz/Zed/ProductOfferValidityDataImport/Business/ProductOfferValidityDataImportFacade.php**
-
-```php
-getFactory()
- ->getCombinedProductOfferValidityDataImporter()
- ->import($dataImporterConfigurationTransfer);
- }
-}
-```
-
-
-**src/Pyz/Zed/ProductOfferValidityDataImport/Business/ProductOfferValidityDataImportFacadeInterface.php**
-
-```php
-getFacade()->importCombinedProductOfferValidity($dataImporterConfigurationTransfer);
- }
-}
-```
-
-**src/Pyz/Zed/ProductOfferValidityDataImport/ProductOfferValidityDataImportConfig.php**
-
-```php
-getDataImportRootPath() . 'common' . DIRECTORY_SEPARATOR . 'common' . DIRECTORY_SEPARATOR;
-
- return $this->buildImporterConfiguration(
- $moduleDataImportDirectory . 'combined_merchant_product_offer.csv',
- static::IMPORT_TYPE_COMBINED_PRODUCT_OFFER_VALIDITY
- );
- }
-}
-```
-
-**src/Pyz/Zed/ProductOfferValidityDataImport/ProductOfferValidityDataImportDependencyProvider.php**
-
-```php
-dataSetCondition = $dataSetCondition;
-
- return $this;
- }
-}
-
-```
-
-### 2) Import data
-
-To import data:
-
-1. Prepare combined product offer data according to your requirements using the demo data:
-
-**data/import/common/DE/combined_merchant_product_offer.csv**
-
-```
-product_offer_reference,merchant_product_offer.concrete_sku,merchant_product_offer.merchant_reference,merchant_product_offer.merchant_sku,merchant_product_offer.is_active,merchant_product_offer.approval_status,merchant_product_offer_store.store_name,product_offer_stock.stock_name,product_offer_stock.quantity,product_offer_stock.is_never_out_of_stock,price_product_offer.price_type,price_product_offer.store,price_product_offer.currency,price_product_offer.value_net,price_product_offer.value_gross,price_product_offer.price_data.volume_prices,product_offer_validity.valid_from,product_offer_validity.valid_to
-offer1000,093_24495843,MER000006,SE1000-01,1,approved,DE,Budget Cameras MER000005 Warehouse 1,100,1,DEFAULT,DE,EUR,50,70,,,
-offer1000,,,,,,,,,,ORIGINAL,DE,EUR,150,170,,,
-offer1000,,,,,,,,,,DEFAULT,AT,EUR,51,71,,,
-offer1000,,,,,,,,,,ORIGINAL,AT,EUR,151,171,,,
-offer1000,,,,,,AT,,,,,,,,,,,
-offer1001,090_24495844,MER000006,SE1001-01,1,approved,DE,Sony Experts MER000006 Warehouse 1,50,0,DEFAULT,DE,EUR,160,180,"[{""quantity"":5,""net_price"":6050,""gross_price"":7065}, {""quantity"":10,""net_price"":5045,""gross_price"":6058}, {""quantity"":20,""net_price"":4040,""gross_price"":5052}]",2021-01-01 00:00:00.000000,2025-12-01 00:00:00.000000
-offer1001,,,,,,,,,,DEFAULT,DE,CHF,260,280,,,
-```
-
-
-**data/import/common/US/combined_merchant_product_offer.csv**
-
-```
-product_offer_reference,merchant_product_offer.concrete_sku,merchant_product_offer.merchant_reference,merchant_product_offer.merchant_sku,merchant_product_offer.is_active,merchant_product_offer.approval_status,merchant_product_offer_store.store_name,product_offer_stock.stock_name,product_offer_stock.quantity,product_offer_stock.is_never_out_of_stock,price_product_offer.price_type,price_product_offer.store,price_product_offer.currency,price_product_offer.value_net,price_product_offer.value_gross,price_product_offer.price_data.volume_prices,product_offer_validity.valid_from,product_offer_validity.valid_to
-offer1000,093_24495843,MER000006,SE1000-01,1,approved,DE,Budget Cameras MER000005 Warehouse 1,100,1,DEFAULT,DE,EUR,50,70,,,
-offer1000,,,,,,,,,,ORIGINAL,DE,EUR,150,170,,,
-offer1000,,,,,,,,,,DEFAULT,AT,EUR,51,71,,,
-offer1000,,,,,,,,,,ORIGINAL,AT,EUR,151,171,,,
-offer1000,,,,,,AT,,,,,,,,,,,
-offer1001,090_24495844,MER000006,SE1001-01,1,approved,DE,Sony Experts MER000006 Warehouse 1,50,0,DEFAULT,DE,EUR,160,180,"[{""quantity"":5,""net_price"":6050,""gross_price"":7065}, {""quantity"":10,""net_price"":5045,""gross_price"":6058}, {""quantity"":20,""net_price"":4040,""gross_price"":5052}]",2021-01-01 00:00:00.000000,2025-12-01 00:00:00.000000
-offer1001,,,,,,,,,,DEFAULT,DE,CHF,260,280,,,
-```
-
-
-2. Create combined data importer configuration.
-
-**data/import/common/combined_merchant_product_offer_import_config_EU.yml**
-
-```
-# Example of demo shop 'combined merchant product offer' data import.
-version: 0
-
-actions:
- - data_entity: combined-merchant-product-offer
- source: data/import/common/DE/combined_merchant_product_offer.csv
- - data_entity: combined-merchant-product-offer-store
- source: data/import/common/DE/combined_merchant_product_offer.csv
- - data_entity: combined-product-offer-validity
- source: data/import/common/DE/combined_merchant_product_offer.csv
- - data_entity: combined-product-offer-stock
- source: data/import/common/DE/combined_merchant_product_offer.csv
- - data_entity: combined-price-product-offer
- source: data/import/common/DE/combined_merchant_product_offer.csv
-```
-
-
-**data/import/common/combined_merchant_product_offer_import_config_US.yml**
-
-```
-# Example of demo shop 'combined merchant product offer' data import.
-version: 0
-
-actions:
- - data_entity: combined-merchant-product-offer
- source: data/import/common/US/combined_merchant_product_offer.csv
- - data_entity: combined-merchant-product-offer-store
- source: data/import/common/US/combined_merchant_product_offer.csv
- - data_entity: combined-product-offer-validity
- source: data/import/common/US/combined_merchant_product_offer.csv
- - data_entity: combined-product-offer-stock
- source: data/import/common/US/combined_merchant_product_offer.csv
- - data_entity: combined-price-product-offer
- source: data/import/common/US/combined_merchant_product_offer.csv
-```
-
-
-3. Register the following plugins to enable data import:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| CombinedMerchantProductOfferDataImportPlugin | Imports merchant profile data into the database. | | Pyz\Zed\MerchantProductOfferDataImport\Communication\Plugin |
-| CombinedMerchantProductOfferStoreDataImportPlugin | Imports merchant profile address data into the database. | | Pyz\Zed\MerchantProductOfferDataImport\Communication\Plugin |
-| CombinedPriceProductOfferDataImportPlugin | Imports merchant profile address data into the database. | | Pyz\Zed\PriceProductOfferDataImport\Communication\Plugin |
-| CombinedProductOfferValidityDataImportPlugin | Imports merchant profile address data into the database. | | Pyz\Zed\ProductOfferStockDataImport\Communication |
-| CombinedProductOfferStockDataImportPlugin | Imports merchant profile address data into the database. | | Pyz\Zed\ProductOfferValidityDataImport\Communication\Plugin |
-
-**src/Pyz/Zed/DataImport/DataImportDependencyProvider.php**
-
-```php
-src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
-```php
-
- */
- protected function getResourceRoutePlugins(): array
- {
- return [
- new ProductOfferAvailabilitiesResourceRoutePlugin(),
- ];
- }
-
- /**
- * @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- *
- * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
- */
- protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- MerchantProductOffersRestApiConfig::RESOURCE_PRODUCT_OFFERS,
- new ProductOfferAvailabilitiesByProductOfferReferenceResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the `ProductOfferAvailabilitiesResourceRoutePlugin` plugin is set up by sending the request `GET https://glue.mysprykershop.com/product-offers/{% raw %}{{productOfferReference}}{% endraw %}/product-offer-availabilities`.
-
-Make sure that `ProductOfferAvailabilitiesByProductOfferReferenceResourceRelationshipPlugin` is set up by sending the request `GET https://glue.mysprykershop.com{% raw %}{{url}}{% endraw %}/product-offers/{% raw %}{{productOfferReference}}{% endraw %}?include=product-offer-availabilities`. The response should include the `product-offer-availabilities` resource along with `product-offers`.
-
-{% endinfo_block %}
-
-
-## Related features
-
-Integrate the following related features:
-
-| FEATURE | REQUIRED FOR THE CURRENT FEATURE | INTEGRATION GUIDE |
-|---|---|---|
-| Marketplace Inventory Management + Wishlist Glue API | | [Glue API: Marketplace Inventory Management + Wishlist feature integration ](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-inventory-management-wishlist-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-inventory-management-wishlist-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-inventory-management-wishlist-feature-integration.md
deleted file mode 100644
index 74a431f4be4..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-inventory-management-wishlist-feature-integration.md
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: "Glue API: Marketplace Inventory Management + Wishlist feature integration"
-description: This document describes how to integrate the Marketplace Inventory Management + Wishlist Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Inventory Management + Wishlist Glue API feature into a Spryker project.
-
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Inventory Management + Wishlist Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------- | ------- | ---------- |
-| Marketplace Wishlist | {{page.version}} |[Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html) |
-| Marketplace Inventory Management API | {{page.version}} | [Glue API: Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-inventory-management-feature-integration.html) |
-
-### 1) Set up behavior
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| AvailabilityWishlistItemExpanderPlugin | Expands the `WishlistItem` transfer object with product concrete availability. | | Spryker\Zed\Availability\Communication\Plugin\Wishlist |
-| SellableWishlistItemExpanderPlugin | Expands the `WishlistItem` transfer object with sellable status. | | Spryker\Zed\Availability\Communication\Plugin\Wishlist |
-| ProductAvailabilityRestWishlistItemsAttributesMapperPlugin | Maps availability data to the `RestWishlistItemsAttributes` transfer object. | | Spryker\Glue\ProductAvailabilitiesRestApi\Plugin\Wishlist |
-
-**src/Pyz/Zed/Wishlist/WishlistDependencyProvider.php**
-
-```php
-
- */
- protected function getWishlistItemExpanderPlugins(): array
- {
- return [
- new AvailabilityWishlistItemExpanderPlugin(),
- new SellableWishlistItemExpanderPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Glue/WishlistsRestApi/WishlistsRestApiDependencyProvider.php**
-
-```php
-
- */
- protected function getRestWishlistItemsAttributesMapperPlugins(): array
- {
- return [
- new ProductAvailabilityRestWishlistItemsAttributesMapperPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `AvailabilityWishlistItemExpanderPlugin` and `ProductAvailabilityRestWishlistItemsAttributesMapperPlugin` are set up by sending the request `GET https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}?include=wishlist-items`. You should get the `quantity` value within the `attributes` in the response.
-
-Make sure that `SellableWishlistItemExpanderPlugin` is set up by sending the request `GET https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}?include=wishlist-items`. You should get `availability` value within the `attributes` in the response.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-merchant-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-merchant-feature-integration.md
deleted file mode 100644
index b235ba64b6a..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-merchant-feature-integration.md
+++ /dev/null
@@ -1,170 +0,0 @@
----
-title: "Glue API: Marketplace Merchant feature integration"
-last_updated: Aug 27, 2021
-description: This document describes the process how to integrate the Marketplace Merchant Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Merchant Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Merchant Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Spryker Core | {{page.version}} | [Glue API: Spryker Core Feature Integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-spryker-core-feature-integration.html) |
-| Marketplace Merchant | {{page.version}} | [Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-```bash
-composer require spryker/merchants-rest-api:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| MerchantsRestApi | vendor/spryker/merchants-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|-|-|-|-|
-| RestMerchantsAttributesTransfer | class | Created | src/Generated/Shared/Transfer/RestMerchantsAttributesTransfer |
-| RestMerchantAddressesAttributesTransfer | class | Created | src/Generated/Shared/Transfer/RestMerchantAddressesAttributesTransfer |
-| RestMerchantAddressTransfer | class | Created | src/Generated/Shared/Transfer/RestMerchantAddressTransfer |
-| RestLegalInformationTransfer | class | Created | src/Generated/Shared/Transfer/RestLegalInformationTransfer |
-| RestOrdersAttributesTransfer.merchantReferences | property | Created | src/Generated/Shared/Transfer/RestOrdersAttributesTransfer |
-| RestOrderDetailsAttributesTransfer.merchantReferences | property | Created | src/Generated/Shared/Transfer/RestOrderDetailsAttributesTransfer |
-| RestOrderItemsAttributesTransfer.merchantReference | property | Created | src/Generated/Shared/Transfer/RestOrderItemsAttributesTransfer |
-| MerchantStorageProfileTransfer.description | property | Created | src/Generated/Shared/Transfer/MerchantStorageProfileTransfer |
-| MerchantStorageProfileTransfer.bannerUrl | property | Created | src/Generated/Shared/Transfer/MerchantStorageProfileTransfer |
-| MerchantStorageProfileTransfer.deliveryTime | property | Created | src/Generated/Shared/Transfer/MerchantStorageProfileTransfer |
-| MerchantStorageProfileTransfer.termsConditions | property | Created | src/Generated/Shared/Transfer/MerchantStorageProfileTransfer |
-| MerchantStorageProfileTransfer.cancellationPolicy | property | Created | src/Generated/Shared/Transfer/MerchantStorageProfileTransfer |
-| MerchantStorageProfileTransfer.imprint | property | Created | src/Generated/Shared/Transfer/MerchantStorageProfileTransfer |
-| MerchantStorageProfileTransfer.dataPrivacy | property | Created | src/Generated/Shared/Transfer/MerchantStorageProfileTransfer |
-
-{% endinfo_block %}
-
-### 3) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| MerchantsResourceRoutePlugin | Registers the `merchants` resource. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-| MerchantAddressesResourceRoutePlugin | Registers the `merchant-addresses` resource. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-| MerchantAddressByMerchantReferenceResourceRelationshipPlugin | Adds the `merchant-addresses` resource as a relationship of the `merchants` resource. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-| MerchantByMerchantReferenceResourceRelationshipPlugin | Adds `merchants` resource as a relationship by merchant reference provided in the attributes. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-| MerchantRestUrlResolverAttributesTransferProviderPlugin | Adds functionality for merchant url resolving to UrlRestApi. | | Spryker\Glue\MerchantsRestApi\Plugin\UrlsRestApi |
-| MerchantsByOrderResourceRelationshipPlugin | Adds `merchants` resources as relationship by order merchant references. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-
-**src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php**
-
-```php
-
- */
- protected function getResourceRoutePlugins(): array
- {
- return [
- new MerchantsResourceRoutePlugin(),
- new MerchantAddressesResourceRoutePlugin(),
- ];
- }
-
- /**
- * @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- *
- * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
- */
- protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- MerchantsRestApiConfig::RESOURCE_MERCHANTS,
- new MerchantAddressByMerchantReferenceResourceRelationshipPlugin()
- );
-
- $resourceRelationshipCollection->addRelationship(
- OrdersRestApiConfig::RESOURCE_ORDERS,
- new MerchantsByOrderResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-**src/Pyz/Glue/UrlsRestApi/UrlsRestApiDependencyProvider.php**
-
-```php
-
- */
- protected function getRestUrlResolverAttributesTransferProviderPlugins(): array
- {
- return [
- new MerchantRestUrlResolverAttributesTransferProviderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the `MerchantsResourceRoutePlugin` plugin is set up by sending the request `GET https://glue.mysprykershop.com/merchants/{% raw %}{{merchantReference}}{% endraw %}`, `https://glue.mysprykershop.com/merchants`.
-
-Make sure that the pagination is working by sending the request `GET https://glue.mysprykershop.com/merchants?offset=1&limit=1`.
-
-Make sure that the `MerchantAddressesResourceRoutePlugin` plugin is set up by sending the request `GET https://glue.mysprykershop.com/merchants/{% raw %}{{merchantReference}}{% endraw %}/merchant-addresses`.
-
-Make sure that the `MerchantAddressByMerchantReferenceResourceRelationshipPlugin` plugin is set up by sending the request `GET https://glue.mysprykershop.com/merchants/{% raw %}{{merchantReference}}{% endraw %}?include=merchant-addresses`. The response should include the `merchant-addresses` resource along with the merchants.
-
-Make sure that after sending the request `GET https://glue.mysprykershop.com/url-resolver?url={% raw %}{{merchantUrl}{% endraw %}`, the merchant entity type and ID is returned in response.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-cart-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-cart-feature-integration.md
deleted file mode 100644
index 64443a51ae0..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-cart-feature-integration.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: "Glue API: Marketplace Product + Cart feature integration"
-description: This integration guide provides steps on how to integrate the Marketplace Product + Cart Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Product + Cart Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Product Offer + Cart Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| ----------- | ------- | ------------------|
-| Cart API | {{page.version}} | [Glue API: Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-cart-feature-integration.html) |
-| Marketplace Product API | {{page.version}} | [Glue API: Marketplace Product feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-feature-integration.html) |
-
-
-### 1) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| MerchantProductCartItemExpanderPlugin | Expands view data for abstract product with merchant data. | | Spryker\Glue\MerchantProductsRestApi\Plugin\CartsRestApi |
-
-**src/Pyz/Glue/CartsRestApi/CartsRestApiDependencyProvider.php**
-
-```php
-
- */
- protected function getCartItemExpanderPlugins(): array
- {
- return [
- new MerchantProductCartItemExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that you can add a merchant product to the cart using a `POST` request to `http://glue.de.demo-spryker.com/guest-cart-items or http://glue.de.demo-spryker.com/carts/{% raw %}{{idCart}}{% endraw %}/items`.
-
-Make sure that when you do a `GET` request for the carts with marketplace products, their merchants are returned as well. `http://glue.de.demo-spryker.com/guest-carts/{idCart}?include=guest-cart-items,merchants` or `http://glue.de.demo-spryker.com/carts/{% raw %}{{idCart}}{% endraw %}?include=items,merchants`.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-feature-integration.md
deleted file mode 100644
index 71f095391c4..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-feature-integration.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: "Glue API: Marketplace Product feature integration"
-last_updated: Aug 31, 2021
-description: This document describes how to integrate the Marketplace Product Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Product Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Product Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Spryker Core | {{page.version}} | [Glue API: Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-spryker-core-feature-integration.html) |
-| Marketplace Product | {{page.version}} | [Marketplace Product Feature Integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-feature-integration.html)|
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/merchant-products-rest-api:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| MerchantProductsRestApi | vendor/spryker/merchant-products-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT| PATH |
-|-|-|-|-|
-| AbstractProductsRestAttributes.merchantReference | property | Created | src/Generated/Shared/Transfer/AbstractProductsRestAttributesTransfer |
-| RestCartItemsAttributes.merchantReference | property | Created | src/Generated/Shared/Transfer/RestCartItemsAttributesTransfer |
-| CartItemRequest.merchantReference | property | Created | src/Generated/Shared/Transfer/CartItemRequestTransfer |
-
-{% endinfo_block %}
-
-### 3) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| MerchantByMerchantReferenceResourceRelationshipPlugin | Adds merchants resources as relationship by merchant references in the attributes. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-
-**src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php**
-
-```php
-addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new MerchantByMerchantReferenceResourceRelationshipPlugin()
- );
-
- $resourceRelationshipCollection->addRelationship(
- CartsRestApiConfig::RESOURCE_CART_ITEMS,
- new MerchantByMerchantReferenceResourceRelationshipPlugin()
- );
-
- $resourceRelationshipCollection->addRelationship(
- CartsRestApiConfig::RESOURCE_GUEST_CARTS_ITEMS,
- new MerchantByMerchantReferenceResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you do a `GET` request to retrieve abstract products that belong to a specific merchant, it returns products' data together with their merchants `http://glue.de.demo-spryker.com/abstract-products/{% raw %}{{abstractProductSku}}{% endraw %}?include=merchants`.
-
-{% endinfo_block %}
-
-## Related features
-
-| FEATURE | REQUIRED FOR THE CURRENT FEATURE | INTEGRATION GUIDE |
-| -------------- | -------------------------------- | ----------------- |
-| Marketplace Product + Cart API | | [Glue API: Marketplace Product + Cart feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-cart-feature-integration.html) |
\ No newline at end of file
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-cart-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-cart-feature-integration.md
deleted file mode 100644
index 634fdc2c8d1..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-cart-feature-integration.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: "Glue API: Marketplace Product Offer + Cart feature integration"
-last_updated: Aug 31, 2021
-description: This integration guide provides steps on how to integrate the Marketplace Product Offer + Cart Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Product Offer + Cart Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Product Offer + Cart Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------------- | ------- | ------------------|
-| Cart API | {{page.version}} | [Glue API: Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-cart-feature-integration.html) |
-| Marketplace Product Offer API | {{page.version}} | [Glue API: Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html) |
-| Marketplace Inventory Management | {{page.version}} | [Marketplace Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-inventory-management-feature-integration.html) |
-
-### 1) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| - | - | - | - |
-| MerchantProductOfferCartItemMapperPlugin | Maps the merchant product offer reference and merchant reference, coming from the Glue add to cart request, to persistent cart-specific transfer. | Spryker\Zed\MerchantProductOffersRestApi\Communication\Plugin\CartsRestApi |
-| MerchantProductOfferCartItemExpanderPlugin | Expands the merchant product offer information with a merchant reference. | | Spryker\Glue\MerchantProductOffersRestApi\Plugin\CartsRestApi |
-| MerchantProductOfferRestCartItemsAttributesMapperPlugin | Maps merchant product offer reference and merchant reference to items attributes. | | Spryker\Glue\MerchantProductOffersRestApi\Plugin\CartsRestApi |
-
-**src/Pyz/Glue/CartsRestApi/CartsRestApiDependencyProvider.php**
-
-```php
-
- */
- protected function getRestCartItemsAttributesMapperPlugins(): array
- {
- return [
- new MerchantProductOfferRestCartItemsAttributesMapperPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Glue\CartsRestApiExtension\Dependency\Plugin\CartItemExpanderPluginInterface>
- */
- protected function getCartItemExpanderPlugins(): array
- {
- return [
- new MerchantProductOfferCartItemExpanderPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Zed/CartsRestApi/CartsRestApiDependencyProvider.php**
-
-```php
-
- */
- protected function getCartItemMapperPlugins(): array
- {
- return [
- new MerchantProductOfferCartItemMapperPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `MerchantProductOfferCartItemExpanderPlugin` and `MerchantProductOfferCartItemMapperPlugin` are set up by sending the request `POST https://glue.mysprykershop.com/carts/{% raw %}{{cartUuid}}{% endraw %}/items` with the following body and make sure the product has been added to the cart with the offer:
-
-```json
-{
- "data": {
- "type": "items",
- "attributes": {
- "sku": "091_25873091",
- "quantity": "1",
- "productOfferReference": "offer3"
- }
- }
-}
-```
-
-Make sure that `MerchantProductOfferRestCartItemsAttributesMapperPlugin` is set up by sending the request `GET https://glue.mysprykershop.com/carts/{% raw %}{{cartUuid}}{% endraw %}?include=items` to the cart that has an item with a product offer. You should be able to see `productOfferReference` and `merchantReference` attributes among the attributes of the items resource.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-feature-integration.md
deleted file mode 100644
index 07112028d97..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-feature-integration.md
+++ /dev/null
@@ -1,144 +0,0 @@
----
-title: "Glue API: Marketplace Product Offer feature integration"
-last_updated: Sep 9, 2021
-description: This document describes the process how to integrate the Marketplace Product Offer Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Product Offer Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Product Offer Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Marketplace Product Offer | {{page.version}} |[Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-```bash
-composer require spryker/merchant-product-offers-rest-api:"^1.1.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| MerchantProductOffersRestApi | spryker/merchant-product-offers-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|-|-|-|-|
-| RestProductOffersAttributes | class | Created | src/Generated/Shared/Transfer/RestProductOffersAttributesTransfer |
-| PersistentCartChange | class | Created | src/Generated/Shared/Transfer/PersistentCartChangeTransfer |
-| RestItemsAttributes.productOfferReference | property | Created | src/Generated/Shared/Transfer/RestItemsAttributesTransfer |
-| RestItemsAttributes.merchantReference | property | Created | src/Generated/Shared/Transfer/RestItemsAttributesTransfer |
-| CartItemRequest.productOfferReference | property | Created | src/Generated/Shared/Transfer/CartItemRequestTransfer |
-| CartItemRequest.merchantReference | property | Created | src/Generated/Shared/Transfer/CartItemRequestTransfer |
-| RestCartItemsAttributes.productOfferReference | property | Created | src/Generated/Shared/Transfer/RestCartItemsAttributesTransfer |
-
-{% endinfo_block %}
-
-### 3) Set up behavior
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| ProductOffersResourceRoutePlugin | Registers the `product-offers` resource. | | Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication |
-| ConcreteProductsProductOffersResourceRoutePlugin | Registers the `product-offers` resource with `concrete-products`. | | Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication |
-| ProductOffersByProductConcreteSkuResourceRelationshipPlugin | Registers the `product-offers` resource as a relationship to `concrete-products`. | | Spryker\Glue\MerchantProductOffersRestApi\Plugin\GlueApplication |
-| MerchantByMerchantReferenceResourceRelationshipPlugin | Adds `merchants` resources as relationship by merchant references in the attributes. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-
-**src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php**
-
-```php
-
- */
- protected function getResourceRoutePlugins(): array
- {
- return [
- new ProductOffersResourceRoutePlugin(),
- new ConcreteProductsProductOffersResourceRoutePlugin(),
- ];
- }
-
- /**
- * @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- *
- * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
- */
- protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
- new ProductOffersByProductConcreteSkuResourceRelationshipPlugin()
- );
- $resourceRelationshipCollection->addRelationship(
- MerchantProductOffersRestApiConfig::RESOURCE_PRODUCT_OFFERS,
- new MerchantByMerchantReferenceResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `ProductOffersResourceRoutePlugin` is set up by sending the request `GET https://glue.mysprykershop.com/product-offers/{% raw %}{{offerReference}}{% endraw %}`.
-
-Make sure that `ConcreteProductsProductOffersResourceRoutePlugin` is set up by sending the request `GET https://glue.mysprykershop.com/concrete-products/{% raw %}{{sku}}{% endraw %}/product-offers`.
-
-Make sure that `ProductOffersByProductConcreteSkuResourceRelationshipPlugin` is set up by sending the request `GET https://glue.mysprykershop.com/concrete-products/{% raw %}{{sku}}{% endraw %}?include=product-offers`. You should get `concrete-products` with all product’s `product-offers` as relationships.
-
-Make sure that `MerchantByMerchantReferenceResourceRelationshipPlugin` is set up by sending the request `GET https://glue.mysprykershop.com/product-offers/{% raw %}{{sku}}{% endraw %}?include=merchants`. The response should include the `merchants` resource along with `product-offers`.
-
-{% endinfo_block %}
-
-## Related features
-
-| FEATURE | REQUIRED FOR THE CURRENT FEATURE | INTEGRATION GUIDE |
-| -------------- | -------------------------------- | ----------------- |
-| Marketplace Product Offer + Prices API | | [Glue API: Marketplace Product Offer + Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html) |
-| Marketplace Product Offer + Volume Prices API | | [Glue API: Marketplace Product Offer + Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-volume-prices-feature-integration.html) |
-| Marketplace Product Offer + Wishlist API | | [Glue API: Marketplace Product Offer + Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-wishlist-feature-integration.html) |
-| Marketplace Product Offer + Cart API | | [Glue API: Marketplace Product Offer + Cart feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-cart-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-feature-integration.md
deleted file mode 100644
index 5c59e09a891..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-feature-integration.md
+++ /dev/null
@@ -1,134 +0,0 @@
----
-title: "Glue API: Marketplace Product Offer Prices feature integration"
-last_updated: Nov 10, 2020
-description: This document describes the process how to integrate the Marketplace Product Offer Prices Glue API feature into a Spryker project.
-template: feature-integration-guide-template
-redirect_from:
- - /docs/marketplace/dev/feature-integration-guides/202200.0/glue/marketplace-product-offer-prices-feature-integration.html
----
-
-This document describes how to integrate the Marketplace Product Offer Prices Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Product Offer Prices Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Marketplace Product Offer Prices | {{page.version}} | [Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-prices-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/product-offer-prices-rest-api:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| ProductOfferPricesRestApi | spryker/product-offer-prices-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up database schema and transfer objects
-
-Update the database and generate transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the `src/Orm/Zed/ProductStorage/Persistence/Base/SpyProductConcreteStorage.php` class contains the `syncPublishedMessageForMappings` public function.
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|-|-|-|-|
-| RestProductOfferPriceAttributes | class | Created | src/Generated/Shared/Transfer/RestProductOffersAttributesTransfer |
-
-{% endinfo_block %}
-
-### 3) Enable Product Offer Prices resources and relationships
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| ProductOfferPricesResourceRoutePlugin | Registers the `product-offer-prices` resource. | | Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication |
-| ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin | Registers the `product-offer-prices` resource as a relationship to `product-offers`. | | Spryker\Glue\ProductOfferPricesRestApi\Plugin\GlueApplication |
-
-
-src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
-```php
-
- */
- protected function getResourceRoutePlugins(): array
- {
- return [
- new ProductOfferPricesResourceRoutePlugin(),
- ];
- }
-
- /**
- * @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- *
- * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
- */
- protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- MerchantProductOffersRestApiConfig::RESOURCE_PRODUCT_OFFERS,
- new ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the `ProductOfferPricesResourceRoutePlugin` plugin is set up by sending the request `GET https://glue.mysprykershop.com/product-offers/{% raw %}{{offerReference}}{% endraw %}/product-offer-prices`.
-
-Make sure that the `ProductOfferPriceByProductOfferReferenceResourceRelationshipPlugin` plugin is set up by sending the request `GET https://glue.mysprykershop.com/product-offers/{% raw %}{{offerReference}}{% endraw %}?include=product-offer-prices`. You should get `product-offers` with all product offer’s `product-offer-prices` as relationships.
-
-{% endinfo_block %}
-
-
-## Related features
-
-Integrate the following related features:
-
-| FEATURE | REQUIRED FOR THE CURRENT FEATURE | INTEGRATION GUIDE |
-|---|---|---|
-| Marketplace Product Offer Prices + Wishlist Glue API | ✓ | [Glue API: Marketplace Product Offer Prices + Wishlist feature integration ](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-wishlist-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-wishlist-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-wishlist-feature-integration.md
deleted file mode 100644
index f8d282e2542..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-prices-wishlist-feature-integration.md
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: "Glue API: Marketplace Product Offer Prices + Wishlist feature integration"
-description: This document describes how to integrate the Marketplace Product Offer Prices + Wishlist Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Product Offer Prices + Wishlist Glue API feature into a Spryker project.
-
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Product Offer Prices + Wishlist Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------- | ------- | ---------- |
-| Marketplace Wishlist | {{page.version}} |[Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html) |
-| Marketplace Product Offer Prices API | {{page.version}} |[Glue API: Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html) |
-
-
-### 1) Set up behavior
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| PriceProductOfferWishlistItemExpanderPlugin | Expands the `WishlistItem` transfer object with product offer prices. | | Spryker\Zed\PriceProductOffer\Communication\Plugin\Wishlist |
-| PriceProductOfferVolumeExtractorPlugin | Extracts volume prices from the price product offer collection. | | Spryker\Zed\PriceProductOfferVolume\Communication\Plugin\PriceProductOffer |
-
-**src/Pyz/Zed/Wishlist/WishlistDependencyProvider.php**
-
-```php
-
- */
- protected function getWishlistItemExpanderPlugins(): array
- {
- return [
- new PriceProductOfferWishlistItemExpanderPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Zed/PriceProductOffer/PriceProductOfferDependencyProvider.php**
-
-```php
-
- */
- protected function getPriceProductOfferExtractorPlugins(): array
- {
- return [
- new PriceProductOfferVolumeExtractorPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `PriceProductOfferWishlistItemExpanderPlugin` is set up by sending the request `GET https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}?include=wishlist-items`. You should get the price product collection within the `attributes` in the response.
-
-Make sure that `PriceProductOfferVolumeExtractorPlugin` is set up by sending the request `GET https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}?include=wishlist-items,selected-product-offers,product-offer-prices`. You should get the product offer volume prices within the `prices` in the response.
-
-{% endinfo_block %}
\ No newline at end of file
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-volume-prices-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-volume-prices-feature-integration.md
deleted file mode 100644
index 7f02638afee..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-volume-prices-feature-integration.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: "Glue API: Marketplace Product Offer Volume Prices feature integration"
-last_updated: Dec 04, 2020
-description: This document describes how to integrate the Offers Volume Prices Glue API feature into a Spryker project.
-template: feature-integration-guide-template
-redirect_from:
- - /docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-volume-prices.html
- - /docs/marketplace/dev/feature-integration-guides/202204.0/glue/marketplace-product-offer-volume-prices.html
----
-
-This document describes how to integrate the Offers Volume Prices Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Offer Volume Prices Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-| - |
-| Marketplace Product Offer Prices | {{page.version}} | [Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-prices-feature-integration.html) |
-| Marketplace Product Offer Volume Prices | {{page.version}} | Marketplace Product Offer Volume Prices feature integration |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/price-product-offer-volumes-rest-api:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| PriceProductOfferVolumesRestApi | spryker/price-product-offer-volumes-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up database and transfer objects
-
-Update the database and generate transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|-|-|-|-|
-| RestProductOfferPriceAttributes.volumePrices | property | Created | src/Generated/Shared/Transfer/RestProductOffersAttributesTransfer |
-
-{% endinfo_block %}
-
-### 3) Enable Product Offer Prices resources and relationships
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| RestProductOfferPricesAttributesMapperPlugin | Extends `RestProductOfferPricesAttributesTransfer` with volume price data. | | Spryker\Glue\PriceProductOfferVolumesRestApi\Plugin |
-
-**src/Pyz/Glue/ProductOfferPricesRestApi/ProductOfferPricesRestApiDependencyProvider.php**
-
-```php
-
- */
- protected function getRestProductOfferPricesAttributesMapperPlugins(): array
- {
- return [
- new RestProductOfferPricesAttributesMapperPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the `ProductOfferPricesRestApiDependencyProvider` plugin is set up by having product offer volumes over sending the request `GET https://glue.mysprykershop.com//concrete-products/{% raw %}{{concreteProductId}}{% endraw %}?include=product-offers,product-offer-prices`.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-wishlist-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-wishlist-feature-integration.md
deleted file mode 100644
index 565dd1d1222..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-product-offer-wishlist-feature-integration.md
+++ /dev/null
@@ -1,191 +0,0 @@
----
-title: "Glue API: Marketplace Product Offer + Wishlist feature integration"
-last_updated: Sep 13, 2021
-description: This document describes how to integrate the Marketplace Product Offer + Wishlist Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Product Offer + Wishlist Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Product Offer + Wishlist Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Marketplace Wishlist | {{page.version}} |[Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html) |
-| Marketplace Product Offer API | {{page.version}} | [Glue API: Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/merchant-product-offer-wishlist-rest-api:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| MerchantProductOfferWishlistRestApi | spryker/merchant-product-offer-wishlist-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|-|-|-|-|
-| WishlistItemRequest.productOfferReference | property | Created | src/Generated/Shared/Transfer/WishlistItemRequestTransfer |
-| RestWishlistItemsAttributes.productOfferReference | property | Created | src/Generated/Shared/Transfer/RestWishlistItemsAttributesTransfer |
-| RestWishlistItemsAttributes.merchantReference | property | Created | src/Generated/Shared/Transfer/RestWishlistItemsAttributesTransfer |
-
-{% endinfo_block %}
-
-### 3) Set up behavior
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| MerchantProductOfferAddItemPreCheckPlugin | Returns `WishlistPreAddItemCheckResponse.isSuccess=false` if no product offers found by the `WishlistItem.productOfferReference` transfer property. | | Spryker\Zed\MerchantProductOfferWishlist\Communication\Plugin\Wishlist |
-| ProductOfferRestWishlistItemsAttributesMapperPlugin | Populates `RestWishlistItemsAttributes.id` with the following pattern: `{WishlistItem.sku}_{WishlistItemTransfer.productOfferReference}`. | | Spryker\Glue\MerchantProductOfferWishlistRestApi\Plugin\Wishlist |
-| ProductOfferRestWishlistItemsAttributesDeleteStrategyPlugin | Checks if requested the wishlist item exists in the wishlist item collection. | | Spryker\Zed\MerchantProductOfferWishlistRestApi\Communication\Plugin |
-| EmptyProductOfferRestWishlistItemsAttributesDeleteStrategyPlugin | Checks if the requested wishlist item exists in the wishlist item collection. | | Spryker\Zed\MerchantProductOfferWishlistRestApi\Communication\Plugin |
-| MerchantByMerchantReferenceResourceRelationshipPlugin | Adds `merchants` resources as relationship by merchant references in the attributes. | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-
-src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
-```php
-addRelationship(
- WishlistsRestApiConfig::RESOURCE_WISHLIST_ITEMS,
- new MerchantByMerchantReferenceResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-
-
-src/Pyz/Zed/Wishlist/WishlistDependencyProvider.php
-
-```php
-
- */
- protected function getAddItemPreCheckPlugins(): array
- {
- return [
- new MerchantProductOfferAddItemPreCheckPlugin(),
- ];
- }
-
-}
-```
-
-
-src/Pyz/Glue/WishlistsRestApi/WishlistsRestApiDependencyProvider.php
-
-```php
-
- */
- protected function getRestWishlistItemsAttributesMapperPlugins(): array
- {
- return [
- new ProductOfferRestWishlistItemsAttributesMapperPlugin(),
- ];
- }
-}
-```
-
-
-src/Pyz/Zed/WishlistsRestApi/WishlistsRestApiDependencyProvider.php
-
-```php
-
- */
- protected function getRestWishlistItemsAttributesDeleteStrategyPlugins(): array
- {
- return [
- new ProductOfferRestWishlistItemsAttributesDeleteStrategyPlugin(),
- new EmptyProductOfferRestWishlistItemsAttributesDeleteStrategyPlugin(),
- ];
- }
-}
-```
-
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `ProductOfferRestWishlistItemsAttributesMapperPlugin` is set up by sending the request `GET https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}?include=wishlist-items`. You should get `attributes` in the response.
-
-Make sure that `MerchantProductOfferAddItemPreCheckPlugin` is set up by sending the request `POST https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}/wishlist-items`. You should have the wishlist item added only when the product has the specified offer reference.
-
-Make sure that `ProductOfferRestWishlistItemsAttributesDeleteStrategyPlugin` and `EmptyProductOfferRestWishlistItemsAttributesDeleteStrategyPlugin` are set up by sending the request `DELETE https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}/wishlist-items/{% raw %}{{wishlistItemId}}{% endraw %}`. You should get the product offer wishlist item deleted.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-return-management-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-return-management-feature-integration.md
deleted file mode 100644
index d84349c05aa..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/marketplace-return-management-feature-integration.md
+++ /dev/null
@@ -1,116 +0,0 @@
----
-title: "Glue API: Marketplace Return Management feature integration"
-last_updated: Apr 8, 2021
-description: This document describes the process how to integrate the Marketplace Return Management API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Return Management API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Return Management Glue API feature core.
-
-### Prerequisites
-
-
-Install the required features:
-
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------- | ------ | --------|
-| Marketplace Merchant | {{page.version}} | [Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-feature-integration.html) |
-| Marketplace Return Management | {{page.version}} | [Marketplace Return Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-return-management-feature-integration.html) |
-
-### 1) Install the required modules using Сomposer
-
-
-Install the required modules:
-
-```bash
-composer require spryker/merchant-sales-returns-rest-api:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| -------- | ------------------- |
-|MerchantSalesReturnsRestApi | spryker/merchant-sales-returns-rest-api |
-
-{% endinfo_block %}
-
-
-### 2) Set up transfer objects
-
-
-Generate transfers:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-
-Ensure the following transfers have been created:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| --------- | ------- | ----- | ------------- |
-| RestReturnsAttributes.merchantReference | attribute | created |src/Generated/Shared/Transfer/RestReturnsAttributesTransfer |
-
-{% endinfo_block %}
-
-### 3) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| ------------ | ----------- | ----- | ------------ |
-| MerchantByMerchantReferenceResourceRelationshipPlugin | Adds `merchants` resources as relationship by merchant references in the attributes | | Spryker\Glue\MerchantsRestApi\Plugin\GlueApplication |
-
-
-src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
-```php
-addRelationship(
- SalesReturnsRestApiConfig::RESOURCE_RETURNS,
- new MerchantByMerchantReferenceResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-
-}
-```
-
-
-
-{% info_block warningBox "Verification" %}
-
-
-Make sure that the `MerchantByMerchantReferenceResourceRelationshipPlugin`
-plugin is set up by:
-1. Sending the request `GET https://glue.mysprykershop.com/returns/{% raw %}{{returnId}}{% endraw %}include=merchants`.
-
-Verify that the returned data includes `merchant` resource attributes.
-
-2. Sending the request `GET https://glue.mysprykershop.com/returns`.
-
-Verify that the returned data includes the `merchantReference`.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-category-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-category-feature-integration.md
deleted file mode 100644
index 22aa8583b9f..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-category-feature-integration.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: "Glue API: Merchant Category feature integration"
-last_updated: Mar 04, 2021
-description: This document describes the process how to integrate the Merchant Category Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Category Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Merchant Category Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| ---------------- | ------ | ------------------ |
-| Spryker Core | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) |
-| Marketplace Merchant Category | {{page.version}} | [Marketplace Merchant Category feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-category-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/merchant-categories-rest-api:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| -------------- | ----------------- |
-| MerchantCategoriesRestApi | vendor/spryker/merchant-categories-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| -------------- | ---- | ----- | ------------------ |
-| RestMerchantsAttributes | object | Created | src/Generated/Shared/Transfer/RestMerchantsAttributes |
-
-{% endinfo_block %}
-
-### 3) Enable resources and relationships
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| --------------- | -------------- | ------------- | ----------------- |
-| MerchantCategoryMerchantRestAttributesMapperPlugin | Maps active categories from `MerchantStorageTransfer` to `RestMerchantsAttributesTransfer`. | | Spryker\Glue\MerchantCategoriesRestApi\Plugin\MerchantsRestApi |
-
-**src/Pyz/Glue/MerchantsRestApi/MerchantsRestApiDependencyProvider.php**
-
-```php
-
- */
- public function getMerchantRestAttributesMapperPlugins(): array
- {
- return [
- new MerchantCategoryMerchantRestAttributesMapperPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you send the request `GET https://glue.mysprykershop.com/merchants`, you can see the category keys and names for merchants assigned to categories.
-
-Make sure that when you send the request `GET https://glue.mysprykershop.com/merchants?category-keys[]={% raw %}{{some-category-key}}{% endraw %}`, you can see only merchants that belong to the particular category in the response.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-opening-hours-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-opening-hours-feature-integration.md
deleted file mode 100644
index 257350be0d4..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/merchant-opening-hours-feature-integration.md
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: "Glue API: Merchant Opening Hours feature integration"
-last_updated: Dec 04, 2020
-description: This document describes how to integrate the Merchant Opening Hours Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Opening Hours Glue API feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Merchant Opening Hours Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| ----------- | ------ | --------------|
-| Merchant Opening Hours | {{page.version}} | [Merchant Opening Hours feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-opening-hours-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/merchant-opening-hours-rest-api:"^1.0.0"
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| ------------------ | ----------------- |
-| MerchantOpeningHoursRestApi | spryker/merchant-opening-hours-rest-api |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| -------------- | ---- | ------ | ------------------ |
-| RestMerchantOpeningHoursAttributes | class | Created | src/Generated/Shared/Transfer/RestMerchantOpeningHoursAttributesTransfer |
-
-{% endinfo_block %}
-
-### 3) Enable merchant product offers resources and relationships
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| ----------------- | -------------- | --------------- | ---------------- |
-| MerchantOpeningHoursResourceRoutePlugin | Registers the `merchant-opening-hours` resource. | | Spryker\Glue\MerchantOpeningHoursRestApi\Plugin\GlueApplication |
-| MerchantOpeningHoursByMerchantReferenceResourceRelationshipPlugin | Registers the `merchant-opening-hours` resource as a relationship to the merchants resource. | | Spryker\Glue\MerchantOpeningHoursRestApi\Plugin\GlueApplication |
-
-**src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php**
-
-```php
-
- */
- protected function getResourceRoutePlugins(): array
- {
- return [
- new MerchantOpeningHoursResourceRoutePlugin(),
- ];
- }
-
- /**
- * @param \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- *
- * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRelationshipCollectionInterface
- */
- protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- MerchantsRestApiConfig::RESOURCE_MERCHANTS,
- new MerchantOpeningHoursByMerchantReferenceResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `MerchantOpeningHoursByMerchantReferenceResourceRelationshipPlugin` is set up by sending the request `GET https://glue.mysprykershop.comm/merchants/{% raw %}{{merchant-reference}}{% endraw %}?include=merchant-opening-hours`. You should get merchants with all merchant opening hours as relationships.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/prices-marketplace-wishlist-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/glue/prices-marketplace-wishlist-feature-integration.md
deleted file mode 100644
index 53b8f434fc4..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/glue/prices-marketplace-wishlist-feature-integration.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: "Glue API: Prices + Marketplace Wishlist feature integration"
-description: This document describes how to integrate the Prices + Marketplace Wishlist Glue API feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Prices + Marketplace Wishlist Glue API feature into a Spryker project.
-
-
-## Install feature core
-
-Follow the steps below to install the Prices + Marketplace Wishlist Glue API feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------- | ------- | ---------- |
-| Marketplace Wishlist | {{page.version}} |[Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html) |
-| Product Prices API | {{page.version}} |[Glue API: Product Prices feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-price-feature-integration.html) |
-
-
-### 1) Set up behavior
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| PriceProductWishlistItemExpanderPlugin | Expands the `WishlistItem` transfer object with prices. | | Spryker\Zed\PriceProduct\Communication\Plugin\Wishlist |
-| ProductPriceRestWishlistItemsAttributesMapperPlugin | Maps prices to the `RestWishlistItemsAttributes` transfer object. | | Spryker\Glue\ProductPricesRestApi\Plugin\Wishlist |
-
-**src/Pyz/Zed/Wishlist/WishlistDependencyProvider.php**
-
-```php
-
- */
- protected function getWishlistItemExpanderPlugins(): array
- {
- return [
- new PriceProductWishlistItemExpanderPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Glue/WishlistsRestApi/WishlistsRestApiDependencyProvider.php**
-
-```php
-
- */
- protected function getRestWishlistItemsAttributesMapperPlugins(): array
- {
- return [
- new ProductPriceRestWishlistItemsAttributesMapperPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `PriceProductWishlistItemExpanderPlugin` and `ProductPriceRestWishlistItemsAttributesMapperPlugin` are set up by sending the request `GET https://glue.mysprykershop.com/wishlists/{% raw %}{{wishlistId}}{% endraw %}?include=wishlist-items`. You should get the price product collection within the `attributes` in the response.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-cart-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-cart-feature-integration.md
deleted file mode 100644
index 8bd3aca361f..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-cart-feature-integration.md
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title: Marketplace Cart feature integration
-last_updated: Jan 05, 2021
-description: This document describes the process how to integrate the Marketplace Cart integration feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Cart feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Cart feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| ----------- | ------- | ------------------|
-| Cart | {{page.version}} | [Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/cart-feature-integration.html) |
-| Order Threshold | {{page.version}} | [Order Threshold feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/checkout-feature-integration.html) |
-| Marketplace Order Management | {{page.version}} | [Marketplace Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-order-management-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker-feature/marketplace-cart:"{{page.version}}" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| ------------------- | --------------------- |
-| CartNoteMerchantSalesOrderGui | vendor/spryker/cart-note-merchant-sales-order-gui |
-
-{% endinfo_block %}
-
-### 2) Set up configuration
-
-Add the following configuration:
-
-| CONFIGURATION | SPECIFICATION | NAMESPACE |
-| ------------- | ------------- | --------- |
-| MerchantSalesOrderMerchantUserGuiConfig::getMerchantSalesOrderDetailExternalBlocksUrls() | Introduces a list of urls for order details page configuration. | src/Pyz/Zed/MerchantSalesOrderMerchantUserGui/MerchantSalesOrderMerchantUserGuiConfig.php |
-
-```php
-
- */
- public function getMerchantSalesOrderDetailExternalBlocksUrls(): array
- {
- return [
- 'cart_note' => '/cart-note-merchant-sales-order-gui/merchant-sales-order/list',
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Ensure that the cart notes are displayed on the order view page when looking at merchant orders in the Back Office.
-
-{% endinfo_block %}
-
-## Install feature frontend
-
-Follow the steps below to install the Marketplace Cart feature frontend.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION |
-| -------------------- | ----------- |
-| Order Threshold | {{page.version}} |
-| Cart | {{page.version}} |
-| Merchant Portal Core | {{page.version}} |
-| Marketplace Order Management | {{page.version}} |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/cart-note-merchant-portal-gui:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| ------------------------- | ------------------------------------- |
-| CartNoteMerchantPortalGui | spryker/cart-note-merchant-portal-gui |
-
-{% endinfo_block %}
-
-### 2) Set up behavior
-
-Add the following configuration to the project:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| -------------------- | ------------------ | ----------- | ------------------ |
-| CartNoteMerchantOrderItemTableExpanderPlugin | Adds CartNote column to Sales tables in MerchantPortal | Marketplace Sales Merchant Portal integrated | Spryker\Zed\CartNoteMerchantPortalGui\Communication\Plugin |
-
-**src/Pyz/Zed/SalesMerchantPortalGui/SalesMerchantPortalGuiDependencyProvider.php**
-
-```php
-
- */
- protected function getMerchantOrderItemTableExpanderPlugins(): array
- {
- return [
- new CartNoteMerchantOrderItemTableExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the `CartNoteMerchantOrderItemTableExpanderPlugin` plugin is set up by opening `http://zed.mysprykershop.com/sales-merchant-portal-gui/orders`. Click on any order and check that the *Cart Note* column is present.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-dummy-payment-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-dummy-payment-feature-integration.md
deleted file mode 100644
index 2bb5869a9d7..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-dummy-payment-feature-integration.md
+++ /dev/null
@@ -1,292 +0,0 @@
----
-title: Marketplace Dummy Payment
-last_updated: Oct 05, 2021
-description: This document describes the process how to integrate the Marketplace Dummy Payment into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Dummy Payment into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Dummy Payment feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| - | - | - |
-| Spryker Core | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) |
-| Payments | {{page.version}} | [Payments feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/payments-feature-integration.html) |
-| Checkout | {{page.version}} | [Checkout feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/checkout-feature-integration.html)
-| Marketplace Merchant | {{page.version}} | [Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-feature-integration.html)
-| Marketplace Order Management | {{page.version}} | [Marketplace Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-order-management-feature-integration.html)
-
-
-### 1) Install required modules using Сomposer
-
-Install the required modules:
-
-```bash
-composer require spryker/dummy-marketplace-payment:^0.2.2 --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| DummyMarketplacePayment | vendor/spryker/dummy-marketplace-payment |
-
-{% endinfo_block %}
-
-### 2) Set up configuration
-
-Add the following configuration:
-
-| CONFIGURATION | SPECIFICATION | NAMESPACE |
-| ------------- | ------------ | ------------ |
-| config_default-docker.php | Default docker specific configuration of entire application | config/Shared/config_default-docker.php |
-| config_default.php | Default configuration of entire application | config/Shared/config_default.php |
-
-**config/Shared/config_default-docker.php**
-
-```php
-use Spryker\Shared\DummyMarketplacePayment\DummyMarketplacePaymentConfig;
-
-
-$config[OmsConstants::ACTIVE_PROCESSES] = [
- 'MarketplacePayment01',
-];
-$config[SalesConstants::PAYMENT_METHOD_STATEMACHINE_MAPPING] = [
- DummyMarketplacePaymentConfig::PAYMENT_METHOD_DUMMY_MARKETPLACE_PAYMENT_INVOICE => 'MarketplacePayment01',
-];
-```
-
-**config/Shared/config_default.php**
-
-```php
-use Spryker\Shared\DummyMarketplacePayment\DummyMarketplacePaymentConfig;
-
-$config[OmsConstants::ACTIVE_PROCESSES] = [
- 'MarketplacePayment01',
-];
-$config[SalesConstants::PAYMENT_METHOD_STATEMACHINE_MAPPING] = [
- DummyMarketplacePaymentConfig::PAYMENT_METHOD_DUMMY_MARKETPLACE_PAYMENT_INVOICE => 'MarketplacePayment01',
-];
-```
-
-### 3) Set up transfer objects
-
-Run the following command:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following transfer objects are generated:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| --------- | ------- | ----- | ------------- |
-| DummyMarketplacePayment | class | created | src/Generated/Shared/Transfer/DummyMarketplacePayment |
-| Payment.dummyMarketplacePaymentInvoice | property | created | src/Generated/Shared/Transfer/Payment |
-| Order.dummyMarketplacePaymentInvoice | property | created | src/Generated/Shared/Transfer/Order |
-
-{% endinfo_block %}
-
-### 4) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-| --------- | ------- | ----- | ------------- |
-| MerchantProductItemPaymentMethodFilterPlugin | If not all order items contain of product reference, then filters dummy marketplace payment methods out. | | Spryker\Zed\DummyMarketplacePayment\Communication\Plugin\Payment\MerchantProductItemPaymentMethodFilterPlugin |
-
-**src/Pyz/Zed/Payment/PaymentDependencyProvider.php**
-
-```php
-
- */
- protected function getPaymentMethodFilterPlugins(): array
- {
- return [
- new MerchantProductItemPaymentMethodFilterPlugin(),
- ];
- }
-}
-```
-
-### 5) Import data
-
-1. Extend and import payment method data:
-
-**data/import/payment_method.csv**
-
-```
-payment_method_key,payment_method_name,payment_provider_key,payment_provider_name,is_active
-dummyMarketplacePaymentInvoice,Invoice,DummyMarketplacePayment,Dummy Marketplace Payment,1
-```
-
-| COLUMN | REQUIRED | DATA TYPE | DATA EXAMPLE | DATA EXPLANATION |
-|-|-|-|-|-|
-| payment_method_key | ✓ | string | dummyMarketplacePaymentInvoice | Payment method key. |
-| payment_method_name | ✓ | string | Invoice | Payment method name. |
-| payment_provider_key | ✓ | string | DummyMarketplacePayment | Payment provider key. |
-| payment_provider_name | ✓ | string | Dummy Marketplace Payment | Payment provider name. |
-| is_active | | boolean | 1 | Is payment method active. |
-
-2. Extend and import payment store data:
-
-**data/import/payment_method_store.csv**
-
-```
-payment_method_key,store
-dummyMarketplacePaymentInvoice,DE
-dummyMarketplacePaymentInvoice,AT
-dummyMarketplacePaymentInvoice,US
-```
-
-| COLUMN | REQUIRED | DATA TYPE | DATA EXAMPLE | DATA EXPLANATION |
-|-|-|-|-|-|
-| payment_method_key | ✓ | string | dummyMarketplacePaymentInvoice | Payment method key. |
-| store | ✓ | string | DE | Store identifier. |
-
-3. Import data:
-
-```bash
-console data:import payment-method
-console data:import payment-method-store
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the new payment method is added to the `spy_payment_method` and `spy_payment_method_store` tables in the database.
-
-{% endinfo_block %}
-
-## Install feature frontend
-
-Follow the steps below to install the Dummy Payment feature frontend.
-
-### 1) Add translations
-
-Append glossary according to your configuration:
-
-**data/import/glossary.csv**
-
-```yaml
-DummyMarketplacePaymentInvoice,Invoice,en_US
-DummyMarketplacePaymentInvoice,Auf Rechnung,de_DE
-dummyMarketplacePaymentInvoice.invoice,Pay with invoice:,en_US
-dummyMarketplacePaymentInvoice.invoice,Auf Rechnung bezahlen:,de_DE
-checkout.payment.provider.DummyMarketplacePayment,Dummy Marketplace Payment,en_US
-checkout.payment.provider.DummyMarketplacePayment,Beispiel Marktplatz Zahlungsmethode,de_DE
-```
-
-Import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the configured data is added to the `spy_glossary_key` and `spy_glossary_translation` tables in the database.
-
-{% endinfo_block %}
-
-### 2) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-| --------- | ------- | ----- | ------------- |
-| DummyMarketplacePaymentHandlerPlugin | Expands Payment transfer with payment provider and payment selection. | | Spryker\Yves\DummyMarketplacePayment\Plugin\StepEngine\DummyMarketplacePaymentHandlerPlugin |
-| DummyMarketplacePaymentInvoiceSubFormPlugin | Creates sub form for Invoice payment method. | | Spryker\Yves\DummyMarketplacePayment\Plugin\StepEngine\SubForm\DummyMarketplacePaymentInvoiceSubFormPlugin |
-
-**src/Pyz/Yves/CheckoutPage/CheckoutPageDependencyProvider.php**
-
-```php
-extendPaymentMethodHandler($container);
- $container = $this->extendSubFormPluginCollection($container);
-
- return $container;
- }
-
- /**
- * @param \Spryker\Yves\Kernel\Container $container
- *
- * @return \Spryker\Yves\Kernel\Container
- */
- protected function extendPaymentMethodHandler(Container $container): Container
- {
- $container->extend(static::PAYMENT_METHOD_HANDLER, function (StepHandlerPluginCollection $paymentMethodHandler) {
- $paymentMethodHandler->add(
- new DummyMarketplacePaymentHandlerPlugin(),
- DummyMarketplacePaymentConfig::PAYMENT_METHOD_DUMMY_MARKETPLACE_PAYMENT_INVOICE
- );
-
- return $paymentMethodHandler;
- });
-
- return $container;
- }
-
- /**
- * @param \Spryker\Yves\Kernel\Container $container
- *
- * @return \Spryker\Yves\Kernel\Container
- */
- protected function extendSubFormPluginCollection(Container $container): Container
- {
- $container->extend(static::PAYMENT_SUB_FORMS, function (SubFormPluginCollection $paymentSubFormPluginCollection) {
- $paymentSubFormPluginCollection->add(new DummyMarketplacePaymentInvoiceSubFormPlugin());
-
- return $paymentSubFormPluginCollection;
- });
-
- return $container;
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Add a merchant product to a shopping cart, go to checkout and make sure that Dummy Payment Invoice payment method is available.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-feature-integration.md
deleted file mode 100644
index d3551de8772..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-feature-integration.md
+++ /dev/null
@@ -1,740 +0,0 @@
----
-title: Marketplace Inventory Management feature integration
-last_updated: Sep 07, 2021
-description: This document describes the process how to integrate the Marketplace Inventory Management feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Inventory Management feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Inventory Management feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Spryker Core | {{page.version}} | [Glue API: Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-spryker-core-feature-integration.html) |
-| Marketplace Product Offer | {{page.version}} | [Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-feature-integration.html) |
-| Inventory Management | {{page.version}} | [Inventory Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/inventory-management-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker-feature/marketplace-inventory-management:"{{page.version}}" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| MerchantStock | vendor/spryker/merchant-stock |
-| MerchantStockDataImport | vendor/spryker/merchant-stock-data-import |
-| MerchantStockGui | vendor/spryker/merchant-stock-gui |
-| ProductOfferStock | vendor/spryker/product-offer-stock |
-| ProductOfferStockDataImport | vendor/spryker/product-offer-stock-data-import |
-| ProductOfferStockGui | vendor/spryker/product-offer-stock-gui |
-| ProductOfferStockGuiExtension | vendor/spryker/product-offer-stock-gui-extension |
-| ProductOfferAvailability | vendor/spryker/product-offer-availability |
-| ProductOfferAvailabilityStorage | vendor/spryker/product-offer-availability-storage |
-
-{% endinfo_block %}
-
-
-### 2) Set up the database schema
-
-Adjust the schema definition so entity changes trigger events:
-
-**src/Pyz/Zed/ProductOfferStock/Persistence/Propel/Schema/spy_product_offer_stock.schema.xml**
-
-```xml
-
-
-
-
-
-
-
-
-
-```
-
-Apply database changes and to generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied by checking your database:
-
-| DATABASE ENTITY | TYPE | EVENT |
-|-|-|-|
-| spy_merchant_stock | table | created |
-| spy_product_offer_stock | table | created |
-| spy_product_offer_availability_storage | table | created |
-
-{% endinfo_block %}
-
-### 3) Set up transfer objects
-
-Generate transfers:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|-|-|-|-|
-| MerchantStock | class | Created | src/Generated/Shared/Transfer/MerchantStockTransfer |
-| MerchantStockCriteria | class | Created | src/Generated/Shared/Transfer/MerchantStockCriteriaTransfer |
-| ProductAvailabilityCriteria | class | Created | src/Generated/Shared/Transfer/ProductAvailabilityCriteriaTransfer |
-| ProductConcreteAvailability | class | Created | src/Generated/Shared/Transfer/ProductConcreteAvailabilityTransfer |
-| ProductOfferAvailabilityRequest | class | Created | src/Generated/Shared/Transfer/ProductOfferAvailabilityRequestTransfer |
-| ProductOfferAvailabilityStorage | class | Created | src/Generated/Shared/Transfer/ProductOfferAvailabilityStorageTransfer |
-| ProductOfferStock | class | Created | src/Generated/Shared/Transfer/ProductOfferStockTransfer |
-| ProductOfferStockRequest | class | Created | src/Generated/Shared/Transfer/ProductOfferStockRequestTransfer |
-| ReservationRequest | class | Created | src/Generated/Shared/Transfer/ReservationRequestTransfer |
-| SpyMerchantStockEntity | class | Created | src/Generated/Shared/Transfer/SpyMerchantStockEntityTransfer |
-| SpyMerchantUserEntity | class | Created | src/Generated/Shared/Transfer/SpyMerchantUserEntityTransfer |
-| SpyProductOfferAvailabilityStorageEntity | class | Created | src/Generated/Shared/Transfer/SpyProductOfferAvailabilityStorageEntityTransfer |
-| SpyProductOfferStockEntity | class | Created | src/Generated/Shared/Transfer/SpyProductOfferStockEntityTransfer |
-
-{% endinfo_block %}
-
-### 4) Add Zed translations
-
-Generate a new translation cache for Zed:
-
-```bash
-console translator:generate-cache
-```
-
-### 5) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| MerchantStockMerchantExpanderPlugin | Expands MerchantTransfer with related stocks. | | Spryker\Zed\MerchantStock\Communication\Plugin\Merchant |
-| MerchantStockMerchantPostCreatePlugin | Creates default stock for the merchant. | | Spryker\Zed\MerchantStock\Communication\Plugin\Merchant |
-| MerchantStockMerchantFormExpanderPlugin | Expands MerchantForm with form field for merchant warehouses. | | Spryker\Zed\MerchantStockGui\Communication\Plugin\MerchantGui |
-| ProductOfferStockProductOfferExpanderPlugin | Expands ProductOfferTransfer with Product Offer Stock. | | Spryker\Zed\ProductOfferStock\Communication\Plugin\ProductOffer |
-| ProductOfferStockProductOfferPostCreatePlugin | Persists product offer stock on product offer create. | | Spryker\Zed\ProductOfferStock\Communication\Plugin\ProductOffer |
-| ProductOfferStockProductOfferPostUpdatePlugin | Persists product offer stock on product offer updated. | | Spryker\Zed\ProductOfferStock\Communication\Plugin\ProductOffer |
-| ProductOfferAvailabilityStrategyPlugin | Reads product offer availability. | | Spryker\Zed\ProductOfferAvailability\Communication\Plugin\Availability |
-| ProductOfferStockProductOfferViewSectionPlugin | Shows stock section at product offer view page in Zed. | | Spryker\Zed\ProductOfferStockGui\Communication\Plugin\ProductOffer |
-
-**src/Pyz/Zed/Merchant/MerchantDependencyProvider.php**
-
-```php
-
- */
- protected function getMerchantPostCreatePlugins(): array
- {
- return [
- new MerchantStockMerchantPostCreatePlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\MerchantExtension\Dependency\Plugin\MerchantExpanderPluginInterface>
- */
- protected function getMerchantExpanderPlugins(): array
- {
- return [
- new MerchantStockMerchantExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you retrieve merchant using `MerchantFacade::get()` the response transfer contains merchant stocks.
-
-Make sure that when you create a merchant in Zed UI, its stock also gets created in the `spy_merchant_stock` table.
-
-{% endinfo_block %}
-
-**src/Pyz/Zed/MerchantGui/MerchantGuiDependencyProvider.php**
-
-```php
-
- */
- protected function getMerchantFormExpanderPlugins(): array
- {
- return [
- new MerchantStockMerchantFormExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you edit some merchant on `http://zed.de.demo-spryker.com/merchant-gui/list-merchant`, you can see the `Warehouses` field.
-
-{% endinfo_block %}
-
-**src/Pyz/Zed/ProductOfferGui/ProductOfferGuiDependencyProvider.php**
-
-```php
-
- */
- public function getProductOfferViewSectionPlugins(): array
- {
- return [
- new ProductOfferStockProductOfferViewSectionPlugin(),
- ];
- }
-}
-
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you view some product offer at `http://zed.de.demo-spryker.com/product-offer-gui/view?id-product-offer={{idProductOffer}}`, you can see the `Stock` section.
-
-{% endinfo_block %}
-
-**src/Pyz/Zed/ProductOffer/ProductOfferDependencyProvider.php**
-
-```php
-
- */
- protected function getProductOfferPostCreatePlugins(): array
- {
- return [
- new ProductOfferStockProductOfferPostCreatePlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\ProductOfferExtension\Dependency\Plugin\ProductOfferPostUpdatePluginInterface>
- */
- protected function getProductOfferPostUpdatePlugins(): array
- {
- return [
- new ProductOfferStockProductOfferPostUpdatePlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\ProductOfferExtension\Dependency\Plugin\ProductOfferExpanderPluginInterface>
- */
- protected function getProductOfferExpanderPlugins(): array
- {
- return [
- new ProductOfferStockProductOfferExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you create a product offer using `ProductOfferFacade::create()` with provided stock data, it persists to `spy_product_offer_stock`.
-
-Make sure that when you update a product offer using `ProductOfferFacade::create()` with provided stock data, it updates stock data in `spy_product_offer_stock`.
-
-Make sure that when you retrieve a product offer using `ProductOfferFacade::findOne()`, the response data contains info about product offer stocks.
-
-{% endinfo_block %}
-
-**src/Pyz/Zed/Availability/AvailabilityDependencyProvider.php**
-
-```php
-
- */
- protected function getAvailabilityStrategyPlugins(): array
- {
- return [
- new ProductOfferAvailabilityStrategyPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that `AvailabilityFacade::findOrCreateProductConcreteAvailabilityBySkuForStore()` returns not a product but a product offer availability if the product offer reference passed in the request.
-
-{% endinfo_block %}
-
-### 6) Configure export to Redis
-
-This step publishes tables on change (create, edit) to the `spy_product_offer_availability_storage` and synchronize the data to the storage.
-
-#### Set up event listeners and publishers
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| ProductOfferAvailabilityStorageEventSubscriber | Registers listeners that are responsible for publishing product offer availability related changes to storage. | | Spryker\Zed\ProductOfferAvailabilityStorage\Communication\Plugin\Event\Subscriber |
-
-**src/Pyz/Zed/Event/EventDependencyProvider.php**
-
-```php
-add(new ProductOfferAvailabilityStorageEventSubscriber());
-
- return $eventSubscriberCollection;
- }
-}
-```
-
-#### Register the synchronization queue and synchronization error queue
-
-**src/Pyz/Client/RabbitMq/RabbitMqConfig.php**
-
-```php
- QueueNameFoo, (Queue and error queue will be created: QueueNameFoo and QueueNameFoo.error)
- * QueueNameBar => [
- * RoutingKeyFoo => QueueNameBaz, // (Additional queues can be defined by several routing keys)
- * ],
- *
- * @see https://www.rabbitmq.com/tutorials/amqp-concepts.html
- *
- * @return array
- */
- protected function getQueueConfiguration(): array
- {
- return [
- ProductOfferAvailabilityStorageConfig::PRODUCT_OFFER_AVAILABILITY_SYNC_STORAGE_QUEUE,
- ];
- }
-}
-```
-
-#### Configure message processors
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| SynchronizationStorageQueueMessageProcessorPlugin | Configures all product offer availability messages to sync with Redis storage, and marks messages as failed in case of error. | | Spryker\Zed\Synchronization\Communication\Plugin\Queue |
-
-**src/Pyz/Zed/ProductOfferAvailabilityStorage/ProductOfferAvailabilityStorageConfig.php**
-
-```php
-
- */
- protected function getProcessorMessagePlugins(Container $container)
- {
- return [
- ProductOfferAvailabilityStorageConfig::PRODUCT_OFFER_AVAILABILITY_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
- ];
- }
-}
-```
-
-#### Set up, re-generate, and re-sync features
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| ProductOfferAvailabilitySynchronizationDataBulkPlugin | Allows synchronizing the entire storage table content into Storage. | | Spryker\Zed\ProductOfferAvailabilityStorage\Communication\Plugin\Synchronization |
-
-**src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php**
-
-```php
-
- */
- protected function getSynchronizationDataPlugins(): array
- {
- return [
- new ProductOfferAvailabilitySynchronizationDataBulkPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the command `console sync:data merchant_profile` exports data from `spy_product_offer_availability_storage` table to Redis.
-
-Make sure that when a product offer availability entities get created or updated through ORM, it is exported to Redis accordingly.
-
-{% endinfo_block %}
-
-### 7) Import data
-
-Import the following data.
-
-#### Import merchant stock data
-
-Prepare your data according to your requirements using the demo data:
-
-**data/import/common/common/marketplace/merchant_stock.csv**
-
-```
-merchant_reference,stock_name
-MER000001,Spryker MER000001 Warehouse 1
-MER000002,Video King MER000002 Warehouse 1
-MER000005,Budget Cameras MER000005 Warehouse 1
-MER000006,Sony Experts MER000006 Warehouse 1
-```
-
-| COLUMN | REQUIRED | DATA TYPE | DATA EXAMPLE | DATA EXPLANATION |
-|-|-|-|-|-|
-| merchant_reference | ✓ | string | MER000001 | Merchant identifier. |
-| stock_name | ✓ | string | Spryker MER000001 Warehouse 1 | Stock identifier. |
-
-#### Import product offer stock data
-
-**data/import/common/common/marketplace/product_offer_stock.csv**
-
-
-Prepare your data according to your requirements using the demo data:
-
-```
-product_offer_reference,stock_name,quantity,is_never_out_of_stock
-offer1,Spryker MER000001 Warehouse 1,10,1
-offer2,Video King MER000002 Warehouse 1,0,0
-offer3,Spryker MER000001 Warehouse 1,10,0
-offer4,Video King MER000002 Warehouse 1,0,0
-offer5,Spryker MER000001 Warehouse 1,10,1
-offer6,Video King MER000002 Warehouse 1,10,0
-offer8,Video King MER000002 Warehouse 1,0,0
-offer9,Video King MER000002 Warehouse 1,0,0
-offer10,Video King MER000002 Warehouse 1,0,0
-offer11,Video King MER000002 Warehouse 1,0,0
-offer12,Video King MER000002 Warehouse 1,0,0
-offer13,Video King MER000002 Warehouse 1,0,0
-offer14,Video King MER000002 Warehouse 1,0,0
-offer15,Video King MER000002 Warehouse 1,0,0
-offer16,Video King MER000002 Warehouse 1,0,0
-offer17,Video King MER000002 Warehouse 1,0,0
-offer18,Video King MER000002 Warehouse 1,10,0
-offer19,Video King MER000002 Warehouse 1,10,0
-offer20,Video King MER000002 Warehouse 1,10,0
-offer21,Video King MER000002 Warehouse 1,10,0
-offer22,Video King MER000002 Warehouse 1,10,0
-offer23,Video King MER000002 Warehouse 1,10,0
-offer24,Video King MER000002 Warehouse 1,10,0
-offer25,Video King MER000002 Warehouse 1,10,0
-offer26,Video King MER000002 Warehouse 1,10,0
-offer27,Video King MER000002 Warehouse 1,10,0
-offer28,Video King MER000002 Warehouse 1,10,0
-offer29,Video King MER000002 Warehouse 1,10,0
-offer30,Video King MER000002 Warehouse 1,10,1
-offer31,Video King MER000002 Warehouse 1,10,1
-offer32,Video King MER000002 Warehouse 1,10,1
-offer33,Video King MER000002 Warehouse 1,10,1
-offer34,Video King MER000002 Warehouse 1,5,1
-offer35,Video King MER000002 Warehouse 1,5,1
-offer36,Video King MER000002 Warehouse 1,5,1
-offer37,Video King MER000002 Warehouse 1,5,1
-offer38,Video King MER000002 Warehouse 1,5,1
-offer39,Video King MER000002 Warehouse 1,2,1
-offer40,Video King MER000002 Warehouse 1,2,1
-offer41,Video King MER000002 Warehouse 1,2,1
-offer42,Video King MER000002 Warehouse 1,2,1
-offer43,Video King MER000002 Warehouse 1,2,1
-offer44,Video King MER000002 Warehouse 1,20,1
-offer45,Video King MER000002 Warehouse 1,20,1
-offer46,Video King MER000002 Warehouse 1,20,1
-offer47,Video King MER000002 Warehouse 1,20,1
-offer48,Video King MER000002 Warehouse 1,20,1
-offer49,Budget Cameras MER000005 Warehouse 1,0,1
-offer50,Budget Cameras MER000005 Warehouse 1,0,1
-offer51,Budget Cameras MER000005 Warehouse 1,0,1
-offer52,Budget Cameras MER000005 Warehouse 1,0,1
-offer53,Budget Cameras MER000005 Warehouse 1,0,1
-offer54,Budget Cameras MER000005 Warehouse 1,0,1
-offer55,Budget Cameras MER000005 Warehouse 1,0,1
-offer56,Budget Cameras MER000005 Warehouse 1,0,1
-offer57,Budget Cameras MER000005 Warehouse 1,0,1
-offer58,Budget Cameras MER000005 Warehouse 1,0,1
-offer59,Budget Cameras MER000005 Warehouse 1,0,1
-offer60,Budget Cameras MER000005 Warehouse 1,0,1
-offer61,Budget Cameras MER000005 Warehouse 1,0,1
-offer62,Budget Cameras MER000005 Warehouse 1,0,1
-offer63,Budget Cameras MER000005 Warehouse 1,0,1
-offer64,Budget Cameras MER000005 Warehouse 1,0,1
-offer65,Budget Cameras MER000005 Warehouse 1,0,1
-offer66,Budget Cameras MER000005 Warehouse 1,0,1
-offer67,Budget Cameras MER000005 Warehouse 1,0,1
-offer68,Budget Cameras MER000005 Warehouse 1,0,1
-offer69,Budget Cameras MER000005 Warehouse 1,0,1
-offer70,Budget Cameras MER000005 Warehouse 1,0,1
-offer71,Budget Cameras MER000005 Warehouse 1,0,1
-offer72,Budget Cameras MER000005 Warehouse 1,0,1
-offer73,Budget Cameras MER000005 Warehouse 1,0,1
-offer74,Budget Cameras MER000005 Warehouse 1,0,1
-offer75,Budget Cameras MER000005 Warehouse 1,0,1
-offer76,Budget Cameras MER000005 Warehouse 1,0,1
-offer77,Budget Cameras MER000005 Warehouse 1,0,1
-offer78,Budget Cameras MER000005 Warehouse 1,0,1
-offer79,Budget Cameras MER000005 Warehouse 1,0,1
-offer80,Budget Cameras MER000005 Warehouse 1,0,1
-offer81,Budget Cameras MER000005 Warehouse 1,0,1
-offer82,Budget Cameras MER000005 Warehouse 1,0,1
-offer83,Budget Cameras MER000005 Warehouse 1,0,1
-offer84,Budget Cameras MER000005 Warehouse 1,0,1
-offer85,Budget Cameras MER000005 Warehouse 1,0,1
-offer86,Budget Cameras MER000005 Warehouse 1,0,1
-offer87,Budget Cameras MER000005 Warehouse 1,0,1
-offer88,Budget Cameras MER000005 Warehouse 1,0,1
-offer89,Budget Cameras MER000005 Warehouse 1,0,1
-offer90,Sony Experts MER000006 Warehouse 1,0,1
-offer91,Sony Experts MER000006 Warehouse 1,0,1
-offer92,Sony Experts MER000006 Warehouse 1,0,1
-offer93,Sony Experts MER000006 Warehouse 1,0,1
-offer94,Sony Experts MER000006 Warehouse 1,0,1
-offer95,Sony Experts MER000006 Warehouse 1,0,1
-offer96,Sony Experts MER000006 Warehouse 1,0,1
-offer97,Sony Experts MER000006 Warehouse 1,0,1
-offer98,Sony Experts MER000006 Warehouse 1,0,1
-offer99,Sony Experts MER000006 Warehouse 1,0,1
-offer100,Sony Experts MER000006 Warehouse 1,0,1
-offer101,Sony Experts MER000006 Warehouse 1,0,1
-offer102,Sony Experts MER000006 Warehouse 1,0,1
-offer103,Sony Experts MER000006 Warehouse 1,0,1
-offer169,Sony Experts MER000006 Warehouse 1,0,1
-offer170,Sony Experts MER000006 Warehouse 1,0,1
-offer171,Sony Experts MER000006 Warehouse 1,0,1
-offer172,Sony Experts MER000006 Warehouse 1,0,1
-offer173,Sony Experts MER000006 Warehouse 1,0,1
-offer348,Sony Experts MER000006 Warehouse 1,0,1
-offer349,Sony Experts MER000006 Warehouse 1,0,1
-offer350,Sony Experts MER000006 Warehouse 1,0,1
-offer351,Sony Experts MER000006 Warehouse 1,0,1
-offer352,Sony Experts MER000006 Warehouse 1,0,1
-offer353,Sony Experts MER000006 Warehouse 1,0,1
-offer354,Sony Experts MER000006 Warehouse 1,0,1
-offer355,Sony Experts MER000006 Warehouse 1,0,1
-offer356,Sony Experts MER000006 Warehouse 1,0,1
-offer357,Sony Experts MER000006 Warehouse 1,0,1
-offer358,Sony Experts MER000006 Warehouse 1,0,1
-offer359,Sony Experts MER000006 Warehouse 1,0,1
-offer360,Sony Experts MER000006 Warehouse 1,0,1
-```
-
-
-
-| COLUMN | REQUIRED | DATA TYPE | DATA EXAMPLE | DATA EXPLANATION |
-|-|-|-|-|-|
-| product_offer_reference | ✓ | string | offer350 | Product offer identifier. |
-| stock_name | ✓ | string | Spryker MER000001 Warehouse 1 | Stock identifier. |
-| quantity | ✓ | int | 21 | The amount of available product offers. |
-| is_never_out_of_stock | ✓ | int | 1 | Flag that lets you make product offer always available, ignoring stock quantity. |
-
-Register the following plugins to enable data import:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| MerchantStockDataImportPlugin | Imports merchant stock data into the database. | | Spryker\Zed\MerchantStockDataImport\Communication\Plugin |
-| ProductOfferStockDataImportPlugin | Imports product offer stock data into the database. | | Spryker\Zed\ProductOfferStockDataImport\Communication\Plugin |
-
-**src/Pyz/Zed/DataImport/DataImportDependencyProvider.php**
-
-```php
-
- */
- protected function getOmsReservationAggregationPlugins(): array
- {
- return [
- new ProductOfferOmsReservationAggregationPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\OmsExtension\Dependency\Plugin\OmsReservationWriterStrategyPluginInterface>
- */
- protected function getOmsReservationWriterStrategyPlugins(): array
- {
- return [
- new ProductOfferOmsReservationWriterStrategyPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\OmsExtension\Dependency\Plugin\ReservationPostSaveTerminationAwareStrategyPluginInterface>
- */
- protected function getReservationPostSaveTerminationAwareStrategyPlugins(): array
- {
- return [
- new ProductOfferReservationPostSaveTerminationAwareStrategyPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\OmsExtension\Dependency\Plugin\OmsReservationReaderStrategyPluginInterface>
- */
- protected function getOmsReservationReaderStrategyPlugins(): array
- {
- return [
- new ProductOfferOmsReservationReaderStrategyPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure if you add a product offer to the cart, place the order, reserved product offers count changes in the `spy_oms_product_offer_reservation` table.
-
-Make sure that a product offer is available at PDP if its stock > 0 in the `spy_product_offer_stock` table.
-
-Make sure that the concrete product availability (in the `spy_availability` table) are not affected when you place an order with a product offer.
-
-{% endinfo_block %}
-
-**src/Pyz/Zed/ProductOfferStockGui/ProductOfferStockGuiDependencyProvider.php**
-
-```php
-
- */
- protected function getProductOfferStockTableExpanderPlugins(): array
- {
- return [
- new ProductOfferReservationProductOfferStockTableExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you view some product offer at `http://zed.de.demo-spryker.com/product-offer-gui/view?id-product-offer={idProductOffer}}`, you can see the `Stock` section.
-
-Make sure that if you open some product offer in view mode at `http://zed.mysprykershop.com/product-offer-gui/view?id-product-offer={% raw %}{{idProductOffer}}{% endraw %}`, stock table contains the `Reservations` column.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-packaging-units-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-packaging-units-feature-integration.md
deleted file mode 100644
index 9a6abc0db48..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-inventory-management-packaging-units-feature-integration.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Marketplace Inventory Management + Packaging Units feature integration
-last_updated: Sep 07, 2021
-description: This document describes the process how to integrate the Marketplace Inventory Management + Packaging Units feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Inventory Management + Packaging Units feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Inventory Management + Packaging Units feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Packaging Units | {{page.version}} | [Packaging Units feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/packaging-units-feature-integration.html) |
-| Marketplace Inventory Management | {{page.version}} | [Marketplace Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-inventory-management-feature-integration.html) |
-| Marketplace Order Management | {{page.version}} | [Marketplace Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-order-management-feature-integration.html) |
-
-### 1) Set up behavior
-
-Activate the following plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| ProductOfferPackagingUnitOmsReservationAggregationPlugin | Aggregates reservations for product offers packaging unit. | | Spryker\Zed\ProductOfferPackagingUnit\Communication\Plugin\Oms |
-
-**src/Pyz/Zed/Oms/OmsDependencyProvider.php**
-
-```php
-
- */
- protected function getOmsReservationAggregationPlugins(): array
- {
- return [
- new ProductOfferPackagingUnitOmsReservationAggregationPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that availability is calculated properly for the product offers that belong to the product with packaging units.
-
-* Add such a product offer to the cart.
-* Place an order.
-* Make sure that `spy_oms_product_offer_reservation` contains a new row, which has reserved the quantity equal to the amount of the bought packaging unit.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-merchant-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-merchant-feature-integration.md
deleted file mode 100644
index 78a27c8e32e..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/marketplace-merchant-feature-integration.md
+++ /dev/null
@@ -1,1480 +0,0 @@
----
-title: Marketplace Merchant feature integration
-last_updated: Oct 19, 2021
-description: This integration guide provides steps on how to integrate the Merchants feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Marketplace Merchant feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Marketplace Merchant feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION |INTEGRATION GUIDE |
-| --- | --- | --- |
-| Spryker Core | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) |
-| Merchant | {{page.version}} | [Merchant feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/merchant-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker-feature/marketplace-merchant:"{{page.version}}" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| --- | --- |
-| MerchantProfile | vendor/spryker/merchant-profile |
-| MerchantProfileDataImport | vendor/spryker/merchant-profile-data-import |
-| MerchantProfileGui | vendor/spryker/merchant-profile-gui |
-| MerchantSearch | vendor/spryker/merchant-search |
-| MerchantSearchExtension | vendor/spryker/merchant-search-extension |
-| MerchantUser | vendor/spryker/merchant-user |
-| MerchantUserGui | vendor/spryker/merchant-user-gui |
-| MerchantStorage | vendor/spryker/merchant-storage |
-
-{% endinfo_block %}
-
-### 2) Set up database schema and transfer objects
-
-Set up database schema:
-
-1. Adjust the schema definition so entity changes trigger events:
-
-**src/Pyz/Zed/MerchantSearch/Persistence/Propel/Schema/spy_merchant_search.schema.xml**
-
-```xml
-
-
-
-
-
-
-
-
-
-
-
-```
-
-2. Apply database changes, generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have occurred in the database:
-
-| DATABASE ENTITY | TYPE | EVENT |
-|---|---|---|
-| spy_merchant_storage | table | created |
-| spy_merchant_search | table | created |
-| spy_merchant_profile | table | created |
-| spy_merchant_user | table | created |
-
-{% endinfo_block %}
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have occurred in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|---|---|---|---|
-| MerchantProfileAddress | class | Created | src/Generated/Shared/Transfer/MerchantProfileAddressTransfer |
-| MerchantProfileCollection | class | Created | src/Generated/Shared/Transfer/MerchantProfileCollectionTransfer|
-| MerchantProfileCriteria | class | Created | src/Generated/Shared/Transfer/MerchantProfileCriteriaTransfer |
-| MerchantProfileGlossaryAttributeValues | class | Created | src/Generated/Shared/Transfer/MerchantProfileGlossaryAttributeValuesTransfer |
-| MerchantProfileLocalizedGlossaryAttributes | class | Created | src/Generated/Shared/Transfer/MerchantProfileLocalizedGlossaryAttributesTransfer |
-| MerchantSearch | class | Created | src/Generated/Shared/Transfer/MerchantSearchTransfer |
-| MerchantSearchCollection | class | Created | src/Generated/Shared/Transfer/MerchantSearchCollectionTransfer |
-| MerchantUser | class | Created | src/Generated/Shared/Transfer/MerchantUserTransfer |
-| MerchantUserCriteria | class | Created | src/Generated/Shared/Transfer/MerchantUserCriteriaTransfer |
-| MerchantUserResponse | class | Created | src/Generated/Shared/Transfer/MerchantUserResponseTransfer |
-| SpyMerchantProfileEntity | class | Created | src/Generated/Shared/Transfer/SpyMerchantProfileEntityTransfer |
-| SpyMerchantSearchEntity | class | Created | src/Generated/Shared/Transfer/SpyMerchantSearchEntityTransfer |
-| SpyMerchantStorageEntity | class | Created | src/Generated/Shared/Transfer/SpyMerchantStorageEntityTransfer |
-| SpyMerchantUserEntity | class | Created |src/Generated/Shared/Transfer/SpyMerchantUserEntityTransfer |
-| UrlStorage.fkResourceMerchant | property | Created |src/Generated/Shared/Transfer/UrlStorageTransfer |
-
-{% endinfo_block %}
-
-
-### 3) Add Zed translations
-
-Generate new translation cache for Zed:
-
-```bash
-console translator:generate-cache
-```
-
-### 4) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| MerchantProfileExpanderPlugin | Expands merchant with profile data.| | Spryker\Zed\MerchantProfile\Communication\Plugin\Merchant |
-| MerchantProfileMerchantPostCreatePlugin | Creates merchant profile on merchant create action. | | Spryker\Zed\MerchantProfile\Communication\Plugin\Merchant|
-| MerchantProfileMerchantPostUpdatePlugin| Updates merchant profile on merchant update action.m| | Spryker\Zed\MerchantProfile\Communication\Plugin\Merchant |
-| MerchantProfileContactPersonFormTabExpanderPlugin | Adds an extra tab to merchant edit and create forms for editing and creating contact person data. | | Spryker\Zed\MerchantProfileGui\Communication\Plugin\MerchantGui\Tabs |
-| MerchantProfileFormTabExpanderPlugin | Adds an extra tab to merchant edit and create forms for editing and creating merchant profile data. | | Spryker\Zed\MerchantProfileGui\Communication\Plugin\MerchantGui\Tabs |
-| MerchantProfileLegalInformationFormTabExpanderPlugin | Adds an extra tab to merchant edit and create forms for editing and creating merchant legal information. | | Spryker\Zed\MerchantProfileGui\Communication\Plugin\MerchantGui\Tabs |
-| MerchantProfileFormExpanderPlugin | Expands MerchantForm with merchant profile fields. | | Spryker\Zed\MerchantProfileGui\Communication\Plugin\MerchantGui |
-| SyncMerchantUsersStatusMerchantPostUpdatePlugin | Updates merchant users status by merchant status on merchant update. | | Spryker\Zed\MerchantUser\Communication\Plugin\Merchant |
-| MerchantUserTabMerchantFormTabExpanderPlugin | Adds an extra tab to merchant edit and create forms for editing and creating merchant user information. | | Spryker\Zed\MerchantUserGui\Communication\Plugin\MerchantGui |
-| MerchantUserViewMerchantUpdateFormViewExpanderPlugin | Expands merchant `FormView` with the data for the merchant user tab. | | Spryker\Zed\MerchantUserGui\Communication\Plugin\MerchantGui |
-
-src/Pyz/Zed/Merchant/MerchantDependencyProvider.php
-
-```php
-
- */
- protected function getMerchantPostCreatePlugins(): array
- {
- return [
- new MerchantProfileMerchantPostCreatePlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\MerchantExtension\Dependency\Plugin\MerchantPostUpdatePluginInterface>
- */
- protected function getMerchantPostUpdatePlugins(): array
- {
- return [
- new MerchantProfileMerchantPostUpdatePlugin(),
- new SyncMerchantUsersStatusMerchantPostUpdatePlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\MerchantExtension\Dependency\Plugin\MerchantExpanderPluginInterface>
- */
- protected function getMerchantExpanderPlugins(): array
- {
- return [
- new MerchantProfileExpanderPlugin(),
- ];
- }
-}
-```
-
-
-
-{% info_block warningBox "Verification" %}
-
-Make sure that:
-
-* When you create a merchant using `MerchantFacade::createMerchant()`, its profile also gets created.
-* When you update a merchant using `MerchantFacade::updateMerchant()`, its profile also gets updated.
-* When you fetch a merchant using `MerchantFacade::findOne()`, its profile data also gets fetched.
-
-{% endinfo_block %}
-
-src/Pyz/Zed/MerchantGui/MerchantGuiDependencyProvider.php
-
-```php
-
- */
- protected function getMerchantFormExpanderPlugins(): array
- {
- return [
- new MerchantProfileFormExpanderPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\MerchantGuiExtension\Dependency\Plugin\MerchantFormTabExpanderPluginInterface>
- */
- protected function getMerchantFormTabsExpanderPlugins(): array
- {
- return [
- new MerchantProfileContactPersonFormTabExpanderPlugin(),
- new MerchantProfileFormTabExpanderPlugin(),
- new MerchantProfileLegalInformationFormTabExpanderPlugin(),
- new MerchantUserTabMerchantFormTabExpanderPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\MerchantGuiExtension\Dependency\Plugin\MerchantUpdateFormViewExpanderPluginInterface>
- */
- protected function getMerchantUpdateFormViewExpanderPlugins(): array
- {
- return [
- new MerchantUserViewMerchantUpdateFormViewExpanderPlugin(),
- ];
- }
-
-}
-
-```
-
-
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when you edit a merchant in the *Merchants* section of the Back Office, you can see merchant profile related tabs: Contact Person, Merchant Profile, Legal Information, Merchant User.
-
-{% endinfo_block %}
-
-### 5) Configure navigation
-
-Add marketplace section to `navigation.xml`:
-
-**config/Zed/navigation.xml**
-
-```xml
-
-
-
-
- Marketplace
- fa-shopping-basket
-
-
-
- Merchants
- merchant-gui
- list-merchant
- index
-
-
-
-
-```
-
-Execute the following command:
-```bash
-console navigation:build-cache
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that you can see the **Marketplace** button in the navigation menu of the Back Office.
-
-{% endinfo_block %}
-
-### 6) Configure export to Redis and Elasticsearch
-
-This step publishes tables on change (create, edit) to `spy_merchant_profile_storage` and synchronizes data to Storage.
-
-#### Configure export to Redis
-
-1. Set up event listeners and publishers:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| MerchantPublisherTriggerPlugin | Registers the publishers that publish merchant entity changes to storage. | | Spryker\Zed\MerchantStorage\Communication\Plugin\Publisher\MerchantPublisherTriggerPlugin |
-| MerchantStoragePublisherPlugin | Publishes merchant data to the `spy_merchant_storage` table. | | Spryker\Zed\MerchantStorage\Communication\Plugin\Publisher\Merchant\MerchantStoragePublisherPlugin |
-
-**src/Pyz/Zed/Publisher/PublisherDependencyProvider.php**
-
-```php
-
- */
- protected function getPublisherPlugins(): array
- {
- return [
- new MerchantStoragePublisherPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\PublisherExtension\Dependency\Plugin\PublisherTriggerPluginInterface>
- */
- protected function getPublisherTriggerPlugins(): array
- {
- return [
- new MerchantPublisherTriggerPlugin(),
- ];
- }
-}
-```
-
-2. Register synchronization and synchronization error queues:
-
-**src/Pyz/Client/RabbitMq/RabbitMqConfig.php**
-
-```php
- QueueNameFoo, (Queue and error queue will be created: QueueNameFoo and QueueNameFoo.error)
- * QueueNameBar => [
- * RoutingKeyFoo => QueueNameBaz, // (Additional queues can be defined by several routing keys)
- * ],
- *
- * @see https://www.rabbitmq.com/tutorials/amqp-concepts.html
- *
- * @return array
- */
- protected function getQueueConfiguration(): array
- {
- return [
- MerchantStorageConfig::MERCHANT_SYNC_STORAGE_QUEUE,
- ];
- }
-}
-
-```
-
-3. Configure message processors:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| SynchronizationStorageQueueMessageProcessorPlugin | Configures all merchant profile messages to synchronize with Redis and marks messages as failed in case of an error. | | Spryker\Zed\Synchronization\Communication\Plugin\Queue |
-
-**src/Pyz/Zed/MerchantStorage/MerchantStorageConfig.php**
-
-```php
-
- */
- protected function getProcessorMessagePlugins(Container $container)
- {
- return [
- MerchantStorageConfig::MERCHANT_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
- ];
- }
-}
-```
-
-4. Set up re-generate and re-sync features:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| MerchantSynchronizationDataPlugin | Enables the content of an entire storage table to be synchronized into Storage. | | Spryker\Zed\MerchantStorage\Communication\Plugin\Synchronization |
-
-**src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php**
-
-```php
-
- */
- protected function getSynchronizationDataPlugins(): array
- {
- return [
- new MerchantSynchronizationDataPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that when merchant profile entities are created or updated through ORM, they are exported to Redis accordingly.
-
-{% endinfo_block %}
-
-
-##### Configure export to Elastica
-
-This step publishes tables on change (create, edit) to `spy_merchant_search` and synchronizes the data to Search.
-
-1. Setup event listeners and publishers by registering the plugins:
-**src/Pyz/Zed/Publisher/PublisherDependencyProvider.php**
-
-```php
-
- */
- protected function getPublisherPlugins(): array
- {
- return [
- new MerchantWritePublisherPlugin(),
- new MerchantDeletePublisherPlugin(),
- ];
- }
-}
-```
-
-2. Register synchronization queue:
-**src/Pyz/Client/RabbitMq/RabbitMqConfig.php**
-
-```php
-
- */
- protected function getProcessorMessagePlugins(Container $container)
- {
- return [
- MerchantSearchConfig::SYNC_SEARCH_MERCHANT => new SynchronizationSearchQueueMessageProcessorPlugin(),
- ];
- }
-}
-```
-
-4. Setup re-generate and re-sync features:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| MerchantSynchronizationDataBulkRepositoryPlugin | Synchronizes the entire search table content into Search. | | Spryker\Zed\MerchantSearch\Communication\Plugin\Synchronization |
-
-**src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php**
-
-```php
-
- */
- protected function getSynchronizationDataPlugins(): array
- {
- return [
- new MerchantSynchronizationDataBulkRepositoryPlugin(),
- ];
- }
-}
-```
-
-5. Configure a synchronization pool name:
-
-**src/Pyz/Zed/MerchantSearch/MerchantSearchConfig.php**
-
-```php
-
- */
- protected function getMerchantSearchResultFormatterPlugins(): array
- {
- return [
- new MerchantSearchResultFormatterPlugin(),
- ];
- }
-}
-```
-
-7. Set up query expanders:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-|----|----|----|----|
-| PaginatedMerchantSearchQueryExpanderPlugin | Allows using pagination for merchant search. | | Spryker\Client\MerchantSearch\Plugin\Elasticsearch\Query |
-| StoreQueryExpanderPlugin | Allows searching to filter out merchants that do not belong to the current store. | | Spryker\Client\SearchElasticsearch\Plugin\QueryExpander |
-
-**src/Pyz/Client/MerchantSearch/MerchantSearchDependencyProvider.php**
-
-```php
-
- */
- protected function getMerchantSearchQueryExpanderPlugins(): array
- {
- return [
- new PaginatedMerchantSearchQueryExpanderPlugin(),
- new StoreQueryExpanderPlugin(),
- ];
- }
-}
-```
-8. Add the `merchant` resource to the supported search sources:
-
-**src/Pyz/Shared/SearchElasticsearch/SearchElasticsearchConfig.php**
-
-```php
-
-Example of the expected data fragment
-
- ```json
-
- {
- "idMerchant": 1,
- "name": "Sony Experts",
- "registrationNumber": "HYY 134306",
- "email": "michele@sony-experts.com",
- "status": "approved",
- "isActive": true,
- "merchantReference": "MER000006",
- "fkStateMachineProcess": 1,
- "storeRelation": {
- "idEntity": 1,
- "idStores": [
- 1
- ],
- "stores": [
- {
- "availableLocaleIsoCodes": [],
- "queuePools": [],
- "storesWithSharedPersistence": [],
- "idStore": 1,
- "name": "DE",
- "defaultCurrencyIsoCode": null,
- "availableCurrencyIsoCodes": [],
- "selectedCurrencyIsoCode": null,
- "timezone": null,
- "countries": []
- }
- ]
- },
- "addressCollection": null,
- "merchantProfile": {
- "idMerchantProfile": 3,
- "contactPersonRole": "Brand Manager",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Michele",
- "contactPersonLastName": "Nemeth",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png",
- "publicEmail": "support@sony-experts.com",
- "publicPhone": "+49 30 234567691",
- "descriptionGlossaryKey": "merchant.description_glossary_key.1",
- "bannerUrlGlossaryKey": "merchant.banner_url_glossary_key.1",
- "deliveryTimeGlossaryKey": "merchant.delivery_time_glossary_key.1",
- "termsConditionsGlossaryKey": "merchant.terms_conditions_glossary_key.1",
- "cancellationPolicyGlossaryKey": "merchant.cancellation_policy_glossary_key.1",
- "imprintGlossaryKey": "merchant.imprint_glossary_key.1",
- "dataPrivacyGlossaryKey": "merchant.data_privacy_glossary_key.1",
- "fkMerchant": 1,
- "merchantName": "Sony Experts",
- "latitude": "11.547788",
- "longitude": "48.131058",
- "faxNumber": "+49 30 234567600",
- "merchantReference": "MER000006",
- "bannerUrl": null,
- "addressCollection": {
- "addresses": [
- {
- "idMerchantProfileAddress": 3,
- "fkCountry": 60,
- "countryName": "Germany",
- "address1": "Matthias-Pschorr-Straße",
- "address2": "1",
- "address3": "",
- "city": "München",
- "zipCode": "80336",
- "email": null,
- "fkMerchantProfile": 3
- }
- ]
- },
- "merchantProfileLocalizedGlossaryAttributes": []
- },
- "urlCollection": [
- {
- "url": "/de/merchant/sony-experts",
- "resourceType": null,
- "resourceId": null,
- "fkLocale": 46,
- "idUrl": 505,
- "fkResourceCategorynode": null,
- "fkRedirect": null,
- "fkResourcePage": null,
- "fkResourceRedirect": null,
- "fkResourceMerchant": 1,
- "urlPrefix": null,
- "localeName": "de_DE",
- "fkResourceProductAbstract": null,
- "fkResourceProductSet": null,
- "itemType": null,
- "itemId": null,
- "fkProductAbstract": null,
- "fkCategorynode": null,
- "fkPage": null
- },
- {
- "url": "/en/merchant/sony-experts",
- "resourceType": null,
- "resourceId": null,
- "fkLocale": 66,
- "idUrl": 506,
- "fkResourceCategorynode": null,
- "fkRedirect": null,
- "fkResourcePage": null,
- "fkResourceRedirect": null,
- "fkResourceMerchant": 1,
- "urlPrefix": null,
- "localeName": "en_US",
- "fkResourceProductAbstract": null,
- "fkResourceProductSet": null,
- "itemType": null,
- "itemId": null,
- "fkProductAbstract": null,
- "fkCategorynode": null,
- "fkPage": null
- }
- ],
- "categories": [
- {
- "idCategory": 2,
- "categoryKey": "cameras-and-camcorder",
- "isActive": true,
- "isInMenu": true,
- "isClickable": true,
- "isSearchable": true,
- "name": null,
- "url": null,
- "imageName": null,
- "categoryImageName": null,
- "metaTitle": null,
- "metaDescription": null,
- "metaKeywords": null,
- "fkCategoryTemplate": 1,
- "idCmsBlocks": [],
- "categoryNode": null,
- "nodeCollection": null,
- "parentCategoryNode": null,
- "localizedAttributes": [
- {
- "name": "Kameras & Camcorders",
- "url": null,
- "metaTitle": "Kameras & Camcorders",
- "metaDescription": "Kameras & Camcorders",
- "metaKeywords": "Kameras & Camcorders",
- "locale": {
- "idLocale": 46,
- "localeName": "de_DE",
- "name": null,
- "isActive": true
- },
- "image": null
- },
- {
- "name": "Cameras & Camcordersshhhhjjj",
- "url": null,
- "metaTitle": "Cameras & Camcorders",
- "metaDescription": "Cameras & Camcorders",
- "metaKeywords": "Cameras & Camcorders",
- "locale": {
- "idLocale": 66,
- "localeName": "en_US",
- "name": null,
- "isActive": true
- },
- "image": null
- }
- ],
- "extraParents": [],
- "imageSets": []
- }
- ],
- "stocks": [
- {
- "idStock": 7,
- "name": "Sony Experts MER000006 Warehouse 1",
- "isActive": true,
- "storeRelation": null
- }
- ]
-}
-
- ```
-
-
-### 7) Import data
-
-To import data:
-
-1. Prepare merchant profile data according to your requirements using the demo data:
-
-
-/data/import/common/common/marketplace/merchant_profile.csv
-
-```
-merchant_reference,contact_person_role,contact_person_title,contact_person_first_name,contact_person_last_name,contact_person_phone,banner_url,logo_url,public_email,public_phone,description_glossary_key.en_US,description_glossary_key.de_DE,banner_url_glossary_key.en_US,banner_url_glossary_key.de_DE,delivery_time_glossary_key.en_US,delivery_time_glossary_key.de_DE,terms_conditions_glossary_key.en_US,terms_conditions_glossary_key.de_DE,cancellation_policy_glossary_key.en_US,cancellation_policy_glossary_key.de_DE,imprint_glossary_key.en_US,imprint_glossary_key.de_DE,data_privacy_glossary_key.en_US,data_privacy_glossary_key.de_DE,is_active,fax_number
-MER000001,E-Commerce Manager,Mr,Harald,Schmidt,+49 30 208498350,https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-logo.png,info@spryker.com,+49 30 234567891,Spryker is the main merchant at the Demo Marketplace.,Spryker ist der Haupthändler auf dem Demo-Marktplatz.,https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-banner.png,1-3 days,1-3 Tage,"
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
","
§ 1 Geltungsbereich & Abwehrklausel
(1) Für die über diesen Internet-Shop begründeten Rechtsbeziehungen zwischen dem Betreiber des Shops (nachfolgend „Anbieter“) und seinen Kunden gelten ausschließlich die folgenden Allgemeinen Geschäftsbedingungen in der jeweiligen Fassung zum Zeitpunkt der Bestellung.
(2) Abweichende Allgemeine Geschäftsbedingungen des Kunden werden zurückgewiesen.
§ 2 Zustandekommen des Vertrages
(1) Die Präsentation der Waren im Internet-Shop stellt kein bindendes Angebot des Anbieters auf Abschluss eines Kaufvertrages dar. Der Kunde wird hierdurch lediglich aufgefordert, durch eine Bestellung ein Angebot abzugeben.
(2) Durch das Absenden der Bestellung im Internet-Shop gibt der Kunde ein verbindliches Angebot gerichtet auf den Abschluss eines Kaufvertrages über die im Warenkorb enthaltenen Waren ab. Mit dem Absenden der Bestellung erkennt der Kunde auch diese Geschäftsbedingungen als für das Rechtsverhältnis mit dem Anbieter allein maßgeblich an.
(3) Der Anbieter bestätigt den Eingang der Bestellung des Kunden durch Versendung einer Bestätigungs-Email. Diese Bestellbestätigung stellt noch nicht die Annahme des Vertragsangebotes durch den Anbieter dar. Sie dient lediglich der Information des Kunden, dass die Bestellung beim Anbieter eingegangen ist. Die Erklärung der Annahme des Vertragsangebotes erfolgt durch die Auslieferung der Ware oder eine ausdrückliche Annahmeerklärung.
§ 3 Eigentumsvorbehalt
Die gelieferte Ware verbleibt bis zur vollständigen Bezahlung im Eigentum des Anbieters.
§ 4 Fälligkeit
Die Zahlung des Kaufpreises ist mit Vertragsschluss fällig.
","You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.","Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag, an dem Sie oder ein von Ihnen benannter Dritter, der nicht der Beförderer ist, die letzte Ware in Besitz genommen hat. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist. Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.","
Vertreten durch Geschäftsführer: Alexander Graf, Boris Lokschin Registergericht: Hamburg Registernummer: HRB 134310
",Spryker Systems GmbH values the privacy of your personal data.,Für die Abwicklung ihrer Bestellung gelten auch die Datenschutzbestimmungen von Spryker Systems GmbH.,1,+49 30 234567800
-MER000002,Country Manager DE,Ms,Martha,Farmer,+31 123 345 678,https://d2s0ynfc62ej12.cloudfront.net/merchant/videoking-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/videoking-logo.png,hi@video-king.nl,+31 123 345 777,"Video King is a premium provider of video equipment. In business since 2010, we understand the needs of video professionals and enthusiasts and offer a wide variety of products with competitive prices. ","Video King ist ein Premium-Anbieter von Videogeräten. Wir sind seit 2010 im Geschäft, verstehen die Bedürfnisse von Videoprofis und -enthusiasten und bieten eine große Auswahl an Produkten zu wettbewerbsfähigen Preisen an. ",https://d2s0ynfc62ej12.cloudfront.net/merchant/videoking-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/videoking-banner.png,2-4 days,2-4 Tage,"
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
","
§ 1 Geltungsbereich & Abwehrklausel
(1) Für die über diesen Internet-Shop begründeten Rechtsbeziehungen zwischen dem Betreiber des Shops (nachfolgend „Anbieter“) und seinen Kunden gelten ausschließlich die folgenden Allgemeinen Geschäftsbedingungen in der jeweiligen Fassung zum Zeitpunkt der Bestellung.
(2) Abweichende Allgemeine Geschäftsbedingungen des Kunden werden zurückgewiesen.
§ 2 Zustandekommen des Vertrages
(1) Die Präsentation der Waren im Internet-Shop stellt kein bindendes Angebot des Anbieters auf Abschluss eines Kaufvertrages dar. Der Kunde wird hierdurch lediglich aufgefordert, durch eine Bestellung ein Angebot abzugeben.
(2) Durch das Absenden der Bestellung im Internet-Shop gibt der Kunde ein verbindliches Angebot gerichtet auf den Abschluss eines Kaufvertrages über die im Warenkorb enthaltenen Waren ab. Mit dem Absenden der Bestellung erkennt der Kunde auch diese Geschäftsbedingungen als für das Rechtsverhältnis mit dem Anbieter allein maßgeblich an.
(3) Der Anbieter bestätigt den Eingang der Bestellung des Kunden durch Versendung einer Bestätigungs-Email. Diese Bestellbestätigung stellt noch nicht die Annahme des Vertragsangebotes durch den Anbieter dar. Sie dient lediglich der Information des Kunden, dass die Bestellung beim Anbieter eingegangen ist. Die Erklärung der Annahme des Vertragsangebotes erfolgt durch die Auslieferung der Ware oder eine ausdrückliche Annahmeerklärung.
§ 3 Eigentumsvorbehalt
Die gelieferte Ware verbleibt bis zur vollständigen Bezahlung im Eigentum des Anbieters.
§ 4 Fälligkeit
Die Zahlung des Kaufpreises ist mit Vertragsschluss fällig.
","You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.","Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag, an dem Sie oder ein von Ihnen benannter Dritter, der nicht der Beförderer ist, die letzte Ware in Besitz genommen hat. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist. Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.",
Video King
Gilzeweg 24 4854SG Bavel NL
Phone: +31 123 45 6789 Email: hi@video-king.nl
Represented by Managing Director: Max Mustermann Register Court: Amsterdam Register Number: 1234.4567
,
Video King
Gilzeweg 24 4854SG Bavel NL
Telefon: +31 123 45 6789 Email: hi@video-king.nl
Vertreten durch Geschäftsführer: Max Mustermann Registergericht: Amsterdam Registernummer: 1234.4567
,Video King values the privacy of your personal data.,Für die Abwicklung ihrer Bestellung gelten auch die Datenschutzbestimmungen von Video King.,1,+31 123 345 733
-MER000006,Brand Manager,Ms,Michele,Nemeth,030/123456789,https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png,support@sony-experts.com,+49 30 234567691,"Capture your moment with the best cameras from Sony. From pocket-size to professional-style, they all pack features to deliver the best quality pictures.
-Discover the range of Sony cameras, lenses and accessories, and capture your favorite moments with precision and style with the best cameras can offer.","Halten Sie Ihren Moment mit den besten Kameras von Sony fest. Vom Taschenformat bis hin zum professionellen Stil bieten sie alle Funktionen, um Bilder in bester Qualität zu liefern.
-Entdecken Sie das Angebot an Kameras, Objektiven und Zubehör von Sony und fangen Sie Ihre Lieblingsmomente mit Präzision und Stil mit den besten Kameras ein, die das Unternehmen zu bieten hat.",https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png,1-3 days,1-3 Tage,"
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
","
§ 1 Geltungsbereich & Abwehrklausel
(1) Für die über diesen Internet-Shop begründeten Rechtsbeziehungen zwischen dem Betreiber des Shops (nachfolgend „Anbieter“) und seinen Kunden gelten ausschließlich die folgenden Allgemeinen Geschäftsbedingungen in der jeweiligen Fassung zum Zeitpunkt der Bestellung.
(2) Abweichende Allgemeine Geschäftsbedingungen des Kunden werden zurückgewiesen.
§ 2 Zustandekommen des Vertrages
(1) Die Präsentation der Waren im Internet-Shop stellt kein bindendes Angebot des Anbieters auf Abschluss eines Kaufvertrages dar. Der Kunde wird hierdurch lediglich aufgefordert, durch eine Bestellung ein Angebot abzugeben.
(2) Durch das Absenden der Bestellung im Internet-Shop gibt der Kunde ein verbindliches Angebot gerichtet auf den Abschluss eines Kaufvertrages über die im Warenkorb enthaltenen Waren ab. Mit dem Absenden der Bestellung erkennt der Kunde auch diese Geschäftsbedingungen als für das Rechtsverhältnis mit dem Anbieter allein maßgeblich an.
(3) Der Anbieter bestätigt den Eingang der Bestellung des Kunden durch Versendung einer Bestätigungs-Email. Diese Bestellbestätigung stellt noch nicht die Annahme des Vertragsangebotes durch den Anbieter dar. Sie dient lediglich der Information des Kunden, dass die Bestellung beim Anbieter eingegangen ist. Die Erklärung der Annahme des Vertragsangebotes erfolgt durch die Auslieferung der Ware oder eine ausdrückliche Annahmeerklärung.
§ 3 Eigentumsvorbehalt
Die gelieferte Ware verbleibt bis zur vollständigen Bezahlung im Eigentum des Anbieters.
§ 4 Fälligkeit
Die Zahlung des Kaufpreises ist mit Vertragsschluss fällig.
","You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.","Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag, an dem Sie oder ein von Ihnen benannter Dritter, der nicht der Beförderer ist, die letzte Ware in Besitz genommen hat. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist. Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.",
Vertreten durch Geschäftsführer: Max Mustermann Registergericht: München Registernummer: HYY 134306
,Sony Experts values the privacy of your personal data.,Für die Abwicklung ihrer Bestellung gelten auch die Datenschutzbestimmungen von Sony Experts.,1,+49 30 234567600
-MER000004,,,,,,,,,,,,,,,,,,,,,,,,0,
-MER000003,,,,,,,,,,,,,,,,,,,,,,,,0,
-MER000007,,,,,,,,,,,,,,,,,,,,,,,,0,
-MER000005,Merchandise Manager,Mr,Jason,Weidmann,030/123456789,https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-logo.png,support@budgetcamerasonline.com,+49 30 234567591,"DSLR and mirrorless cameras are by far the most popular with filmmakers on a tight budget when you can't afford multiple specialist cameras.
-Budget Cameras is offering a great selection of digital cameras with the lowest prices.","DSLR- und spiegellose Kameras sind bei Filmemachern mit knappem Budget bei weitem am beliebtesten, wenn sie sich bestimmte Spezialkameras nicht leisten können.
-Budget Cameras bietet eine große Auswahl an Digitalkameras mit den niedrigsten Preisen.",https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-banner.png,https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-banner.png,2-4 days,2-4 Tage,"
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
","
§ 1 Geltungsbereich & Abwehrklausel
(1) Für die über diesen Internet-Shop begründeten Rechtsbeziehungen zwischen dem Betreiber des Shops (nachfolgend „Anbieter“) und seinen Kunden gelten ausschließlich die folgenden Allgemeinen Geschäftsbedingungen in der jeweiligen Fassung zum Zeitpunkt der Bestellung.
(2) Abweichende Allgemeine Geschäftsbedingungen des Kunden werden zurückgewiesen.
§ 2 Zustandekommen des Vertrages
(1) Die Präsentation der Waren im Internet-Shop stellt kein bindendes Angebot des Anbieters auf Abschluss eines Kaufvertrages dar. Der Kunde wird hierdurch lediglich aufgefordert, durch eine Bestellung ein Angebot abzugeben.
(2) Durch das Absenden der Bestellung im Internet-Shop gibt der Kunde ein verbindliches Angebot gerichtet auf den Abschluss eines Kaufvertrages über die im Warenkorb enthaltenen Waren ab. Mit dem Absenden der Bestellung erkennt der Kunde auch diese Geschäftsbedingungen als für das Rechtsverhältnis mit dem Anbieter allein maßgeblich an.
(3) Der Anbieter bestätigt den Eingang der Bestellung des Kunden durch Versendung einer Bestätigungs-Email. Diese Bestellbestätigung stellt noch nicht die Annahme des Vertragsangebotes durch den Anbieter dar. Sie dient lediglich der Information des Kunden, dass die Bestellung beim Anbieter eingegangen ist. Die Erklärung der Annahme des Vertragsangebotes erfolgt durch die Auslieferung der Ware oder eine ausdrückliche Annahmeerklärung.
§ 3 Eigentumsvorbehalt
Die gelieferte Ware verbleibt bis zur vollständigen Bezahlung im Eigentum des Anbieters.
§ 4 Fälligkeit
Die Zahlung des Kaufpreises ist mit Vertragsschluss fällig.
","You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.","Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag, an dem Sie oder ein von Ihnen benannter Dritter, der nicht der Beförderer ist, die letzte Ware in Besitz genommen hat. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist. Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.",
-
-
-```
-
-Generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Verify the following changes have been applied by checking your database:
-
-| DATABASE ENTITY | TYPE | EVENT |
-| ------------------------------------------ | ---- | ------ |
-| spy_merchant_opening_hours_weekday_schedule | table | created |
-| spy_merchant_opening_hours_date_schedule | table | created |
-| spy_weekday_schedule | table | created |
-| spy_date_schedule | table | created |
-
-
-Make sure that the following changes in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| ------------------- | ---- | ------ | ---------------------- |
-| WeekdaySchedule | class | created | src/Generated/Shared/Transfer/WeekdayScheduleTransfer |
-| DataImporterReaderConfiguration | class | created | src/Generated/Shared/Transfer/DataImporterReaderConfigurationTransfer |
-| MerchantCriteria | class | created | src/Generated/Shared/Transfer/MerchantCriteriaTransfer |
-| MerchantOpeningHoursStorage | class | created | src/Generated/Shared/Transfer/MerchantOpeningHoursStorageTransfer |
-
-{% endinfo_block %}
-
-### 3) Add Zed translations
-
-Generate a new translation cache for Zed:
-
-```bash
-console translator:generate-cache
-```
-
-### 4) Configure export to Redis
-
-This step publishes change events to `spy_merchant_opening_hours_storage` and synchronizes the data to the storage.
-
-#### Set up event listeners and publishers
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| ----------- | -------------- | ------------- | ------------- |
-| MerchantOpeningHoursDateScheduleWritePublisherPlugin | | | Spryker\Zed\MerchantOpeningHoursStorage\Communication\Plugin\Publisher\MerchantOpeningHours |
-| MerchantOpeningHoursWeekdayScheduleWritePublisherPlugin | | | Spryker\Zed\MerchantOpeningHoursStorage\Communication\Plugin\Publisher\MerchantOpeningHours |
-| MerchantOpeningHoursWritePublisherPlugin | Registers publisher that are responsible for publishing merchant opening hours entity changes to storage. | | Spryker\Zed\MerchantOpeningHoursStorage\Communication\Plugin\Publisher\MerchantOpeningHours |
-
-**src/Zed/Publisher/PublisherDependencyProvider.php**
-
-```php
-
- */
- protected function getProcessorMessagePlugins(Container $container)
- {
- return [
- MerchantOpeningHoursStorageConfig::MERCHANT_OPENING_HOURS_SYNC_STORAGE_QUEUE => new SynchronizationStorageQueueMessageProcessorPlugin(),
- ];
- }
-}
-```
-
-# Register the synchronization queue and synchronization error queue:
-
-**src/Pyz/Client/RabbitMq/RabbitMqConfig.php**
-
-```php
-
- */
- protected function getSynchronizationDataPlugins(): array
- {
- return [
- new MerchantOpeningHoursSynchronizationDataBulkPlugin(),
- ];
- }
-}
-```
-
-#### Configure synchronization pool name
-
-**src/Pyz/Zed/MerchantOpeningHoursStorage/MerchantOpeningHoursStorageConfig.php**
-
-```php
-
-Example expected data fragment
-
-```json
-{
- "weekday_schedule":[
- {
- "day":"MONDAY",
- "time_from":"07:00:00.000000",
- "time_to":"13:00:00.000000"
- },
- {
- "day":"MONDAY",
- "time_from":"14:00:00.000000",
- "time_to":"20:00:00.000000"
- },
- {
- "day":"TUESDAY",
- "time_from":"07:00:00.000000",
- "time_to":"20:00:00.000000"
- },
- {
- "day":"WEDNESDAY",
- "time_from":"07:00:00.000000",
- "time_to":"20:00:00.000000"
- },
- {
- "day":"THURSDAY",
- "time_from":"07:00:00.000000",
- "time_to":"20:00:00.000000"
- },
- {
- "day":"FRIDAY",
- "time_from":"07:00:00.000000",
- "time_to":"20:00:00.000000"
- },
- {
- "day":"SATURDAY",
- "time_from":"07:00:00.000000",
- "time_to":"20:00:00.000000"
- },
- {
- "day":"SUNDAY",
- "time_from":null,
- "time_to":null
- }
- ],
- "date_schedule":[
- {
- "date":"2022-01-01",
- "time_from":null,
- "time_to":null,
- "note":"merchant_weekday_schedule.new_year"
- },
- {
- "date":"2023-12-31",
- "time_from":"10:00:00.000000",
- "time_to":"17:00:00.000000",
- "note":""
- }
- ]
-}
-```
-
-
-{% endinfo_block %}
-
-### 5) Import Merchants Opening Hours data
-
-Prepare your data according to your requirements using the demo data:
-
-
-data/import/common/common/marketplace/merchant_open_hours_date_schedule.csv
-
-```
-merchant_reference,date,time_from,time_to,note_glossary_key
-MER000001,2022-01-01,,,merchant_weekday_schedule.new_year
-MER000001,2022-04-09,,,merchant_weekday_schedule.good_friday
-MER000001,2022-04-17,,,merchant_weekday_schedule.easter_sunday
-MER000001,2022-04-18,,,merchant_weekday_schedule.easter_monday
-MER000001,2022-05-01,,,merchant_weekday_schedule.may_day
-MER000001,2022-05-26,,,merchant_weekday_schedule.ascension_of_christ
-MER000001,2022-06-05,,,merchant_weekday_schedule.whit_sunday
-MER000001,2022-06-06,,,merchant_weekday_schedule.whit_monday
-MER000001,2022-06-16,,,merchant_weekday_schedule.corpus_christi
-MER000001,2022-10-03,,,merchant_weekday_schedule.day_of_german_unity
-MER000001,2022-11-01,,,merchant_weekday_schedule.all_saints_day
-MER000001,2022-12-25,,,merchant_weekday_schedule.1st_christmas_day
-MER000001,2022-12-26,,,merchant_weekday_schedule.2nd_christmas_day
-MER000001,2023-11-27,13:00:00,18:00:00,merchant_weekday_schedule.sunday_opening
-MER000001,2023-12-31,10:00:00,17:00:00,
-MER000002,2022-01-01,,,merchant_weekday_schedule.new_year
-MER000002,2022-04-09,,,merchant_weekday_schedule.good_friday
-MER000002,2022-04-17,,,merchant_weekday_schedule.easter_sunday
-MER000002,2022-04-18,,,merchant_weekday_schedule.easter_monday
-MER000002,2022-05-01,,,merchant_weekday_schedule.may_day
-MER000002,2022-05-26,,,merchant_weekday_schedule.ascension_of_christ
-MER000002,2022-06-05,,,merchant_weekday_schedule.whit_sunday
-MER000002,2022-06-06,,,merchant_weekday_schedule.whit_monday
-MER000002,2022-06-16,,,merchant_weekday_schedule.corpus_christi
-MER000002,2022-10-03,,,merchant_weekday_schedule.day_of_german_unity
-MER000002,2022-11-01,,,merchant_weekday_schedule.all_saints_day
-MER000002,2022-12-25,,,merchant_weekday_schedule.1st_christmas_day
-MER000002,2022-12-26,,,merchant_weekday_schedule.2nd_christmas_day
-MER000006,2022-01-01,,,merchant_weekday_schedule.new_year
-MER000006,2022-04-09,,,merchant_weekday_schedule.good_friday
-MER000006,2022-04-17,,,merchant_weekday_schedule.easter_sunday
-MER000006,2022-04-18,,,merchant_weekday_schedule.easter_monday
-MER000006,2022-05-01,,,merchant_weekday_schedule.may_day
-MER000006,2022-05-26,,,merchant_weekday_schedule.ascension_of_christ
-MER000006,2022-06-05,,,merchant_weekday_schedule.whit_sunday
-MER000006,2022-06-06,,,merchant_weekday_schedule.whit_monday
-MER000006,2022-06-16,,,merchant_weekday_schedule.corpus_christi
-MER000006,2022-10-03,,,merchant_weekday_schedule.day_of_german_unity
-MER000006,2022-11-01,,,merchant_weekday_schedule.all_saints_day
-MER000006,2022-12-25,,,merchant_weekday_schedule.1st_christmas_day
-MER000006,2022-12-26,,,merchant_weekday_schedule.2nd_christmas_day
-MER000006,2023-11-27,13:00:00,18:00:00,merchant_weekday_schedule.sunday_opening
-MER000006,2023-12-31,10:00:00,17:00:00,
-MER000005,2022-01-01,,,merchant_weekday_schedule.new_year
-MER000005,2022-04-09,,,merchant_weekday_schedule.good_friday
-MER000005,2022-04-17,,,merchant_weekday_schedule.easter_sunday
-MER000005,2022-04-18,,,merchant_weekday_schedule.easter_monday
-MER000005,2022-05-01,,,merchant_weekday_schedule.may_day
-MER000005,2022-05-26,,,merchant_weekday_schedule.ascension_of_christ
-MER000005,2022-06-05,,,merchant_weekday_schedule.whit_sunday
-MER000005,2022-06-06,,,merchant_weekday_schedule.whit_monday
-MER000005,2022-06-16,,,merchant_weekday_schedule.corpus_christi
-MER000005,2022-10-03,,,merchant_weekday_schedule.day_of_german_unity
-MER000005,2022-11-01,,,merchant_weekday_schedule.all_saints_day
-MER000005,2022-12-25,,,merchant_weekday_schedule.1st_christmas_day
-MER000005,2022-12-26,,,merchant_weekday_schedule.2nd_christmas_day
-MER000005,2023-11-27,13:00:00,18:00:00,merchant_weekday_schedule.sunday_opening
-MER000005,2023-12-31,10:00:00,13:00:00,
-MER000005,2023-12-31,14:00:00,17:00:00,
-```
-
-
-| COLUMN | REQUIRED | DATA TYPE | DATA EXAMPLE | DATA EXPLANATION |
-| ------------- | -------------- | --------- | ------------ | ---------------------- |
-| merchant_reference | ✓ | string | MER000005 | Merchant identifier. |
-| date | ✓ | string | 2022-01-01 | Date with special opening hours |
-| time_from | | string | 10:00:00 | Time start when the merchant is open on this special date. Empty means open ended |
-| time_to | | string | 13:00:00 | Time end when the merchant is open on this special date. Empty means open ended |
-| note | | string | merchant_weekday_schedule.day_of_german_unity | Glossary key to show a note next to special opening hours |
-
-**data/import/common/common/marketplace/merchant_open_hours_week_day_schedule.csv**
-
-```
-merchant_reference,week_day_key,time_from,time_to
-MER000001,MONDAY,7:00:00,13:00:00
-MER000001,MONDAY,14:00:00,20:00:00
-MER000001,TUESDAY,7:00:00,20:00:00
-MER000001,WEDNESDAY,7:00:00,20:00:00
-MER000001,THURSDAY,7:00:00,20:00:00
-MER000001,FRIDAY,7:00:00,20:00:00
-MER000001,SATURDAY,7:00:00,20:00:00
-MER000001,SUNDAY,,
-MER000002,MONDAY,8:00:00,13:00:00
-MER000002,MONDAY,14:00:00,19:00:00
-MER000002,TUESDAY,8:00:00,19:00:00
-MER000002,WEDNESDAY,8:00:00,19:00:00
-MER000002,THURSDAY,8:00:00,19:00:00
-MER000002,FRIDAY,8:00:00,19:00:00
-MER000002,SATURDAY,8:00:00,19:00:00
-MER000002,SUNDAY,,
-MER000006,MONDAY,7:00:00,13:00:00
-MER000006,MONDAY,14:00:00,20:00:00
-MER000006,TUESDAY,7:00:00,20:00:00
-MER000006,WEDNESDAY,7:00:00,20:00:00
-MER000006,THURSDAY,7:00:00,20:00:00
-MER000006,FRIDAY,7:00:00,20:00:00
-MER000006,SATURDAY,7:00:00,20:00:00
-MER000006,SUNDAY,,
-MER000005,MONDAY,8:00:00,13:00:00
-MER000005,MONDAY,14:00:00,19:00:00
-MER000005,TUESDAY,8:00:00,19:00:00
-MER000005,WEDNESDAY,8:00:00,19:00:00
-MER000005,THURSDAY,8:00:00,19:00:00
-MER000005,FRIDAY,8:00:00,19:00:00
-MER000005,SATURDAY,8:00:00,19:00:00
-MER000005,SUNDAY,,
-```
-
-| COLUMN | REQUIRED | DATA TYPE | DATA EXAMPLE | DATA EXPLANATION |
-| ----------- | ---------- | --------- | ------------ | ---------------- |
-| `merchant_reference` | ✓ | string | MER000005 | Merchant identifier. |
-| week_day_key | ✓ | `string` | MONDAY | Day of the week to assign opening hours to a merchant.It is an enum in database with the following values:MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY. |
-| `time_from` | | string | `8:00:00` | Time start when the merchant is open on this week day. Empty means open ended. |
-| `time_to` | | string | `19:00:00`| Time end when the merchant is open on this week day. Empty means open ended. |
-
-Register the following plugins to enable data import:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| -------------------- | ----------- | ------------- | ------------ |
-| MerchantOpeningHoursDateScheduleDataImportPlugin | Imports special dates opening hours into the database. | | Spryker\Zed\MerchantOpeningHoursDataImport\Communication\Plugin |
-| MerchantOpeningHoursWeekdayScheduleDataImportPlugin | Imports weekly schedule opening hours into the database. | | Spryker\Zed\MerchantOpeningHoursDataImport\Communication\Plugin |
-
-**src/Pyz/Zed/DataImport/DataImportDependencyProvider.php**
-
-```php
-
- */
- protected function getGlobalWidgets(): array
- {
- return [
- MerchantOpeningHoursWidget::class,
- ];
- }
-}
-```
-
-Enable Javascript and CSS changes:
-
-```bash
-console frontend:yves:build
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following widget was registered:
-
-| MODULE | TEST |
-| ------------- | ------------- |
-| MerchantOpeningHoursWidget | Go to a merchant page on the storefront and ensure that merchant working hours are displayed. |
-
-{% endinfo_block %}
-
-## Related features
-
-| FEATURE | REQUIRED FOR THE CURRENT FEATURE | INTEGRATION GUIDE |
-| - | - | - |
-| Merchant Opening Hours API | | [Glue API: Merchant Opening Hours feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/merchant-opening-hours-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-feature-integration.md
deleted file mode 100644
index eeb43b33f16..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-feature-integration.md
+++ /dev/null
@@ -1,397 +0,0 @@
----
-title: Merchant Portal feature integration
-last_updated: Oct 19, 2021
-description: This document describes the process how to integrate the Merchant Portal feature into a Spryker project.
-draft: true
-template: feature-integration-guide-template
----
-
-{% info_block infoBox "Info" %}
-
-See [Marketplace Merchant Portal Core feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-core-feature-integration.html).
-
-{% endinfo_block %}
-
-
-## Environment requirements
-
-- Node.js v12+
-- Yarn v2 (or latest Yarn v1)
-- Spryker supported PHP version (7.3, 7.4)
-- Host for Zed application
-
-## Installing frontend dependencies
-
-Run the following command:
-
-```bash
-$ yarn install
-```
-
-## Building frontend
-
-Run the following command:
-
-```bash
-$ yarn mp:build
-```
-
-For production
-
-```bash
-$ yarn mp:build:production
-```
-
-## Installing backend
-
-Install the needed packages for the Merchant Portal with dependencies, see the available list [here](https://github.com/spryker/?q=merchant-portal-gui)
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------- | ----- | ---------- |
-| Spryker Core | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) |
-| Marketplace Merchant Portal Core | {{page.version}} | [Marketplace Merchant Portal Core feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-core-feature-integration.html) |
-
-### Merchant Portal users
-
-### 1) Create users
-
-Create users for the Merchant Portal using Zed UI (Backoffice), or if you need them out of the box, add them into `\Pyz\Zed\User\UserConfig::getInstallerUsers()`, for example:
-
-**src/Pyz/Zed/User/UserConfig.php**
-
-```php
- 'Michele',
- 'lastName' => 'Nemeth',
- 'password' => 'change123',
- 'username' => 'michele@sony-experts.com',
- ],
- ];
- }
-}
-```
-
-### 2) Connect users and merchants
-
-Connect users and merchants using Zed UI (Backoffice) or using the next data import.
-
-**data/import/common/common/marketplace/merchant.csv**
-
-```
- merchant_key,merchant_reference,merchant_name,registration_number,status,email,is_active,url.de_DE,url.en_US
- sony-experts,MER000006,Sony Experts,HYY 134306,approved,michele@sony-experts.com,1,/de/merchant/sony-experts,/en/merchant/sony-experts
-```
-
-In case you don't have merchant user data import been integrated, you can find how to do it in the [Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-feature-integration.html) guide.
-
-
-**data/import/common/common/marketplace/merchant_user.csv**
-
-```
-merchant_key,username
-sony-experts,michele@sony-experts.com
-```
-
-Import data:
-
-```bash
-console data:import merchant
-console data:import merchant-user
-```
-
-### 3) ACL adjustments.
-
-By default all newly created merchants and merchant users will automatically have group, role and segment with autogenerated names based on MerchantName, MerchantUserName and MerchantPortalKey.
-
-Adjust `AclConfig` up to your needs in order to allow Merchant Portal pages (*-merchant-portal-gui) for merchant users (optionally deny access to them for Admin roles)
-
-You can check the available list of packages for the Merchant Portal here https://github.com/spryker/?q=merchant-portal-gui
-
-**src/Pyz/Zed/Acl/AclConfig.php**
-
-```php
-addMerchantPortalInstallerRules($installerRules);
-
- return $installerRules;
- }
-
- /**
- * @param array> $installerRules
- *
- * @return array>
- */
- protected function addMerchantPortalInstallerRules(array $installerRules): array
- {
- $bundleNames = [
- 'dashboard-merchant-portal-gui',
- 'merchant-profile-merchant-portal-gui',
- 'product-merchant-portal-gui',
- 'product-offer-merchant-portal-gui',
- 'security-merchant-portal-gui',
- 'sales-merchant-portal-gui',
- 'user-merchant-portal-gui',
- 'dummy-merchant-portal-gui',
- ];
-
- foreach ($bundleNames as $bundleName) {
- $installerRules[] = [
- 'bundle' => $bundleName,
- 'controller' => AclConstants::VALIDATOR_WILDCARD,
- 'action' => AclConstants::VALIDATOR_WILDCARD,
- 'type' => static::RULE_TYPE_DENY,
- 'role' => AclConstants::ROOT_ROLE,
- ];
- }
-
- return $installerRules;
- }
-
- /**
- * @return array
- */
- public function getInstallerUsers()
- {
- return [
- 'michele@sony-experts.com' => [],
- //this is related to existent username and will be searched into the database
- ];
- }
-}
-```
-
-Create users with ACL rules:
-
-```bash
-console setup:init-db
-```
-
-#### Extending ACL entity metadata configuration.
-
-You can use our `AclEntityDummyProduct` module as an example of extending AclEntityMetadata configuration.
-
-Install the module:
-
-```bash
-composer require spryker/acl-entity-dummy-product:"^0.2.0" --update-with-dependencies
-```
-
-Use `\Spryker\Zed\AclEntityDummyProduct\Communication\DummyProductAclEntityMetadataConfigExpanderPlugin` as an example of `AclEntityMetadataCollection` configuration.
-
-```php
-
- */
- protected function getAclEntityMetadataCollectionExpanderPlugins(): array
- {
- return [
- new DummyProductAclEntityMetadataConfigExpanderPlugin(),
- ];
- }
- }
-```
-
-
-### 4) Merchant Portal Navigation Links in the Sidebar
-
-To configure the Merchant Portal Sidebar add installed MP GUI modules into `config/Zed/navigation.xml`.
-
-**config/Zed/navigation.xml**
-
-```xml
-
-
-
-
- Merchant Dashboard
- dashboard
- dashboard-merchant-portal-gui
- dashboard
- index
-
-
-
- Profile
- profile
- merchant-profile-merchant-portal-gui
- profile
- index
-
-
-
- Offers
- offers
- product-offer-merchant-portal-gui
- product-offers
- index
-
-
-
- Create Offer
- product-offer-merchant-portal-gui
- product-list
- index
- 0
-
-
-
-
-
- Orders
- orders
- sales-merchant-portal-gui
- orders
- index
-
-
-
- Products
- offers
- product-merchant-portal-gui
- products
- index
-
-
-
- Logout
- logout
- security-merchant-portal-gui
- logout
- index
-
-
-```
-
-Build navigation cache:
-
-```bash
-console navigation:build-cache
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that all configured items are present in the Merchant Portal Sidebar and route you accordingly.
-
-Make sure that you have enabled `\Spryker\Zed\Acl\Communication\Plugin\Navigation\AclNavigationItemCollectionFilterPlugin` in `\Pyz\Zed\ZedNavigation\ZedNavigationDependencyProvider`.
-
-```php
-
- */
- protected function getNavigationItemCollectionFilterPlugins(): array
- {
- return [
- new AclNavigationItemCollectionFilterPlugin(),
- ];
- }
-}
-```
-{% endinfo_block %}
-
-### 5) Separate Login feature setup (security firewalls).
-
-It requires upgrading spryker/smyfony:3.5.0 and applying some changes on the project, see [Symfony 5 integration](/docs/scos/dev/technical-enhancement-integration-guides/integrating-symfony-5.html).
-
-Install the required modules:
-
-```bash
-composer remove spryker/auth spryker/auth-mail-connector spryker/auth-mail-connector-extension spryker/authentication-merchant-portal-gui
-```
-
-```bash
-composer require spryker/security-gui:"^1.0.0" spryker/security-merchant-portal-gui:"^1.0.0" spryker/security-system-user:"^1.0.0" spryker/user-password-reset:"^1.0.0" spryker/user-password-reset-extension:"^1.0.0" spryker/user-password-reset-mail:"^1.0.0" --update-with-dependencies
-```
-
-Update next modules to latest minors.
-
-| MODULE | DIRECTORY |
-| ------------- | --------------- |
-| Application | vendor/spryker/application |
-| MerchantUser | vendor/spryker/merchant-user |
-| Security | vendor/spryker/security |
-| Session | vendor/spryker/session |
-| User | vendor/spryker/user |
-| ZedUi | vendor/spryker/zed-ui |
-
-Apply changes from https://github.com/spryker-shop/suite/pull/681/files.
-
-
-{% info_block warningBox "Verification" %}
-
-Go to `http://mp.de.spryker.local/security-merchant-portal-gui/login`
-
-The Merchant Portal should look like on the picture:
-
-![Merchant Portal login](https://spryker.s3.eu-central-1.amazonaws.com/docs/Migration+and+Integration/Feature+Integration+Guides/Marketplace/Merchant+Portal+feature+integration/mp-login.png)
-
-After login, you should be redirected to the Dashboard. The contents of the Sidebar will depend on the installed features and their configuration.
-
-![Merchant Portal dashboard](https://spryker.s3.eu-central-1.amazonaws.com/docs/Migration+and+Integration/Feature+Integration+Guides/Marketplace/Merchant+Portal+feature+integration/mp-dashboard.png)
-
-{% endinfo_block %}
-
-## Related features
-
-Integrate the following related features:
-
-| FEATURE | REQUIRED FOR THE CURRENT FEATURE | INTEGRATION GUIDE |
-|-----------------------------------------------------------------------------------------------------------|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Merchant Portal - Marketplace Merchant | | [Merchant Portal - Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-merchant-feature-integration.html) |
-| Merchant Portal - Marketplace Product | | [Merchant Portal - Marketplace Product feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-feature-integration.html) |
-| Merchant Portal - Marketplace Order Management | | [Merchant Portal - Marketplace Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-order-management-feature-integration.html) |
-| Merchant Portal - Marketplace Merchant Portal Product Offer Management + Merchant Portal Order Management | | [Merchant Portal - Marketplace Merchant Portal Product Offer Management + Merchant Portal Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-merchant-portal-product-offer-management-merchant-portal-order-management-feature-integration.html) |
-| Merchant Portal - Marketplace Product + Inventory Management | | [Merchant Portal - Marketplace Product + Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-inventory-management-feature-integration.html) |
-| Merchant Portal - Marketplace Product Options Management | | [Merchant Portal - Marketplace Product Options Management integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-options-management-feature-integration.html) |
-| Merchant Portal - Marketplace Product + Tax | | [Merchant Portal - Marketplace Product + Tax feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-tax-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-feature-integration.md
deleted file mode 100644
index a8c06b1661b..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-feature-integration.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: Merchant Portal - Marketplace Merchant feature integration
-last_updated: Jul 05, 2021
-description: This document describes the process how to integrate the Marketplace Merchant into the Spryker Merchant Portal.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Portal - Marketplace Merchant feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Merchant Portal - Marketplace Merchant feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| -------------------- | ------- | ------------------ |
-| Marketplace Merchant Portal Core | {{page.version}} | [Merchant Portal Core feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-core-feature-integration.html) |
-| Marketplace Merchant | {{page.version}} | [Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/merchant-profile-merchant-portal-gui:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| -------------- | --------------- |
-| MerchantProfileMerchantPortalGui | vendor/spryker/merchant-profile-merchant-portal-gui |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-### 3) Add translations
-
-Generate a new translation cache for Zed:
-
-```bash
-console translator:generate-cache
-```
-### 4) Configure navigation
-
-Build navigation cache
-
-Execute the following command:
-```bash
-console navigation:build-cache
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the navigation menu of the Merchant Portal has the **Profile** section.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-portal-product-offer-management-merchant-portal-order-management-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-portal-product-offer-management-merchant-portal-order-management-feature-integration.md
deleted file mode 100644
index e5de5179f6a..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-merchant-portal-product-offer-management-merchant-portal-order-management-feature-integration.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Merchant Portal - Marketplace Merchant Portal Product Offer Management + Merchant Portal Order Management feature integration
-last_updated: Sep 13, 2021
-description: This integration guide provides steps on how to integrate the Marketplace Merchant Portal Product Offer Management + Merchant Portal Order Management feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Portal - Marketplace Merchant Portal Product Offer Management + Merchant Portal Order Management feature into a Spryker project.
-
-## Prerequisites
-
-To start feature integration, install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------- | --------- | ------------|
-| Marketplace Merchant Portal Product Offer Management | {{page.version}} | [Marketplace Merchant Portal Product Offer Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-product-offer-management-feature-integration.html)|
-| Merchant Portal - Marketplace Order Management | {{page.version}} | [Marketplace Merchant Portal Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-order-management-feature-integration.html)|
-
-
-### 1) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| --------------- | ------------ | ----------- | ------------ |
-| ProductOfferMerchantOrderItemTableExpanderPlugin | Expands MerchantOrderItemTable with Merchant SKU and Product offer reference columns configuration. | | Spryker\Zed\ProductOfferMerchantPortalGui\Communication\Plugin\SalesMerchantPortalGui |
-
-**src/Pyz/Zed/SalesMerchantPortalGui/SalesMerchantPortalGuiDependencyProvider.php**
-
-```php
-
- */
- protected function getMerchantOrderItemTableExpanderPlugins(): array
- {
- return [
- new ProductOfferMerchantOrderItemTableExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the `ProductOfferMerchantOrderItemTableExpanderPlugin` is set up by opening `http://mp.mysprykershop.com/sales-merchant-portal-gui/orders`. Click on any of the orders and check that the *Merchant Reference* and *Product Offer SKU* are present.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-order-management-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-order-management-feature-integration.md
deleted file mode 100644
index 677bbcd76de..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-order-management-feature-integration.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: Merchant Portal - Marketplace Order Management feature integration
-last_updated: Sep 13, 2021
-description: This integration guide provides steps on how to integrate the Marketplace Merchant Portal Order Management feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Portal - Marketplace Order Management feature into a Spryker project.
-
-## Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------- | --------- | ------------|
-| Marketplace Merchant Portal Core | {{page.version}} | [Merchant Portal Core feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-core-feature-integration.html)|
-| Marketplace Order Management | {{page.version}} | [Marketplace Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-order-management-feature-integration.html)|
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/sales-merchant-portal-gui:"^1.2.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| ------------- | --------------- |
-| SalesMerchantPortalGui | vendor/spryker/sales-merchant-portal-gui |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| ------------- | ---- | ------ |---------------- |
-| MerchantOrderTableCriteria | class | Created | src/Generated/Shared/Transfer/MerchantOrderTableCriteriaTransfer |
-| MerchantOrderItemTableCriteria | class | Created | src/Generated/Shared/Transfer/MerchantOrderItemTableCriteriaTransfer |
-| MerchantOrderCounts | class | Created | src/Generated/Shared/Transfer/MerchantOrderCountsTransfer |
-| MerchantOrderCollection.pagination | property | Created | src/Generated/Shared/Transfer/MerchantOrderCollectionTransfer |
-| MerchantOrder.merchantOrderItemCount | property | Created | src/Generated/Shared/Transfer/MerchantOrderTransfer |
-| MerchantOrderItem.product | property | Created | src/Generated/Shared/Transfer/MerchantOrderItemTransfer |
-| MerchantOrderItemCollection.pagination | property | Created | src/Generated/Shared/Transfer/MerchantOrderItemCollectionTransfer |
-
-{% endinfo_block %}
-
-
-### 3) Add translations
-
-Generate a new translation cache for Zed:
-
-```bash
-console translator:generate-cache
-```
-
-### 4) Set up behavior
-
-Register the following plugins to enable widgets:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
-| --------------- | -------------- | ------ | -------------- |
-| OrdersMerchantDashboardCardPlugin | Adds Merchant orders card to MerchantDashboard | | Spryker\Zed\SalesMerchantPortalGui\Communication\Plugin |
-
-**src/Pyz/Zed/DashboardMerchantPortalGui/DashboardMerchantPortalGuiDependencyProvider.php**
-
-```php
-
- */
- protected function getProductConcreteTableExpanderPlugins(): array
- {
- return [
- new TotalProductAvailabilityProductConcreteTableExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure the available stock column is displayed in the ProductConcreteTable.
-
-{% endinfo_block %}
-
-
-### 3) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-### 4) Add translations
-
-Generate a new translation cache for Zed:
-
-```bash
-console translator:generate-cache
-```
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-options-management-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-options-management-feature-integration.md
deleted file mode 100644
index 7e7871306f0..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-options-management-feature-integration.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Merchant Portal - Marketplace Product Options Management integration
-description: This document describes the process how to integrate the Merchant Portal — Marketplace Product Options Management into a Spryker project.
-template: feature-integration-guide-template
-redirect_from:
- - /docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-options-management-feature-integration.html
-related:
- - title: Marketplace Product Options feature walkthrough
- link: docs/marketplace/dev/feature-walkthroughs/page.version/marketplace-product-options-feature-walkthrough.html
----
-
-This document describes how to integrate the Merchant Portal — Marketplace Product Options Management into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Merchant Portal — Marketplace Product Options Management core.
-
-### Prerequisites
-
-To start integration, integrate the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Marketplace Product Options| {{page.version}} | [Marketplace Product Options feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-options-feature-integration.html) |
-| Merchant Portal Marketplace Order Management | {{page.version}} | [Merchant Portal Marketplace Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-order-management-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/product-option-merchant-portal-gui:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| ProductOptionMerchantPortalGui | vendor/spryker/product-option-merchant-portal-gui |
-
-{% endinfo_block %}
-
-### 2) Add translations
-
-Generate a new translation cache for Zed:
-
-```bash
-console translator:generate-cache
-```
-
-### 3) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|---|---|---|---|
-| ProductOptionMerchantOrderItemTableExpanderPlugin | Expands `MerchantOrderItemTable` with Product options column settings and data. | None | \Spryker\Zed\ProductOptionMerchantPortalGui\Communication\Plugin\SalesMerchantPortalGui |
-
-**src/Pyz/Zed/SalesMerchantPortalGui/SalesMerchantPortalGuiDependencyProvider.php**
-
-```php
-
-
- */
- protected function getProductConcreteTableExpanderPlugins(): array
- {
- return [
- new ProductOptionMerchantOrderItemTableExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the order item table has product option column settings and displays the correct data in the `http://mp.mysprykershop.com/sales-merchant-portal-gui/item-list`
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-tax-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-tax-feature-integration.md
deleted file mode 100644
index dac3ea43c7c..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-portal-marketplace-product-tax-feature-integration.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: Merchant Portal - Marketplace Product + Tax feature integration
-last_updated: Jan 05, 2021
-description: This integration guide provides steps on how to integrate the Merchant Portal - Marketplace Product + Tax feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Portal - Marketplace Product + Tax feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Merchant Portal - Marketplace Product + Tax feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Marketplace Product | {{page.version}} | [Marketplace Product feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-feature-integration.html) |
-| Marketplace Merchant Portal Core | {{page.version}} | [Merchant Portal Core feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-core-feature-integration.html) |
-| Tax | {{page.version}} | [Tax feature integration](https://github.com/spryker-feature/tax)
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker/tax-merchant-portal-gui:"{{page.version}}" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules have been installed:
-
-| MODULE | EXPECTED DIRECTORY |
-|-|-|
-| TaxMerchantPortalGui | spryker/tax-merchant-portal-gui |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-|-|-|-|-|
-| TaxSetCollection | class | Created | src/Generated/Shared/Transfer/TaxSetCollectionTransfer |
-| TaxSet | class | Created | src/Generated/Shared/Transfer/TaxSetTransfer |
-
-{% endinfo_block %}
-
-### 3) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| TaxProductAbstractFormExpanderPlugin | Expands `ProductAbstractForm` with the *Tax Set* field. | | Spryker\Zed\TaxMerchantPortalGui\Communication\Plugin\ProductMerchantPortalGui |
-
-**src\Pyz\Zed\ProductMerchantPortalGui\ProductMerchantPortalGuiDependencyProvider.php**
-
-```php
-
- */
- protected function getProductAbstractFormExpanderPlugins(): array
- {
- return [
- new TaxProductAbstractFormExpanderPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure `ProductAbstractForm` has the `TaxSet` field.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-customer-account-management-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-customer-account-management-feature-integration.md
deleted file mode 100644
index 3c3fdfbd1a2..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-customer-account-management-feature-integration.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: Merchant Switcher + Customer Account Management feature integration
-last_updated: Jan 06, 2021
-description: This document describes the process how to integrate the Merchant Switcher + Customer Account Management feature into a Spryker project.
-template: feature-integration-guide-template
-related:
- - title: Marketplace Order Management feature walkthrough
- link: docs/marketplace/dev/feature-walkthroughs/page.version/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.html
- - title: Customer Account Management feature walkthrough
- link: docs/scos/dev/feature-walkthroughs/page.version/customer-account-management-feature-walkthrough/customer-account-management-feature-walkthrough.html
----
-
-This document describes how to integrate the Merchant Switcher + Customer Account Management feature into a Spryker project.
-
-## Install feature frontend
-
-Follow the steps below to install the Marketplace Order Management + Customer Account Management feature frontend.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| ------------------ | ----------- | ----------|
-| Merchant Switcher | {{page.version}} | [Merchant Switcher feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-switcher-feature-integration.html)|
-| Customer Account Management | {{page.version}} | [Customer Account Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/customer-account-management-feature-integration.html)
-
-### 1) Set up the transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes were applied in transfer objects.
-
-| TRANSFER | TYPE | EVENT | PATH |
-| ---------------- | --------- | --------- | ------------------------------- |
-| ShopContext.merchantReference | attribute | created | src/Generated/Shared/Transfer/ShopContextTransfer |
-
-{% endinfo_block %}
-
-### 2) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE|
-| ------------------- | ------------------ | ------------------- |------------------- |
-| MerchantSwitchCartAfterCustomerAuthenticationSuccessPlugin | Sets merchant reference value to cookies if a customer's quote contains it, and the quote is not empty. | | SprykerShop\Yves\MerchantSwitcherWidget\Plugin\CustomerPage |
-
-
-
-```php
-
- */
- protected function getAfterCustomerAuthenticationSuccessPlugins(): array
- {
- return [
- new MerchantSwitchCartAfterCustomerAuthenticationSuccessPlugin(),
- ];
- }
-}
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that after customers log in, their selected merchant is not changed and set correctly.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-feature-integration.md
deleted file mode 100644
index 07c37047e6a..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-feature-integration.md
+++ /dev/null
@@ -1,305 +0,0 @@
----
-title: Merchant Switcher feature integration
-last_updated: Jan 06, 2021
-description: This integration guide provides steps on how to integrate the Merchant Switcher feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Switcher feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Merchant Switcher feature.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-| --------------- | ---------- | --------|
-| Spryker Core | {{page.version}} | [Spryker Core feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) |
-| Marketplace Product Offer | {{page.version}} | [Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-feature-integration.html) |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker-feature/merchant-switcher --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules were installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| --------------- | ------------------------ |
-| MerchantSwitcher | spryker/merchant-switcher |
-
-{% endinfo_block %}
-
-### 2) Set up the transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes were applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| ------------------ | --- | ---- | ------------------- |
-| MerchantSwitchRequest | class | created | src/Generated/Shared/Transfer/MerchantSwitchRequestTransfer |
-
-{% endinfo_block %}
-
-## Install feature frontend
-
-Follow the steps below to install the Merchant Switcher feature frontend.
-
-### Prerequisites
-
-To start feature integration, overview, and install the necessary features:
-
-| NAME | VERSION |
-| ------------ | -------- |
-| Spryker Core | {{page.version}} |
-
-### 1) Install the required modules using Composer
-
-Install the required modules:
-
-```bash
-composer require spryker-shop/merchant-switcher-widget --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules were installed:
-
-| MODULE | EXPECTED DIRECTORY |
-| ----------- | -------------- |
-| MerchantSwitcher | spryker/merchant-switcher |
-
-{% endinfo_block %}
-
-### 2) Set up transfer objects
-
-Generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes were applied in transfer objects:
-
-| TRANSFER | TYPE | EVENT | PATH |
-| ----------- | ---- | ------ | ----------------------- |
-| MerchantSwitchRequest | class | created | src/Generated/Shared/Transfer/MerchantSwitchRequestTransfer |
-
-{% endinfo_block %}
-
-### 2) Add translations
-
-Append glossary according to your configuration:
-
-**data/import/common/common/glossary.csv**
-
-```yaml
-merchant_switcher.message,Switch from %currentMerchant% to %newMerchant%? Due to different availability, not all products may be added to your shopping cart.,en_US
-merchant_switcher.message,Wechseln von %currentMerchant% zu %newMerchant%? Aufgrund unterschiedlicher Verfügbarkeit können ggf. nicht alle Produkte in Warenkorb übernommen werden.,de_DE
-merchant_switcher.message.product_is_not_available,"Product %product_name% (SKU %sku%) is not available from the selected merchant. Please remove it in order to proceed or switch the merchant.",en_US
-merchant_switcher.message.product_is_not_available,"Produkt %product_name% (SKU %sku%) ist beim ausgewählten Händler nicht erhältlich. Bitte diesen Artikel entfernen, um fortzufahren oder den Händler zu wechseln.",de_DE
-merchant_switcher.label,My Merchant,en_US
-merchant_switcher.label,Mein Händler,de_DE
-```
-
-2. Import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the configured data has been added to the `spy_glossary_key` and `spy_glossary_translation` tables in the database.
-
-{% endinfo_block %}
-
-### 3) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-| --------------- | --------------- | ------------- | ------------ |
-| MerchantSwitcherWidgetRouteProviderPlugin | Wires the merchant switch request route to the shop router. | | SprykerShop\Yves\MerchantSwitcherWidget\Plugin\Router |
-| MerchantShopContextExpanderPlugin | Adds the merchant reference from cookie to `ShopContext`. | | SprykerShop\Yves\MerchantSwitcherWidget\Plugin\ShopApplication |
-
-**src/Pyz/Yves/Router/RouterDependencyProvider.php**
-
-```php
-
- */
- protected function getRouteProvider(): array
- {
- return [
- new MerchantSwitcherWidgetRouteProviderPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Yves/ShopContext/ShopContextDependencyProvider.php**
-
-```php
-
- */
- protected function getShopContextExpanderPlugins(): array
- {
- return [
- new MerchantShopContextExpanderPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Client/SearchElasticsearch/SearchElasticsearchDependencyProvider.php**
-
-```php
-
- */
- protected function getSearchConfigExpanderPlugins(Container $container): array
- {
- return [
- new MerchantNameSearchConfigExpanderPlugin(),
- ];
- }
-}
-```
-
-**src/Pyz/Zed/ProductOfferGui/ProductOfferGuiDependencyProvider.php**
-
-```php
-
- */
- protected function getShopContextExpanderPlugins(): array
- {
- return [
- new MerchantShopContextExpanderPlugin(),
- ];
- }
-}
-```
-
-### 4) Set up widgets
-
-Register the following plugins to enable widgets:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-| -------------------- | -------------- | ------------- | --------------------- |
-| MerchantSwitcherSelectorFormWidget | Shows a list of merchants that you can switch the shop context in between. | | SprykerShop\Yves\MerchantSwitcherWidget\Widget |
-
-**src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php**
-
-```php
-
- */
- protected function getGlobalWidgets(): array
- {
- return [
- MerchantSwitcherSelectorFormWidget::class,
- ];
- }
-}
-```
-
-Enable Javascript and CSS changes:
-
-```bash
-console frontend:yves:build
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following widgets were registered:
-
-| MODULE | TEST |
-| ------------------- | ------------------------ |
-| MerchantSwitcherSelectorFormWidget | Check the top navigation and change the merchant, wait for page reload and the shop context to be changed (default selected product offers). |
-
-{% endinfo_block %}
-
-## Related features
-
-| FEATURE | REQUIRED FOR THE CURRENT FEATURE | INTEGRATION GUIDE |
-|-------------------------------------------------|----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Merchant Switcher + Customer Account Management | | [Merchant Switcher + Customer Account Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-switcher-customer-account-management-feature-integration.html) |
-| Merchant Switcher + Wishlist | | [Merchant Switcher + Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-switcher-wishlist-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-wishlist-feature-integration.md b/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-wishlist-feature-integration.md
deleted file mode 100644
index 16c99413e80..00000000000
--- a/docs/marketplace/dev/feature-integration-guides/202108.0/merchant-switcher-wishlist-feature-integration.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-title: Merchant Switcher + Wishlist feature integration
-last_updated: Oct 08, 2021
-description: This document describes the process how to integrate the Merchant Switcher + Wishlist feature into a Spryker project.
-template: feature-integration-guide-template
----
-
-This document describes how to integrate the Merchant Switcher + Wishlist feature into a Spryker project.
-
-## Install feature core
-
-Follow the steps below to install the Merchant Switcher + Wishlist feature core.
-
-### Prerequisites
-
-Install the required features:
-
-| NAME | VERSION | INTEGRATION GUIDE |
-|-|-|-|
-| Merchant Switcher | {{page.version}} | [Merchant Switcher feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-switcher-feature-integration.html)|
-| Marketplace Wishlist | {{page.version}} | [Marketplace Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html) |
-
-### 1) Set up behavior
-
-Enable the following behaviors by registering the plugins:
-
-| PLUGIN | DESCRIPTION | PREREQUISITES | NAMESPACE |
-|-|-|-|-|
-| SingleMerchantWishlistReloadItemsPlugin | Expands `WishlistItemMetaFormType` with the hidden fields for the `merchant_reference` and the `product_offer_reference`. | | Spryker\Zed\MerchantSwitcher\Communication\Plugin\Wishlist |
-| SingleMerchantWishlistItemsValidatorPlugin | Expands `WishlistItemMetaFormType` with the hidden fields for the `merchant_reference` and the `product_offer_reference`. | | Spryker\Zed\MerchantSwitcher\Communication\Plugin\Wishlist |
-
-```php
-
- */
- protected function getWishlistReloadItemsPlugins(): array
- {
- return [
- new SingleMerchantWishlistReloadItemsPlugin(),
- ];
- }
-
- /**
- * @return array<\Spryker\Zed\WishlistExtension\Dependency\Plugin\WishlistItemsValidatorPluginInterface>
- */
- protected function getWishlistItemsValidatorPlugins(): array
- {
- return [
- new SingleMerchantWishlistItemsValidatorPlugin(),
- ];
- }
-}
-```
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-cart-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-cart-feature-walkthrough.md
deleted file mode 100644
index b67a69f4a7b..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-cart-feature-walkthrough.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: Marketplace Cart feature walkthrough
-last_updated: Nov 1, 2021
-description: Buyers can add notes to carts of their orders.
-template: feature-walkthrough-template
----
-
-The *Marketplace Cart* feature lets buyers add notes to their carts, and Marketplace administrators can view these notes.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Cart Notes feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-cart-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Cart* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/f2665938-a482-4b43-b37a-48e8ed682b5d.png?utm_medium=live&utm_source=custom)
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| [CartNote](https://github.com/spryker/cart-note) | This module provides functionality to add notes to cart and cart items, push notes from cart to order and then show them on order detail page in zed. |
-| [CartNoteMerchantSalesOrderGui](https://github.com/spryker/cart-note-merchant-sales-order-gui) | CartNoteMerchantSalesOrderGui provides Zed UI interface for merchant cart note management. |
-
-## Related Developer documents
-
-| INTEGRATION GUIDES | GLUE API GUIDES |
-|------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [Marketplace Cart feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-cart-feature-integration.html) | [Managing carts of registered users](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html) |
-| | [Managing items in carts of registered users](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-items-in-carts-of-registered-users.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-inventory-management-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-inventory-management-feature-walkthrough.md
deleted file mode 100644
index 7bfd00172cf..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-inventory-management-feature-walkthrough.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: Marketplace Inventory Management feature walkthrough
-description: Merchants are product and service sellers in the Marketplace.
-template: feature-walkthrough-template
----
-
-The _Marketplace Inventory Management_ implies stock & availability management as well as multiple warehouse stock management for product offers and marketplace products.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Inventory Management feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-inventory-management-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/72767452-8b31-46fd-9c23-8d5416fd02e6.png?utm_medium=live&utm_source=confluence)
-
-| MODULE | DESCRIPTION |
-|---|---|
-| Availability | Product availability is calculated based on the current stock and amount of reserved items (items in the current open orders). The `Availability` module calculates the `ProductAbstract` and `ProductConcrete` availability, and the calculated availability is persisted. This calculations is crucial to prevent overselling.|
-| AvailabilityGui | User interface module to manage the stock and availability information in the Zed Administration Interface. |
-| AvailabilityStorage | Manages storage for merchant product offer. |
-| AvailabilityWidget | Provides widgets that can determine a product's availability status.|
-| MerchantStock | Provides data structure, facade methods and plugins for extending merchant by merchant stock data. |
-| MerchantStockDataImport | Data importer for `MerchantStock`. |
-| MerchantStockGui | Provides Zed UI interface for merchant stock management. |
-| ProductOfferAvailability | Provides the core functionality for product offer availability features. |
-| ProductOfferAvailabilityStorage | Manages storage for product offer availability data. |
-| ProductOfferStock | Allows connecting product offers and their stocks. |
-| ProductOfferStockDataImport | Data importer for `ProductOfferStock`. |
-| ProductOfferStockGui | Zed Administrative Interface component for managing stocks for product offers. |
-| Stock | Manages products stocks. It is possible to define several storage locations in which products are stored. A product can have multiple stock entries associated with it, and each of these is associated to a storage location. Stocks can be attached only to concrete products. It is also possible to define a product as never out of stock by using a corresponding flag. |
-| StockDataImport | This module has demo data and importer for stock. |
-| StockGui | Zed Gui for the `Stock` module. |
-
-## Domain model
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/7be7c0cf-b4d5-41c5-bfc3-e30b76efce31.png?utm_medium=live&utm_source=confluence)
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |DATA IMPORT |
-|---------|---------|
-| [Marketplace Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-inventory-management-feature-integration.html) | [File details: merchant_stock.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-stock.csv.html) |
-| [Glue API: Marketplace Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-inventory-management-feature-integration.html) | [File details: product_offer_stock.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-product-offer-stock.csv.html) |
-| [Marketplace Inventory Management + Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-inventory-management-order-management-feature-integration.html) | [File details: combined_merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-combined-merchant-product-offer.csv.html) |
-| [Marketplace Product + Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-inventory-management-feature-integration.html) ||
-| [Marketplace Inventory Management + Packaging Units feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-inventory-management-packaging-units-feature-integration.html) ||
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-feature-walkthrough.md
deleted file mode 100644
index baa7fefb03f..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-feature-walkthrough.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: Marketplace Merchant feature walkthrough
-description: Merchants are product and service sellers in the Marketplace.
-last_updated: Nov 05, 2021
-template: feature-walkthrough-template
----
-
-The *Marketplace Merchant* feature lets you create, read, and update merchants in the Marketplace.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Merchant feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the Marketplace Merchant feature:
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/42f7f5aa-2eee-4149-9b9e-50052e870946.png?utm_medium=live&utm_source=custom)
-
-
-| MODULE | DESCRIPTION |
-| --- | --- |
-| [MerchantProfile](https://github.com/spryker/merchant-profile) | Provides data structure, facade methods, and plugins for extending merchant by merchant profile data. |
-| [MerchantProfileDataImport](https://github.com/spryker/merchant-profile-data-import) | Importer for `MerchantProfile` data. |
-| [MerchantProfileGui](https://github.com/spryker/merchant-profile-gui) | Provides Zed UI interface for merchant profile management. |
-| [MerchantSearch](https://github.com/spryker/merchant-search) | Manages Elasticsearch documents for merchant entities. |
-| [MerchantSearchExtension](https://github.com/spryker/merchant-search-extension) | Provides plugin interfaces to extend the `MerchantSearch` module from the other modules. |
-| [MerchantStorage](https://github.com/spryker/merchant-storage) | Manages storage for merchant entities. |
-| [MerchantUserGui](https://github.com/spryker/merchant-user-gui) | Provides Zed UI interface for merchant users management. |
-| [MerchantPage](https://github.com/spryker-shop/merchant-page) | Contains the merchant page for the shop and its components. |
-| [MerchantProfileWidget](https://github.com/spryker-shop/merchant-profile-widget) | Provides a merchant-profile molecule for introducing merchant profile information. |
-| [MerchantWidget](https://github.com/spryker-shop/merchant-widget) | Provides widget to display merchant information. |
-| [MerchantProfileMerchantPortalGui](https://github.com/spryker/merchant-profile-merchant-portal-gui) | Provides Zed UI interface for merchant profile management for the Merchant Portal. |
-| [MerchantRestApi](https://github.com/spryker/merchants-rest-api) | Provides REST API endpoints to manage merchants. |
-| [MerchantRestApiExtension](https://github.com/spryker/merchants-rest-api-extension) | Provides plugin interfaces to extend the `MerchantsRestApi` module from the other modules. |
-| [Merchant](https://github.com/spryker/merchant) | Provides DB structure and facade methods to save, update, or remove merchants. |
-| [MerchantUser](https://github.com/spryker/merchant-user) | Provides data structure, facade methods, and plugins for user relation to merchant. |
-
-
-## Domain model
-
-The following diagram illustrates the domain model of the Marketplace Merchant feature:
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/73486462-e9d3-4eb2-93ef-a5cde49cce98.png?utm_medium=live&utm_source=custom)
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | GLUE API GUIDES | DATA IMPORT |
-| --- | --- | --- |
-|[Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-feature-integration.html) |[Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html) | [File details: merchant.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html) |
-|[Glue API: Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-merchant-feature-integration.html) | [Searching the product catalog](/docs/marketplace/dev/glue-api-guides/{{page.version}}/searching-the-product-catalog.html) | [File details: merchant_profile.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile.csv.html) |
-| [Merchant Portal - Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-merchant-feature-integration.html) | [Retrieving autocomplete and search suggestions](/docs/marketplace/dev/glue-api-guides/{{page.version}}/retrieving-autocomplete-and-search-suggestions.html) | [File details: merchant_profile_address.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile-address.csv.html) |
-| | [Resolving the URL of the merchant page](/docs/marketplace/dev/glue-api-guides/{{page.version}}/resolving-search-engine-friendly-urls.html) |[File details: merchant_stock.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-stock.csv.html) |
-| | | [File details: merchant_store.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-store.csv.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/gui-modules-concept.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/gui-modules-concept.md
deleted file mode 100644
index 91cca1f33b9..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/gui-modules-concept.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: GUI modules concept
-description: Short overview of GUI modules in Merchant Portal.
-template: concept-topic-template
-related:
- - title: How to create a new GUI module
- link: docs/marketplace/dev/howtos/how-to-create-gui-module.html
----
-
-This articles provides a short overview of the GUI (graphical user interface) modules in the Merchant Portal.
-
-## GUI modules structure
-
-GUI modules have the main purpose of providing logic for the functioning of the Merchant Portal pages and components for merchant management. The Core GUI modules can be identified by the suffix `MerchantPortalGui` (`DashboardMerchantPortalGui`, `ProductOfferMerchantPortalGui`).
-
-Typical GUI modules include:
-- Controllers for displaying Merchant Portal pages and corresponding logic (forms, data mappers).
-- GUI tables and corresponding logic for configuration, and data provisioning.
-- Twig templates.
-- Frontend components.
-- Plugins for extending existing GUI tables, and forms.
-- Other GUI related logic.
-
-GUI modules should not contain any business logic, which should be handled by modules responsible for it. For example, `ProductOfferMerchantPortalGui` module uses `ProductOffer` module to save the product offer data).
-
-![GUI module relations](https://confluence-connect.gliffy.net/embed/image/58cb446e-2bd7-4e34-a9fd-6eb401917d31.png?utm_medium=live&utm_source=custom)
-
-## Mapping to a feature
-
-Merchant Portal GUI modules can be mapped to a feature in two different ways, depending on the feature's purpose:
-
-- As a required module listed in feature's `composer.json`, which means the module must be installed.
-
-{% info_block infoBox "Example" %}
-
-[Marketplace Merchant Portal Core feature](https://github.com/spryker-feature/marketplace-merchantportal-core): `SecurityMerchantPortalGui`, `UserMerchantPortalGui` modules.
-
-{% endinfo_block %}
-
-- As optional module, which means it should be installed as an add-on to the main feature.
-
-{% info_block infoBox "Example" %}
-
-([Marketplace Inventory Management feature](https://github.com/spryker-feature/marketplace-inventory-management): the `AvailabilityMerchantPortalGui` module.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/marketplace-merchant-portal-core-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/marketplace-merchant-portal-core-feature-walkthrough.md
deleted file mode 100644
index 29eace0eb79..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/marketplace-merchant-portal-core-feature-walkthrough.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: Marketplace Merchant Portal Core feature walkthrough
-description: Marketplace MerchantPortal Core enables server configuration and the basic functionality of the Merchant Portal such as security login.
-template: concept-topic-template
----
-
-The Marketplace Merchant Portal Core enables server configuration and basic functions of the Merchant Portal application, such as security login, GUI tables, and dashboards. Merchant Portal and Back Office are separate applications with different entry points, bootstraps, and possibilities to register application plugins, configure application base URLs, debug.
-
-{% info_block warningBox "Note" %}
-
-To learn more about the Marketplace Application, see [Marketplace Application Composition](/docs/marketplace/dev/architecture-overview/marketplace-application-composition.html).
-
-{% endinfo_block %}
-
-Login and logout in the Merchant Portal are provided by the `SecurityMerchantPortalGui` module, which also provides the `MerchantUserSecurityPlugin` for extending the Merchant Portal firewall.
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the Marketplace Merchant Portal Core feature.
-
-![Modules relation](https://confluence-connect.gliffy.net/embed/image/2e0be237-6e7b-4488-8d4b-811707c14ea0.png?utm_medium=live&utm_source=custom)
-
-
-### Main Marketplace MerchantPortal Core feature modules
-
-The following table lists the main MerchantPortal Core modules:
-
-| NAME | DESCRIPTION |
-| -------------- | ------------------ |
-| [Acl](https://github.com/spryker/acl) | Acl is part of the Store Administration. The purpose of this module is to define roles, groups, privileges, and resources to manage access privileges to Zed Administration Interface. |
-| [AclEntity](https://github.com/spryker/acl-entity) | This module provides a database structure for `AclEntitySegment` and `AclEntityRule` as well as methods for managing them. |
-| [AclMerchantPortal](https://github.com/spryker/acl-merchant-portal) | Acl and merchant entities are connected through this module. |
-| [GuiTable](https://github.com/spryker/gui-table) | This module provides base functionality for building GuiTables. |
-| [MerchantPortalApplication](https://github.com/spryker/merchant-portal-application) | This module provides basic infrastructure for the MerchantPortal modules. |
-| [MerchantUser](https://github.com/spryker/merchant-user) | Merchant user module provides data structure, facade methods and plugins that let users relate to merchants. |
-| [MerchantUserPasswordResetMail](https://github.com/spryker/merchant-user-password-reset-mail) | This module provides possibility to reset password for the merchant user. |
-| [Navigation](https://github.com/spryker/navigation) | This module manages multiple navigation menus that can be displayed on the frontend. |
-| [SecurityMerchantPortalGui](https://github.com/spryker/security-merchant-portal-gui) | This module provides security rules and authentication for merchant users. |
-| [UserMerchantPortalGui](https://github.com/spryker/user-merchant-portal-gui) | This module module provides components for merchant user management. |
-| [ZedUi](https://github.com/spryker/zed-ui) | This module provides base UI components for Zed application. |
-
-### Optional Marketplace MerchantPortal Core feature modules
-
-The following table lists optional MerchantPortal Core modules:
-
-| NAME | DESCRIPTION |
-| -------------------- | --------------------- |
-| [DashboardMerchantPortalGui](https://github.com/spryker/dashboard-merchant-portal-gui) | This module contains the dashboard and its related components for the Merchant Portal. |
-| [DashboardMerchantPortalGuiExtension](https://github.com/spryker/dashboard-merchant-portal-gui-extension) | This module provides extension interfaces for the `DashboardMerchantPortalGui` module.|
-| [MerchantUserExtension](https://github.com/spryker/merchant-user-extension) | This module provides plugin interfaces to extend `MerchantUser` module from another modules. |
-| [UserMerchantPortalGuiExtension](https://github.com/spryker/user-merchant-portal-gui-extension) | This module provides plugin interfaces to extend the `UserMerchantPortalGui` module from the other modules.
-
-## Domain model
-
-The following schema illustrates the Marketplace MerchantPortal Core domain model:
-
-![Domain model](https://confluence-connect.gliffy.net/embed/image/2f5bae0d-8b37-45f5-ad08-06ca5c0c562d.png?utm_medium=live&utm_source=custom)
-
-## Gui Table
-
-GuiTable is a Spryker infrastructure component which displays data as tables and provides search, filtering, sorting, and various interactions with table rows.
-GuiTables are widely used in the Marketplace Merchant Portal for displaying orders, offers, products etc.
-GuiTable frontend component knows how to create the table itself, where to go for the data, and how to interpret the provided data based on the configuration provided.
-
-{% info_block warningBox "Table design" %}
-
-To learn more about Table design, see [Table design](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/).
-
-{% endinfo_block %}
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |GLUE API GUIDES |DATA IMPORT | REFERENCES |
-|---------|---------|---------|--------|
-| [Marketplace Merchant Portal Core feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-core-feature-integration.html) | | [File details: merchant_user.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-user.csv.html) | [GUI modules concept](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-merchant-portal-core-feature-walkthrough/gui-modules-concept.html) |
-| | | | [How to create a new GUI module](/docs/marketplace/dev/howtos/how-to-create-gui-module.html) |
-| | | | [How to create a new Gui table](/docs/marketplace/dev/howtos/how-to-create-gui-table.html) |
-| | | | [How to extend an existing Gui table](/docs/marketplace/dev/howtos/how-to-extend-gui-table.html) |
-| | | | [How to create a new Gui table filter type](/docs/marketplace/dev/howtos/how-to-add-new-guitable-filter-type.html) |
-| | | | [How to extend Merchant Portal dashboard](/docs/marketplace/dev/howtos/how-to-extend-merchant-portal-dashboard.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/merchant-user-concept.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/merchant-user-concept.md
deleted file mode 100644
index eab29ac7b47..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/merchant-user-concept.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Merchant User concept
-description: Merchant User in Merchant Portal.
-template: concept-topic-template
----
-
-This document provides a short overview of Merchant User concept in the Spryker Marketplace.
-
-## Merchant User structure
-
-`MerchantUser` module is the source of users for the Merchant Portal. `MerchantUserFacade` should be used to perform all operations on users, including but not limited to:
-- Create, update, delete, and disable merchant users.
-- Obtaining information about existing merchant users.
-- Obtaining data about the current logged in merchant user.
-- Authentication of merchant users.
-- Manipulation of passwords (reset, validation).
-
-Merchant users are activated and deactivated when their Merchant is activated or deactivated. `SyncMerchantUsersStatusMerchantPostUpdatePlugin` takes care of it.
-
-
-## Merchant User relations
-
-{% info_block errorBox %}
-
-To avoid technical debt in the future, never use `UserFacade` directly in Merchant Portal modules.
-
-{% endinfo_block %}
-
-The following diagram illustrates merchant user relations:
-
-![Merchant User relations](https://confluence-connect.gliffy.net/embed/image/6a8b09b8-f7a0-4f92-8728-6bcd056c1f2e.png?utm_medium=live&utm_source=confluence)
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |GLUE API GUIDES |DATA IMPORT | REFERENCES |
-|---------|---------|---------|--------|
-| | |[File details: merchant_user.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-user.csv.html) |[Merchant users overview](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html)|
-| | | |[Managing merchant users](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchant-users.html)|
-| | | |[Merchant Portal user guides](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/)|
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/persistence-acl-configuration.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/persistence-acl-configuration.md
deleted file mode 100644
index 363a613971e..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-core-feature-walkthrough/persistence-acl-configuration.md
+++ /dev/null
@@ -1,131 +0,0 @@
----
-title: Persistence ACL configuration
-last_updated: Oct 20, 2021
-description: Learn how to you can configure Persistence ACL
-template: concept-topic-template
----
-
-Merchant Portal comes with the pre-configured [Persistence ACL](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/persistence-acl-feature-walkthrough.html) feature to secure sensitive data.
-
-By default, the feature creates and assigns a set of ACL roles to merchant users to restrict access to other merchant data in the system.
-
-![Module dependency graph](https://confluence-connect.gliffy.net/embed/image/15952dbf-4cef-49ee-b7fa-117d39c1c525.png?utm_medium=live&utm_source=custom)
-
-## Merchant and MerchantUser setup workflow
-While the `Merchant` and `MerchantUser` entries are created, all the necessary ACL and Persistence ACL entities are created as well.
-This ensures the correct operation of the Merchant Portal, and at the same time, protects the key merchant data.
-
-![New Merchant and MerchantUser sequence diagram](https://confluence-connect.gliffy.net/embed/image/54b0907f-b289-42ab-9b5c-1566959896b0.png?utm_medium=live&utm_source=custom)
-
-### New merchant
-When a new `Merchant` entity is added to the system, a merchant-specific role is automatically created.
-This role is automatically added to all merchant users, letting them operate with the merchant-specific data: `ProductOffer`, `ProductOrder`.
-
-### New merchant user
-When a `MerchantUser` entity is added to the system, a merchant user-specific role is automatically created.
-This role is needed to manage the merchant user-specific data, that is, the profile.
-
-The following roles are automatically added to the newly created MerchantUser:
-- Merchant-specific role.
-- MerchantUser-specific role.
-- Product viewer for offer creation (this role is needed to create new product offers).
-
-## Persistence ACL configuration overview
-![Configuration overview](https://confluence-connect.gliffy.net/embed/image/97d83074-7b22-4ef0-9d6f-92fdb1ac1b01.png?utm_medium=live&utm_source=custom)
-
-The diagram above is simplified and does not represent the entire configuration. It only reflects basic concepts.
-As the diagram shows, the configuration is represented by three main composite objects:
-- `ProductOffer`
-- `MerchantProduct`
-- `SalesOrder`
-
-They all inherit from `Merchant`, which is also a composite object.
-Each merchant has its own data segment. Thanks to this, the merchant users have access exclusively to the data of their merchant.
-You can also check some entities that are configured as publicly readable:
-- `\Orm\Zed\Locale\Persistence\SpyLocale`
-- `\Orm\Zed\Country\Persistence\SpyCountry`
-- `\Orm\Zed\Currency\Persistence\SpyCurrency`
-
-See the complete configuration of the PersistenceAcl module at [AclEntityMetadataConfigExpander](https://github.com/spryker/acl-merchant-portal/blob/master/src/Spryker/Zed/AclMerchantPortal/Business/Expander/AclEntity/AclEntityMetadataConfigExpander.php)
-
-## How to extend the initial Persistence ACL configuration
-Even though the Merchant Portal comes with the Persistence ACL configuration, which is fully ready for the full-fledged merchant operation and provides data protection, you can extend or override this configuration. To do this, implement `\Spryker\Zed\AclEntityExtension\Dependency\Plugin\AclEntityMetadataConfigExpanderPluginInterface`.
-To override the rules that are created automatically when creating a merchant and a user's merchant, it is enough to override such methods as:
-- `\Spryker\Zed\AclMerchantPortal\AclMerchantPortalConfig::getMerchantAclRoleEntityRules()`
-- `\Spryker\Zed\AclMerchantPortal\AclMerchantPortalConfig::getMerchantUserAclRoleEntityRules()`
-
-### Configuration example of a new system object
-Let's consider an exemplary configuration of a new system entity `\Foo\Bar\MerchantSubscriber`.
-
-![Configuration for new entity](https://confluence-connect.gliffy.net/embed/image/dd5b7b6e-2f65-47d8-a641-c52824b0f209.png?utm_medium=live&utm_source=custom)
-
-It is logical to inherit this entity from the merchant and give the merchant users the right to manage data.
-This lets you restrict access to data so that only the merchant user will have access to them.
-
-```php
-getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- MerchantSubscriber::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(MerchantSubscriber::class)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyMerchant::class)
- )
- );
-
- return $aclEntityMetadataConfigTransfer;
- }
-}
-```
-
-Then, grant the rights of the merchant to users to manage the new entity:
-
-```php
-setEntity(MerchantSubscriber::class)
- ->setScope(AclEntityConstants::SCOPE_INHERITED)
- ->setPermissionMask(AclEntityConstants::OPERATION_MASK_CRUD);
-
- return $aclEntityRuleTransfers;
- }
-}
-```
-
-{% info_block warningBox "Module updates" %}
-
-Do not lock [spryker/acl-merchant-portal](https://github.com/spryker/acl-merchant-portal) module version and keep it up-to-date in order to receive security patches for ACL in Merchant Portal.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-management-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-management-feature-walkthrough.md
deleted file mode 100644
index 5c25f4d7900..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-management-feature-walkthrough.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: Marketplace Merchant Portal Product Management feature walkthrough
-description: This document provides reference information about product in the Merchant Portal.
-last_updated: Nov 05, 2021
-template: feature-walkthrough-template
----
-
-The *Marketplace Merchant Portal Product Management* feature lets merchants manage products and their category, attributes, prices, tax sets, SEO settings, variants, stock and validity dates in the Merchant Portal.
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Merchant Portal Product Management* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/a38bb45f-0f1c-4153-8f3d-7873b3aa13af.png?utm_medium=live&utm_source=custom)
-
-| NAME | DESCRIPTION |
-| --- | --- |
-| [ProductMerchantPortalGui](https://github.com/spryker/product-merchant-portal-gui) | Provides the UI for managing marketplace products in the Merchant Portal. |
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |
-|---------|
-|[Marketplace Merchant Portal Product Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-offer-management-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-offer-management-feature-walkthrough.md
deleted file mode 100644
index 1e3ed06498f..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-merchant-portal-product-offer-management-feature-walkthrough.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Marketplace Merchant Portal Product Offer Management feature walkthrough
-description: This document provides reference information about product offers in the Merchant Portal.
-template: feature-walkthrough-template
----
-
-The *Marketplace Merchant Portal Product Offer Management* feature lets merchants manage product offers and their prices, stock, validity dates in the Merchant Portal.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Merchant Portal Product Offer Management feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-portal-product-offer-management-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Merchant Portal Product Offer Management* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/c7d38902-eec0-417d-94ce-31d1baf9599d.png?utm_medium=live&utm_source=custom)
-
-| NAME | DESCRIPTION |
-| --- | --- |
-| [ProductOfferMerchantPortalGui](https://github.com/spryker/product-offer-merchant-portal-gui) | Provides the UI for managing merchant product offers in the Merchant Portal. |
-
-## Related Developer documents
-
-| INSTALLATION GUIDES|
-| -------------- |
-| [Marketplace Merchant Portal Product Offer Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-product-offer-management-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.md
deleted file mode 100644
index 58e21f32fc4..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: Marketplace Order Management feature walkthrough
-description: The Marketplace Order Management feature lets Marketplace customers place orders.
-template: feature-walkthrough-template
-related:
- - title: MerchantOms
- link: docs/marketplace/dev/feature-walkthroughs/page.version/marketplace-order-management-feature-walkthrough/merchant-oms.html
- - title: Marketplace Shipment
- link: docs/marketplace/dev/feature-walkthroughs/page.version/marketplace-shipment-feature-walkthrough.html
- - title: Marketplace and merchant state machines
- link: docs/marketplace/user/features/page.version/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html
- - title: Marketplace and merchant state machines interaction
- link: docs/marketplace/user/features/page.version/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.html
- - title: 'How-to: Create a new MerchantOms flow'
- link: docs/marketplace/dev/howtos/how-to-create-a-new-merchant-oms-flow.html
----
-
-
-*Marketplace Order Management* enables splitting orders into merchant orders and letting product offers be bought directly from a Storefront.
-The orders are designed to be used by the Marketplace operator, while the merchant orders are always connected to a merchant. To learn more about the core Marketplace objects, see [Marketplace domain model](/docs/marketplace/dev/architecture-overview/marketplace-domain-model.html).
-
-By using `MerchantSalesOrderFacade::createMerchantOrderCollection()`, you can decide when to create merchant orders out of an order in your project. By default, it is created by `CreateMerchantOrdersCommandPlugin`.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Order Management](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.html) feature overview for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Order Management* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/901b201a-030b-4824-a136-ef06d258a41b.png?utm_medium=live&utm_source=confluence)
-
-
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| [MerchantOms](https://github.com/spryker/merchant-oms) | Provides the order management system functionality for the merchant orders. |
-| [MerchantOmsDataImport](https://github.com/spryker/merchant-oms-data-import) | Data importer for the `MerchantOms`. | Backoffice UI interface for the Merchant Oms management. |
-| [MerchantSalesOrder](https://github.com/spryker/merchant-sales-order) | Provides functionality for managing merchant orders. |
-| [MerchantSalesOrderDataExport](https://github.com/spryker/merchant-sales-order-data-export) | Provides possibility to export data related to the merchant orders. |
-| [MerchantSalesOrderMerchantUserGui](https://github.com/spryker/merchant-sales-order-merchant-user-gui) | Back Office UI for managing merchant sales orders for the Marketplace operator. |
-| [MerchantSalesOrderWidget](https://github.com/spryker-shop/merchant-sales-order-widget) | Provides Merchant Order information for Yves. |
-| [Oms](https://github.com/spryker/oms) | Order management system for implementing complex process flows using the state machines. |
-| [OmsProductOfferReservation](https://github.com/spryker/oms-product-offer-reservation) | Provides functionality for save/update/remove reservations for the product offers. |
-| [ProductOfferReservationGui](https://github.com/spryker/product-offer-reservation-gui) | Back Office UI component for managing reservations for product offers. |
-| [ProductOfferSales](https://github.com/spryker/product-offer-sales) | Connects product offer and sales entities. |
-| [Sales](https://github.com/spryker/sales) | Provides the order management core functionality. |
-| [MerchantSalesOrderExtension](https://github.com/spryker/merchant-sales-order-extension) | Extension point for the `MerchantSalesOrder`. |
-| [MerchantSalesOrderThresholdGui](https://github.com/spryker/merchant-sales-order-threshold-gui) | Provides Zed UI interface for Merchant Order threshold management. |
-| [SalesMerchantPortalGui](https://github.com/spryker/sales-merchant-portal-gui) | Provides UI for managing Merchant Sales in the Merchant Portal. |
-
-
-## Domain model
-
-The following diagram illustrates the domain model of the Marketplace Order Management feature:
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/041ca5e4-7738-47ac-a01b-4ed91a57662d.png?utm_medium=live&utm_source=confluence)
-
-
-## Merchant orders in the Merchant Portal
-
-{% info_block warningBox “Warning” %}
-
-Do not build the Merchant functionality around Orders, but rather around Merchant Orders.
-Make sure that Merchants do not modify the order directly, but instead use [MerchantOms](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-order-management-feature-walkthrough/merchant-oms.html) for this purpose.
-
-{% endinfo_block %}
-
-In the Merchant Portal, merchants can view and manage their `MerchantOrders`.
-
-The information in the Merchant Portal is limited and includes:
-- Customer information
-- Shipment address
-- Merchant order overview
-- Totals
-
-Merchant order uses its own totals based on order totals, restricted by the Merchant Order Item:
-- refundTotal
-- grandTotal
-- taxTotal
-- expenseTotal
-- subtotal
-- discountTotal
-- canceledTotal
-
-The *merchant order total* is the sum of the totals of items of an order relating to the merchant order.
-
-## Related Developer documents
-
-| INTEGRATION GUIDES |GLUE API GUIDES |DATA IMPORT | REFERENCES |
-|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|---------|--------|
-| [Marketplace Order Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-order-management-feature-integration.html) | [Retrieving Marketplace orders](/docs/marketplace/dev/glue-api-guides/{{page.version}}/retrieving-marketplace-orders.html) | [File details: merchant_oms_process.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-oms-process.csv.html) | [MerchantOms](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-order-management-feature-walkthrough/merchant-oms.html) |
-| [Marketplace Order Management + Order Threshold feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-order-management-order-threshold-feature-integration.html) | | [File details: merchant-order-status.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-order-status.csv.html) | [How-to: Creation a new MerchantOms flow](/docs/marketplace/dev/howtos/how-to-create-a-new-merchant-oms-flow.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/merchant-oms.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/merchant-oms.md
deleted file mode 100644
index 39fe1dbfc78..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-order-management-feature-walkthrough/merchant-oms.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Merchant Oms
-description: Merchant Oms provides a dedicated Oms flow for Merchant Orders and their Merchants.
-template: concept-topic-template
----
-
-Merchant Oms provides a dedicated Oms flow for Merchant Orders and their Merchants.
-
-Merchant Oms has no direct communication channel with the plain Oms.
-The synchronization of state between an Order and a Merchant Order usually takes place by listening to events and running commands on them.
-
-The following diagram illustrates how Oms and Merchant Oms can interact.
-
-![Diagram](https://confluence-connect.gliffy.net/embed/image/b7fcab42-394b-4c0b-ae16-cf36a013addb.png?utm_medium=live&utm_source=custom)
-
-Additionally, the feature allows different Oms flows to be assigned to different merchants.
-If you have some enterprise Merchants on your Marketplace and you want to enable different business models on your marketplace, this might be helpful.
-
-![Diagram](https://confluence-connect.gliffy.net/embed/image/762e6302-0a5e-43bc-87fe-cca585718bc6.png?utm_medium=live&utm_source=custom)
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-feature-walkthrough.md
deleted file mode 100644
index 6c7e04ab7ef..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-feature-walkthrough.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: Marketplace Product feature walkthrough
-description: A Marketplace Product feature adds merchant information to the product that a merchant sells.
-template: feature-walkthrough-template
----
-
-The *Marketplace Product* feature provides a relation between Products and Merchants.
-`MerchantProductAbstract` is a database table used to store data with the Product and Merchant relations. The [Product features work as in the Spryker Commerce OS](/docs/scos/user/features/{{page.version}}/product-feature-overview/product-feature-overview.html).
-However, on the Storefront, there are additional plugins and widgets to support the relation between Products and Merchants.
-Products are extended with the merchant's data and, when purchased, are assigned to the appropriate `MerchantOrder`.
-To learn more about managing products in the Merchant Portal, see [Marketplace Merchant Portal product management](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-merchant-portal-product-management-feature-walkthrough.html).
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Product feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-product-feature-overview.html) feature overview for business users.
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Product* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/15402fef-7a49-4ff6-bdc7-9e82f2f92011.png?utm_medium=live&utm_source=confluence)
-
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| [MerchantProduct](https://github.com/spryker/merchant-product) | Provides connection between the product and merchant entities. |
-| [MerchantProductDataImport](https://github.com/spryker/merchant-product-data-import) | Imports relations between the products and the merchants from the CSV file. |
-| [ProductMerchantPortalGui](https://github.com/spryker/product-merchant-portal-gui) | Provides components for merchant product management. |
-| [ProductMerchantPortalGuiExtension](https://github.com/spryker/product-merchant-portal-gui-extension) | Provides extension interfaces for the `ProductMerchantPortalGui` module. |
-| [MerchantProductStorage](https://github.com/spryker/merchant-product-storage) | Manages the storage for the merchant product abstract. |
-| [MerchantProductWidget](https://github.com/spryker-shop/merchant-product-widget) | Provides the merchant product abstract information. |
-| [Product](https://github.com/spryker/product) | Provides the base infrastructure and CRUD operations to handle the abstract and concrete products. |
-| [MerchantProductsRestApi](https://github.com/spryker/merchant-products-rest-api) | Provides REST API endpoints to manage the marketplace products. |
-| [CartsRestApiExtension](https://github.com/spryker/carts-rest-api-extension) | Provides plugin interfaces used by the `CartsRestApi` module. |
-
-
-
-## Domain model
-
-The following schema illustrates the Marketplace Product domain model:
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/80809f75-1f94-4f19-9cfd-e39235026e89.png?utm_medium=live&utm_source=confluence)
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |GLUE API GUIDES |DATA IMPORT | REFERENCES |
-|---------|---------|---------|--------|
-| [Marketplace Product feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-feature-integration.html) | [Retrieve abstract products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/abstract-products/retrieving-abstract-products.html) | [File details: merchant-product.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product.csv.html) |
-| [Glue API: Marketplace Product feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-feature-integration.html) | [Retrieve concrete products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html) | [File details: product_price.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-product-price.csv.html) |
-| [Marketplace Product + Cart feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-cart-feature-integration.html) | [Retrieve abstract product lists](/docs/marketplace/dev/glue-api-guides/{{page.version}}/content-items/retrieving-abstract-products-in-abstract-product-lists.html) | |
-| [Marketplace Product + Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-marketplace-product-offer-feature-integration.html) | | |
-| [Marketplace Product + Inventory Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-inventory-management-feature-integration.html) | | |
-| [Merchant Portal - Marketplace Product feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-feature-integration.html) | | |
-| [Merchant Portal - Marketplace Product + Tax feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-tax-feature-integration.html) | | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/marketplace-product-offer-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/marketplace-product-offer-feature-walkthrough.md
deleted file mode 100644
index d823f42a2cb..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/marketplace-product-offer-feature-walkthrough.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: Marketplace Product Offer feature walkthrough
-last_updated: Apr 23, 2021
-description: Product Offer is created when a merchant wants to sell products already available on the Marketplace.
-template: feature-walkthrough-template
-redirect_from: /docs/marketplace/dev/feature-walkthroughs/202204.0/marketplace-product-offer-feature-walkthrough/rendering-merchant-product-offers-on-the-storefront.html
----
-
-The *Marketplace Product Offer* entity is created when multiple merchants sell the same product on the Marketplace. The product offer is a variation of a concrete product with its own specific price (and volume price) and stock. It can be “owned” by any entity, however, in a B2C or B2B Marketplace, it is owned by a [merchant](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-merchant-feature-walkthrough.html).
-
-The Marketplace product offer has its own validity dates and its own availability calculation based on its reservations.
-
-The product offer re-uses and extends concrete product features. All product-related data is stored and processed as concrete products.
-All offer-related data is stored in a separate entity and linked to a concrete product.
-
-The Marketplace Product Offer feature contains both merchant product offer and product offer concepts. Merchant product offer extends product offer by adding a pointer to a merchant.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Product Offer feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the Marketplace Product Offer feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/73bc50f6-4822-485c-bd0e-d19646a761f3.png?utm_medium=live&utm_source=custom)
-
-The following table lists the main modules of the Marketplace Product Offer feature.
-
-| NAME | DESCRIPTION |
-| -------------------- | ---------- |
-| [MerchantProductOffer](https://github.com/spryker/merchant-product-offer) | Provides a collection of product offers by request. Extends `ProductOffer` with the merchant information. Used by `MerchantSwitcher` for enabling the merchant functionality. |
-| [ProductOffer](https://github.com/spryker/product-offer) | Provides the main create-read-update product offer functionality. |
-| [ProductOfferValidity](https://github.com/spryker/product-offer-validity) | Defines validity period for an offer. |
-| [Shop.MerchantProductOfferWidget](https://github.com/spryker-shop/merchant-product-offer-widget) | Provides merchant product offer information for the `spryker-shop`. |
-
-## Domain model
-
-The following schema illustrates the domain model of the Marketplace Product Offer feature:
-
-![Domain model](https://confluence-connect.gliffy.net/embed/image/681c5f0c-4a17-4255-9033-7777a6127ce0.png?utm_medium=live&utm_source=custom)
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |GLUE API GUIDES |DATA IMPORT | HOW-TO GUIDES |REFERENCES |
-|---------|---------|---------|---------|---------|
-|[Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-feature-integration.html) | [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html) | [File details: combined_merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-combined-merchant-product-offer.csv.html) |[Rendering merchant product offers on the Storefront](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/rendering-product-offers-on-the-storefront.html) | [Product offer in the Back Office](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/product-offer-in-the-back-office.html) |
-|[Marketplace Product Offer + Cart feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-cart-feature-integration.html) | [Retrieving product offers for a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-product-offers-of-concrete-products.html) |[File details: merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-offer.csv.html) | | [Product offer storage](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/product-offer-storage.html) |
-|[Marketplace Product Offer + Checkout feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-checkout-feature-integration.html) | | [File details: product_offer_stock.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-product-offer-stock.csv.html) | |[Product Offer store relation](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/product-offer-store-relation.html) |
-|[Marketplace Merchant Portal Product Offer Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-merchant-portal-product-offer-management-feature-integration.html) | | [File details: product_offer_validity.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-product-offer-validity.csv.html) | |[Product Offer validity dates](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/product-offer-validity-dates.html) |
-|[Glue API: Marketplace Product Offer integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html) | | [File details: merchant_product_offer_store.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-offer-store.csv.html) | | |
-|[Glue API: Marketplace Product Offer + Wishlist integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-wishlist-feature-integration.html) | | | | |
-|[Glue API: Marketplace Product Offer + Cart integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-cart-feature-integration.html) | | | | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-in-the-back-office.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-in-the-back-office.md
deleted file mode 100644
index 052b2acca5f..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-in-the-back-office.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Product Offer in the Back Office
-description: This document provides reference information about product offers in the Back Office.
-template: concept-topic-template
----
-
-To inject the [Marketplace Product Offer](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/marketplace-product-offer-feature-walkthrough.html) feature into the [Back office](/docs/scos/user/features/{{page.version}}/spryker-core-back-office-feature-overview/spryker-core-back-office-feature-overview.html) the following modules are used:
-
-| MODULE | DESCRIPTION |
-| -------------------- | ---------- |
-| [ProductOfferGui](https://github.com/spryker/product-offer-gui) | Main module which provides CRUD functionality for product offers in the Back Office. You can extend the module by implementing interfaces from the ProductOfferGuiExtension module. |
-| [ProductOfferGuiExtension](https://github.com/spryker/product-offer-gui-extension) | Provides interfaces for extending the ProductOfferGui module. |
-| [MerchantProductOfferGui](https://github.com/spryker/merchant-product-offer-gui) | Extends the ProductOfferGui module, adds merchant context for managing offers in the Back office. |
-| [ProductOfferValidityGui](https://github.com/spryker/product-offer-validity-gui) | Extends the ProductOfferGui module, adds the [validity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/product-offer-validity-dates.html) context for managing offers in the Back office. |
-
-## Module relations
-
-The following schema illustrates module relations in the Product Offer entity for the Back Office:
-
-![Module dependency graph](https://confluence-connect.gliffy.net/embed/image/5db1ea40-576c-4663-b53d-e37469be0f81.png?utm_medium=live&utm_source=custom)
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-storage.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-storage.md
deleted file mode 100644
index c4c2b16049a..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-storage.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: Product Offer storage
-description: This document provides reference information about Marketplace Product Offer storage.
-template: concept-topic-template
----
-
-Product Offer and data related to it is cached to enhance performance.
-
-{% info_block infoBox "" %}
-
-For details about how to use and configure Redis as a key-value storage, see [Using and configuring Redis as a key-value storage](/docs/scos/dev/back-end-development/client/use-and-configure-redis-as-a-key-value-storage.html).
-
-{% endinfo_block %}
-
-The following modules are used for the Product Offer storage:
-
-| MODULE | DESCRIPTION |
-| -------------------- | ---------- |
-| [MerchantProductOfferStorage](https://github.com/spryker/merchant-product-offer-storage) | Provides entity listeners and operates data caching according to the entity changes |
-| [MerchantProductOfferStorageExtension](https://github.com/spryker/merchant-product-offer-storage-extension) | Provides interfaces for extending the data caching. |
-
-
-{% info_block infoBox "" %}
-
-For details about how to use Client, use `Client` of the `MerchantProductOfferStorage` module for getting the cached data, see [Client](/docs/scos/dev/back-end-development/client/client.html).
-
-{% endinfo_block %}
-
-## Module relations
-
-The following schema illustrates module relations in the Product Offer storage entity:
-
-![Module dependency graph](https://confluence-connect.gliffy.net/embed/image/088f0f24-b61d-40e0-a402-876fb48915b6.png?utm_medium=live&utm_source=custom)
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-store-relation.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-store-relation.md
deleted file mode 100644
index 372452ec253..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-store-relation.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Product Offer store relation
-description: This document provides reference information about Marketplace Product Offer relation with stores in the Spryker Marketplace.
-template: concept-topic-template
----
-
-Product offer has the many-to-many relation with stores. It means that the same offer can be available in multiple stores at the same time.
-The store data is cachable.
-
-## Module dependency graph
-
-The following schema illustrates module relations between the Product Offer and Store entities:
-
-![Module dependency graph](https://confluence-connect.gliffy.net/embed/image/a3cc640e-19f7-4208-aa82-3319450449b1.png?utm_medium=live&utm_source=custom)
-
-
-## Domain model
-
-The following schema illustrates the Store-Product Offer domain model:
-
-![Domain model](https://confluence-connect.gliffy.net/embed/image/1448089c-f0c4-4dcb-86e8-bf2f2421c51d.png?utm_medium=live&utm_source=custom)
-
-
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-validity-dates.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-validity-dates.md
deleted file mode 100644
index 2319930208f..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/product-offer-validity-dates.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Product Offer validity dates
-description: This document provides reference information about Marketplace Product Offer validity dates in the Spryker Marketplace.
-template: concept-topic-template
----
-
-Validity dates define the date range when a product offer is active. The Validity Dates entity manipulates the product offer activity field (`spy_product_offer.is_active`),
-activating and deactivating it based on the validity date range.
-
-To update the product offer activity by validity dates data, run:
-
-```bash
-console product-offer:check-validity
-```
-
-## Module relations
-
-The following schema illustrates module relations in the Product Offer Validity entity:
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/c49ca6db-3655-4d86-bdb1-ed05d2e1e721.png?utm_medium=live&utm_source=custom)
-
-
-## Domain model
-The following schema illustrates the ProductOffer-ProductOfferValidity domain model:
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/b20c2abe-77c4-4c33-b361-48034e64dc7b.png?utm_medium=live&utm_source=custom)
-
-## Validity data import
-
-You can import the product offer validity data from the[product_offer_validity.csv](/docs/marketplace/dev/data-import/{{site.version}}/file-details-product-offer-validity.csv.html) file by running
-
-```bash
-data:import product-offer-validity
-```
-
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/rendering-product-offers-on-the-storefront.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/rendering-product-offers-on-the-storefront.md
deleted file mode 100644
index 334ab702c86..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-feature-walkthrough/rendering-product-offers-on-the-storefront.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Rendering merchant product offers on the Storefront
-last_updated: Nov 05, 2021
-description: Learn how to render the Merchant Product Offers on the Storefront.
-template: howto-guide-template
----
-
-This document explains how to render the merchant product offers on the Storefront.
-
-## Prerequisites
-
-The [MerchantProductOfferWidget](https://github.com/spryker-shop/merchant-product-offer-widget) module is responsible for rendering product offers on the Storefront. Make sure it is installed in your project before adding the product offers to the Storefront.
-
-## Rendering product offers on the product details page
-
-To render the MerchantProductOfferWidget on the product details page, add it to the `product-configurator.twig` molecule at the project and vendor levels.
-
-Project level path: `/src/Pyz/Yves/ProductDetailPage/Theme/default/components/molecules/product-configurator/product-configurator.twig`
-
-Vendor level path: `/vendor/spryker/spryker-shop/Bundles/ProductDetailPage/src/SprykerShop/Yves/ProductDetailPage/Theme/default/components/molecules/product-configurator/product-configurator.twig`
-
-```twig
-{% raw %}
-Widget code: {% widget 'MerchantProductOfferWidget' args [data.product] only %}{% endwidget %}
-{% endraw %}
-
-```
-## Rendering product offers on the cart page
-
-To render the MerchantProductOfferWidget module to the *Cart* page, add it to the `product-cart-item.twig` molecule at the vendor level:
-
-```twig
-{% raw %}
-Widget code: {% widget 'ProductOfferSoldByMerchantWidget' args [data.product] only %}{% endwidget %}
-{% endraw %}
-```
-## Rendering product offers on the checkout pages
-
-To render the MerchantProductOfferWidget module on the checkout pages, change the *summary-item* molecule at the summary (`/vendor/spryker/spryker-shop/Bundles/CheckoutPage/src/SprykerShop/Yves/CheckoutPage/Theme/default/views/summary/summary.twig`) and shipment (`/vendor/spryker/spryker-shop/Bundles/CheckoutPage/src/SprykerShop/Yves/CheckoutPage/Theme/default/views/shipment/shipment.twig`) steps to the *summery-note* molecule with the new data parameters:
-
-```twig
-{% raw %}
-{% embed molecule('summary-node', 'CheckoutPage') with {
- data: {
- node: item,
- },
-....
-{% endembed %}
-{% endraw %}
-
-```
-
-{% info_block infoBox "Info" %}
-
-Keep in mind that:
-
-- *summary-node* already includes a new summary-product-packaging-unit-node molecule.
-
-- *summary-product-packaging-unit-node* molecule already includes a widget with offers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-prices-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-prices-feature-walkthrough.md
deleted file mode 100644
index f0659e32206..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-offer-prices-feature-walkthrough.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: Marketplace Product Offer Prices feature walkthrough
-description: The Marketplace Product Offer Prices feature lets Marketplace merchants set prices for product offers.
-template: feature-walkthrough-template
----
-
-With the *Marketplace Product Offer Prices* feature, the Marketplace merchants can define custom prices for [product offers](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-feature-walkthrough/marketplace-product-offer-feature-walkthrough.html).
-
-Merchants can define the prices for each product offer. If no price for the product offer is specified, a default price from the concrete product is used.
-
-Price types (for example,gross price, net price) are assigned to each price, and for each price type, there can be from *one* to *n* product prices. Price type entities are used to differentiate between use cases: for example, we have DEFAULT and ORIGINAL prices which are used for sale pricing. You can add your own price types and use them in your app.
-
-A new price type can be added by importing price data. The price type in the CSV file will be added or updated.
-
-To learn more details about prices import file, see: [File details: product_price.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/pricing/file-details-product-price.csv.html)
-
-Depending on the price mode selected by a customer in Storefront, the price can have gross or net value. You can run your shop in both modes as well as select net mode for business customers, for example.
-
-A price is also associated with a currency and a store.
-
-To support product offer prices, a *PriceProductOffer* database table has been added to connect *PriceProductStore* and *ProductOffer* tables. In order to store the information about product offer prices that will be synchronized to Storage, the *ProductConcreteProductOfferPriceStorage* database table has been added. On the Storefront, this data is used to display correct prices for product offers.
-
-In addition, product offers support volume prices. Merchants can now enter volume prices for product offers, and customers will see the corresponding price on their Storefront based on the quantity they have chosen. The volume prices for product offers work the same as the volume prices for products.
-
-To learn more about prices and volume prices, see: [Prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html), [Volume Prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html)
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Product offer price](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html#product-offer-price) overview for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Product Offer Prices* feature.
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/f128877d-eb61-4d87-b1af-5f166eb45c45.png?utm_medium=live&utm_source=confluence)
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| PriceProductOffer | Provides product offer price-related functionality, price persistence, current price resolvers per currency/price mode. |
-| PriceProductOfferDataImport | Imports data for product offer prices. |
-| PriceProductOfferGui | Backoffice UI Interface for managing prices for product offers. |
-| PriceProductOfferStorage | Provides functionality to store data about product offer prices in the storage. |
-| PriceProductOfferVolume | Provides functionality to handle volume prices for product offers. |
-| PriceProductOfferVolumeGui | Backoffice UI Interface for managing volume prices for product offers. |
-| PriceProductOfferExtension | Provides plugin interfaces for extending `PriceProductOffer` module functionality. |
-| PriceProductOfferStorageExtension | Provides plugin interfaces used by Price Product Offer Storage bundle. |
-| PriceProductOfferVolumesRestApi | Provides plugin(s) to add product-offer-volume-prices to the product-offer-prices. |
-| ProductOfferPricesRestApi | Provides Rest API endpoints to manage product offer prices. |
-| ProductOfferPricesRestApiExtension | Provides plugin interfaces for extending the `ProductOfferPricesRestApi` module. |
-| Price | Handles product pricing and provides plugins for products to populate prices. |
-| PriceProduct | Provides product price-related functionality, price persistence, current price resolvers per currency/price mode. |
-| PriceProductStorage | Provides functionality to store data about product prices in the storage. |
-| PriceProductVolume | Provides functionality to handle volume prices for products. |
-| ProductOffer | Provides the core functionality for product offer features. |
-
-## Domain model
-
-The following schema illustrates the Marketplace Product Offer Prices domain model:
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/0ad490bb-f21f-4e4a-b6eb-e0102a8c7b42.png?utm_medium=live&utm_source=confluence)
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |GLUE API GUIDES |DATA IMPORT |
-|---------|---------|---------|
-| [Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-offer-prices-feature-integration.html) | [Retrieving product offer prices](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-prices.html) | [File details: price-product-offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-price-product-offer.csv.html) |
-|[Glue API: Marketplace Product Offer Prices integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html) | | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-options-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-options-feature-walkthrough.md
deleted file mode 100644
index 8d50aea98ee..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-product-options-feature-walkthrough.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Marketplace Product Options feature walkthrough
-description: Marketplace Product Options lets merchants create their product option groups and values.
-template: feature-walkthrough-template
----
-
-The *Marketplace Product Options* feature lets merchants create their product option groups and values. Currently, you can [import product options](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-option-group.csv.html) where you specify the merchant reference.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Product Options feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-product-options-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Product Options* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/d8882366-b2dd-4d6c-b401-01db47a00481.png?utm_medium=live&utm_source=custom)
-
-| NAME | DESCRIPTION |
-| --- | --- |
-| [MerchantProductOption](https://github.com/spryker/merchant-product-option) | Provides merchant product option main business logic and persistence. |
-| [MerchantProductOptionDataImport](https://github.com/spryker/merchant-product-option-data-import) | Provides data import functionality for merchant product options. |
-| [MerchantProductOptionStorage](https://github.com/spryker/merchant-product-option-storage) | Provides publish and sync functionality for merchant product options. |
-| [MerchantProductOptionGui](https://github.com/spryker/merchant-product-option-gui) | Provides backoffice UI for merchant product options management. |
-| [ProductOption](https://github.com/spryker/product-option) | Provides additional layer of optional items that can be sold with the actual product. |
-| [ProductOptionStorage](https://github.com/spryker/product-option-storage) | Provides publish and sync functionality for product options. |
-| [Shop.ProductOptionWidget](https://github.com/spryker-shop/product-option-widget) | Provides widgets for displaying product options. |
-
-## Domain model
-
-The following schema illustrates the Marketplace Product Options domain model:
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/90a0e5bc-a0d9-4cb2-a215-c5d08a786115.png?utm_medium=live&utm_source=custom)
-
-## Related Developer documents
-
-| INTEGRATION GUIDES | DATA IMPORT |
-|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [Marketplace Product Options feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-product-options-feature-integration.html) | [File details: merchant product option group](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-option-group.csv.html) |
-| [Merchant Portal - Marketplace Product Options Management integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-product-options-management-feature-integration.html) | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-promotions-and-discounts-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-promotions-and-discounts-feature-walkthrough.md
deleted file mode 100644
index 82c90ba10af..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-promotions-and-discounts-feature-walkthrough.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title: Marketplace Promotions and Discounts feature walkthrough
-description: This document provides technical details about the Marketplace Promotions and Discounts feature.
-template: feature-walkthrough-template
----
-
-With the *Marketplace Promotions and Discounts* feature, the discounts are applied to the merchant orders.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Promotions and Discounts feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-product-options-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Promotions and Discounts* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/75358e26-725d-4f7d-8686-c72be236b88e.png?utm_medium=live&utm_source=custom)
-
-| NAME | DESCRIPTION |
-| --- | --- |
-| [DiscountMerchantSalesOrder](https://github.com/spryker/discount-merchant-sales-order) | Provides a plugin for filtering out discounts in `MerchantOrderTransfer.order` that does not belong to the current merchant order. |
-| [DiscountMerchantSalesOrderGui](https://github.com/spryker/discount-merchant-sales-order) | Provides an endpoint `/discount-merchant-sales-order-gui/merchant-sales-order/list` to view the merchant order discounts list in the Back Office. |
-| [MerchantSalesOrderExtension](https://github.com/spryker/merchant-sales-order-extension) | Provides plugin interfaces for the `MerchantSalesOrder` module. |
-| [MerchantSalesOrder](https://github.com/spryker/merchant-sales-order) | Links merchant to sales orders. |
-
-## Related Developer documents
-
-| INSTALLATION GUIDES|
-| -------------- |
-| [Marketplace Promotions & Discounts feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-promotions-discounts-feature-integration.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-return-management-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-return-management-feature-walkthrough.md
deleted file mode 100644
index b6a55322d56..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-return-management-feature-walkthrough.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Marketplace Return Management feature walkthrough
-description: This document provides technical details about the Marketplace Return Management feature.
-template: feature-walkthrough-template
----
-
-With the *Marketplace Return Management* feature, marketplace merchants can manage their returns.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Return Management](/docs/marketplace/user/features/{{page.version}}/marketplace-return-management-feature-overview.html) feature overview for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Return Management* feature.
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/e12bcdcb-8510-4ebf-80c3-0ee1c3054002.png?utm_medium=live&utm_source=confluence)
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| MerchantSalesReturn | Provides functionality to link merchant to the sales returns. |
-| MerchantSalesReturnGui | Provides Backoffice UI for the merchant sales returns. |
-| MerchantSalesReturnMerchantUserGui | Provides Backoffice UI for managing merchant user sales returns. |
-| MerchantSalesReturnWidget | Provides merchant information for the sales returns on the Storefront. |
-| MerchantSalesReturnsRestApi | Provides REST API endpoints to manage merchant sales returns. |
-| SalesReturn | Handles order returns. |
-| SalesReturnExtension | Provides interfaces of plugins to extend `SalesReturn` module from other modules. |
-
-## Domain model
-
-The following schema illustrates the Marketplace Return Management domain model:
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/9f01ed2f-2be0-4e59-afa3-e56fd8390b51.png?utm_medium=live&utm_source=confluence)
-
-## Related Developer documents
-
-| INTEGRATION GUIDES | GLUE API GUIDES |
-| -------------------- | -------------- |
-| [Marketplace Return Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-return-management-feature-integration.html) | [Managing the returns](/docs/marketplace/dev/glue-api-guides/{{page.version}}/managing-the-returns.html) |
-| [Glue API: Marketplace Return Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-return-management-feature-integration.html) | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-shipment-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-shipment-feature-walkthrough.md
deleted file mode 100644
index a3ce57ef05d..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-shipment-feature-walkthrough.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: Marketplace Shipment feature walkthrough
-last_updated: Nov 2, 2021
-description: The Marketplace Shipment feature provides the connection between Merchant and Shipment.
-template: feature-walkthrough-template
----
-
-The *Marketplace Shipment* feature provides the connection between Merchant and Shipment, and works together with [marketplace orders](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.html) to split order items into several shipments based on the merchants from which they were bought.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Shipment feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-shipment-feature-overview.html) for business users.
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Shipment* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/448f4d60-ebdb-4380-bfc9-21b6c49ddf3f.png?utm_medium=live&utm_source=confluence)
-
-
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| [MerchantShipment](https://github.com/spryker/merchant-shipment) | Provides connection between merchant and shipment. |
-| [MerchantShipmentGui](https://github.com/spryker/merchant-shipment-gui) | Module is responsible for providing the Back Office interface for merchant shipment functionality. |
-| [Merchant](https://github.com/spryker/merchant) | This module provides database structure and functionality to manage Merchants. |
-| [Shipment](https://github.com/spryker/shipment) | With shipment features, shipment carriers and shipment methods can be selected. In the Storefront, for example, the shipment method can be selected during checkout. Each shipment method is linked to a shipment carrier, and a shipment carrier can have zero to many shipment methods. |
-| [ShipmentGui](https://github.com/spryker/shipment-gui) | The Back Office interface for shipment functionality is provided by this module. |
-| [ShipmentGuiExtension](https://github.com/spryker/shipment-gui-extension) | The `ShipmentGuiExtension` module provides interfaces for plugins to extend the `ShipmentGui` module from other modules. |
-
-
-
-## Domain model
-
-The following schema illustrates the Marketplace Shipment domain model:
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/bc12cbec-87e4-4913-9885-e1986df6f464.png?utm_medium=live&utm_source=confluence)
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |
-|---------|
-| [Marketplace Shipment feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-shipment-feature-integration.html) | |
-| [Marketplace Shipment + Cart feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-shipment-cart-feature-integration.html) | |
-| [Marketplace Shipment + Customer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-shipment-customer-feature-integration.html) | |
-| [Marketplace Shipment + Checkout feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-shipment-checkout-feature-integration.html) | |
-| | | | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-wishlist-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-wishlist-feature-walkthrough.md
deleted file mode 100644
index 6da25169e18..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/marketplace-wishlist-feature-walkthrough.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: Marketplace Wishlist feature walkthrough
-description: This document provides technical details about the Marketplace Wishlist feature.
-template: feature-walkthrough-template
----
-
-With the *Marketplace Wishlist* feature, the customers can track and save merchant offers and products they wish to purchase through the wishlist. The customers can create multiple wishlists and customize their names.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Marketplace Wishlist feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-wishlist-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Marketplace Wishlist* feature.
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/e7a2ef43-7eb8-435a-870b-d8012fe8bd07.png?utm_medium=live&utm_source=confluence)
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| MerchantProductWishlist | Provides ability to work with merchant product in the wishlist. |
-| MerchantProductOfferWishlist | Provides ability to work with the product offers in the wishlist. |
-| MerchantProductOfferWishlistRestApi | Provides ability to manage product offers for wishlist Rest API. |
-| Wishlist | Provides infrastructure and functionality to handle multiple wishlists for customer account. |
-| WishlistExtension | Provides plugin interfaces for extending Wishlist module functionality. |
-
-## Domain model
-
-The following diagram illustrates the domain model of the *Marketplace Wishlist* feature:
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/6d5e9f9f-f841-4877-bf65-7fdd38d6d49b.png?utm_medium=live&utm_source=confluence)
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | GLUE API GUIDES |
-| ------------- | -------------- |
-| [Marketplace Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html) | [Managing wishlists](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html)
-| [Glue API: Marketplace Product Offer + Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-wishlist-feature-integration.html) | [Managing wishlist items](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlist-items.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-category-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-category-feature-walkthrough.md
deleted file mode 100644
index 6bccd5a064f..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-category-feature-walkthrough.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-title: Merchant Category feature walkthrough
-last_updated: Apr 23, 2021
-description: Merchant categories allows grouping merchants by categories.
-template: feature-walkthrough-template
----
-
-The *Merchant Category* feature allows splitting merchants into various categories in order to extend business logic of the project.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Merchant Category feature overview](/docs/marketplace/user/features/{{page.version}}/merchant-category-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/19aac040-a607-4a20-8edf-a81473e293e9.png?utm_medium=live&utm_source=custom)
-
-| MODULE | DESCRIPTION |
-|---|---|
-| [Category](https://github.com/spryker/category) | Helps you build a product organisation structure. Categories are modelled in an hierarchical structure, a tree. |
-| [MerchantCategory](https://github.com/spryker/merchant-category) | Provides a connection between category and merchant entities. |
-| [MerchantCategoryDataImport](https://github.com/spryker/merchant-category-data-import) | Imports relations between categories and merchants from CSV file. |
-| [MerchantCategorySearch](https://github.com/spryker/merchant-category-search) | Provides plugins to extend `MerchantSearch` with categories. |
-
-## Domain model
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/2f9ddeb3-aefe-4511-b1d0-7936a7935c6a.png?utm_medium=live&utm_source=custom)
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | DATA IMPORT |
-|---|---|
-| [Merchant Category feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-category-feature-integration.html) |[File details: merchant_category.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-category.csv.html) |
-| [Glue API: Merchant Category integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/merchant-category-feature-integration.html) | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-opening-hours-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-opening-hours-feature-walkthrough.md
deleted file mode 100644
index 1b015630a9c..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/merchant-opening-hours-feature-walkthrough.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Merchant Opening Hours feature walkthrough
-description: The Merchant Opening Hours lets you define opening hours for a merchant.
-template: feature-walkthrough-template
----
-
-By using the 'Merchant Opening Hours' feature, merchants can save their opening hours in the system and make them accessible to customers. A merchant may have a weekday schedule, which is an opening schedule for every day of the week, as well as date-based exceptions, such as during the holiday season when opening hours may be different.
-
-{% info_block warningBox "User documentation" %}
-
-To learn more about the feature and to find out how end users use it, see [Merchant Opening Hours feature overview](/docs/marketplace/user/features/{{page.version}}/merchant-opening-hours-feature-overview.html) for business users.
-
-{% endinfo_block %}
-
-## Module dependency graph
-
-The following diagram illustrates the dependencies between the modules for the *Merchant Opening Hours* feature.
-
-![Module Dependency Graph](https://confluence-connect.gliffy.net/embed/image/0b05a957-57a4-4422-9595-5bbe63a6a18b.png?utm_medium=live&utm_source=custom)
-
-| MODULE | DESCRIPTION |
-|------------|----------------------------|
-| MerchantOpeningHours | Provides merchants with the ability to schedule opening hours. |
-| MerchantOpeningHoursDataImport | Data importer for the `MerchantOpeningHours`. |
-| MerchantOpeningHoursStorage | Manages storage for merchant opening hours entities. |
-| WeekdaySchedule | Configures weekdays and dates based on your schedule. |
-| MerchantOpeningHoursWidget | Provides a widget to show merchant opening hours. |
-| MerchantOpeningHoursRestApi | Provides REST API endpoints to manage merchant opening hours. |
-| Merchant | Provides database structure and facade methods to save/update/remove merchants. |
-| MerchantStorage | Manages storage for merchant entities. |
-
-## Domain model
-
-The following schema illustrates the Merchant Opening Hours domain model:
-
-![Domain Model](https://confluence-connect.gliffy.net/embed/image/ad57523c-52cd-4733-bfb5-9c43666ae54c.png?utm_medium=live&utm_source=custom)
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |GLUE API GUIDES |DATA IMPORT |
-|---------|---------|---------|
-| [Merchant Opening Hours feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-opening-hours-feature-integration.html) |[Retrieve profile information for a merchant](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#retrieve-a-merchant) | [File details: merchant_open_hours_week_day_schedule.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-open-hours-week-day-schedule.csv.html) |
-| [Glue API: Merchant Opening Hours integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/merchant-opening-hours-feature-integration.html) |[Retrieve merchant opening hours](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchant-opening-hours.html) | [File details: merchant_open_hours_date_schedule.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-open-hours-date-schedule.csv.html) |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/execution-flow.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/execution-flow.md
deleted file mode 100644
index 89b0e4a3ad9..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/execution-flow.md
+++ /dev/null
@@ -1,107 +0,0 @@
----
-title: Execution flow
-last_updated: Nov 05, 2021
-description: Performing model actions and selecting and applying rules for a query share some similarities, but they have some differences as well. A user with insufficient permissions during query execution will be forced to run a query that results in an empty collection when the system executes the query.
-template: concept-topic-template
----
-
-## Query processing flow
-
-Performing model actions and selecting and applying rules for a query share some similarities, but they have some differences as well. A user with insufficient permissions during query execution will be forced to run a query that results in an empty collection when the system executes the query.
-
-![Query processing flow](https://confluence-connect.gliffy.net/embed/image/9f520855-8387-4dda-a028-abe70e11611a.png?utm_medium=live&utm_source=custom)
-
-Persistence ACL will do the following when processing a query:
-
-- Identify the User Roles that have Rules for the Entity and Operation from the query.
-- Filter the Query performed, based on all the rules in the Role found.
-
-Whenever there are multiple rules with different scopes, only those that apply to the higher priority scopes are applied.
-
-The priority of scope is configurable. To modify it, you should override `\Spryker\Zed\AclEntity\AclEntityConfig::getScopePriority()`.
-
-The default priority:
-
-| SCOPE | PRIORITY |
-|-----|-----|
-| global | 2 |
-| inherited | 1 |
-| segment | 0 |
-
-By default, rules with a global scope have the highest priority, and rules with a segment scope have the lowest priority.
-
-### Example of the select query
-
-You can check the logic of selecting rules based on the following query.
-
-```php
-use Orm\Zed\Merchant\Persistence\Map\SpyMerchantTableMap;
-use Orm\Zed\Merchant\Persistence\SpyMerchantQuery;
-
-$merchantQuery = SpyMerchantQuery::create()->orderBy(SpyMerchantTableMap::COL_UPDATED_AT);
-$merchantCollection = $merchantQuery->find();
-```
-
-`spy_acl_entity_rule`
-
-| id_acl_entity_rule | fk_acl_entity_segment | fk_acl_role | entity | permission_mask | scope |
-|-----|-----|-----|-----|-----|-----|
-| 1 | null | 15 | `Orm\Zed\Country\Persistence\SpyCountry` | 1 | 0 |
-| 2 | 12 | 15 | `Orm\Zed\Merchant\Persistence\SpyMerchant` | 15 | 1 |
-| 3 | null | 15 | `Orm\Zed\Sales\Persistence\SpySalesOrderItem` | 7 | 2 |
-| 4 | null | 15 | `Orm\Zed\Customer\Persistence\SpyCustomer` | 1 | 0 |
-| 5 | null | 15 | `Orm\Zed\Merchant\Persistence\SpyMerchant` | 6 | 0 |
-| 6 | 138 | 15 | `Orm\Zed\Merchant\Persistence\SpyMerchant` | 1 | 1 |
-
-All rules with ID `1`, `3`, `4` are filtered out since they do not belong to `Orm\Zed\Merchant\Persistence\SpyMerchant`. The rule with ID `5` is filtered out since it does not relate to query operation (query has read operation, but rule is configured for `create` and `update` actions). For the given query, only the rules with ids `2` and `6` will be considered. They both have `segment` scope.
-
-The Persistence ACL modifies the query so that only records that the user has access to are returned:
-
-Query before the Persistence ACL:
-```sql
-SELECT * FROM `spy_merchant` order by `updated_at`;
-```
-
-Query after the Persistence ACL:
-```sql
-SELECT `spy_merchant`.*
-FROM `spy_merchant`
- INNER JOIN `spy_acl_entity_segment_merchant`
- ON (`spy_merchant`.`id_merchant` = `spy_acl_entity_segment_merchant`.`fk_merchant`
- AND `spy_acl_entity_segment_merchant`.`fk_acl_entity_segment` IN (12, 138))
-ORDER BY `spy_merchant`.`updated_at`;
-```
-
-## Model action processing flow
-
-Model actions are generally handled the same way as queries, but there are certain differences:
-
-Exceptions are thrown if a user performs unauthorized actions on the Active Record model (create, update or delete).
-
-![Model action processing flow](https://confluence-connect.gliffy.net/embed/image/c84bb011-1c7c-45e7-84b3-f98b2fee8e08.png?utm_medium=live&utm_source=custom)
-
-### Example of the create action
-
-You can check the logic of selecting rules based on the following query.
-
-```php
-use Orm\Zed\Product\Persistence\SpyProductAbstract;
-
-$productAbstractEntity = new SpyProductAbstract();
-$productAbstractEntity->setSku('006');
-
-$productAbstractEntity->save();
-```
-
-`spy_acl_entity_rule`
-
-| id_acl_entity_rule | fk_acl_entity_segment | fk_acl_role | entity | permission_mask | scope |
-|-----|-----|-----|-----|-----|-----|
-| 1 | null | 15 | `Orm\Zed\Country\Persistence\SpyCountry` | 1 | 0 |
-| 2 | 3 | 15 | `Orm\Zed\Product\Persistence\SpyProductAbstract` | 13 | 1 |
-| 3 | null | 15 | `Orm\Zed\Store\Persistence\SpyStore` | 1 | 0 |
-| 4 | null | 16 | `Orm\Zed\Product\Persistence\SpyProductAbstract` | 7 | 0 |
-
-The rules with ID `1` and `3` are filtered out since they do not belong to `Orm\Zed\Product\Persistence\SpyProductAbstract`. Because rule ID `2` does not grant permission to `create`, the rule with ID `4` will apply instead, and the creation will be allowed.
-
-If there were no rule with ID `4`, a `Spryker\Zed\AclEntity\Persistence\Exception\OperationNotAuthorizedException` would be thrown.
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.md
deleted file mode 100644
index 12c30aac4ed..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.md
+++ /dev/null
@@ -1,340 +0,0 @@
----
-title: Persistence ACL feature configuration
-last_updated: Nov 05, 2021
-description: In this article, you will learn how to configure the Persistence ACL feature.
-template: concept-topic-template
----
-This document describes how you can configure the [Persistence ACL feature](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/persistence-acl-feature-walkthrough.html).
-
-The Persistence ACL functionality is based on the Propel behavior. You can enable the feature in two different ways:
-- [Create a connection with one or more database tables](#connect-persistence-acl-feature-to-one-or-more-database-tables).
-- [Connect the feature to all database tables](#connect-persistence-acl-feature-to-all-database-tables).
-
-## Connect Persistence ACL feature to one or more database tables
-
-In the following code snippet, only SpyMerchant entity is configured to be handled by ACL.
-
-```xml
-
-
-
-
-
-
-```
-
-## Connect Persistence ACL feature to all database tables
-
-ACL handles all entities in the system in the following example.
-When configuring ACLs in such a way, be sure to use the [Allowed entity list](#allowlist-configuration) to exclude entities that are needed to function properly.
-Provide the list of entities that are needed:
-
-- `SpyUser`
-- `SpyAclRole`
-- `SpyAclGroup`
-- `SpyAclRule`
-- `SpyAclEntityRule`
-- `SpyUrl`
-- `SpyAclEntitySegment`
-- `SpyAclGroupsHasRoles`
-- `SpyAclUserHasGroup`
-
-```xml
-
-
-
-
-```
-
-## Persistence ACL feature configuration
-
-The configuration, unlike the rule, is common to the entire system. The main configuration object for the feature is `\Generated\Shared\Transfer\AclEntityMetadataConfigTransfer`. Through the plugin system, it can be extended. You just need to create a plugin and implement `\Spryker\Zed\AclEntityExtension\Dependency\Plugin\AclEntityMetadataConfigExpanderPluginInterface`.
-
-![Configuration entity relation diagram](https://confluence-connect.gliffy.net/embed/image/f2309504-8638-419d-abf9-783bc45c8792.png?utm_medium=live&utm_source=custom)
-
-### AclEntityMetadataConfigTransfer
-
-The properties of the `AclEntityMetadataConfigTransfer` are described in the following table.
-
-| PROPERTY | TYPE | DESCRIPTION |
-|-----|-----|-----|
-| aclEntityMetadataCollection | AclEntityMetadataCollectionTransfer | The collection of configurations for different entities.|
-| aclEntityAllowList | string[] | The set of fully qualified classes that this feature does not apply to (even if the user has rules for an entity that is in the allowlist). |
-
-### AclEntityMetadataCollectionTransfer
-
-The properties of the `AclEntityMetadataCollectionTransfer` are described in the following table.
-
-| PROPERTY | TYPE | DESCRIPTION |
-|-----|-----|-----|
-| collection | AclEntityMetadataTransfer[] | The set of configurations for the models. |
-
-### AclEntityMetadataTransfer
-
-The properties of the `AclEntityMetadataTransfer` are described in the following table.
-
-| PROPERTY | TYPE | DESCRIPTION |
-|-----|-----|-----|
-| parent | AclEntityParentMetadataTransfer | This property is used to configure the inheritance. It is required for the entity which has rules with the [inherited scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.html), or for the [composite entity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.html). For more details, see [Inherited scope vs Composite entity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.html). |
-| entityName | string | Fully qualified class name of the configured entity (Propel Entity). |
-| hasSegmentTable | bool | Sets if the configured entity supports segmentation. For more details, see [Segment scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.html) documentation. |
-| defaultGlobalOperationMask | int | Sets the default binary access mask (see [Execution flow](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/execution-flow.html) documentation). |
-| isSubentity | bool | Indicates whether the configured entity is the part of a composite object. For more details, see [Composite entity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.html). |
-
-### AclEntityParentMetadataTransfer
-
-The properties of the `AclEntityParentMetadataTransfer` are described in the following table.
-
-| PROPERTY | TYPE | DESCRIPTION |
-|-----|-----|-----|
-| connection | \Generated\Shared\Transfer\AclEntityParentConnectionMetadata | This property is used to set up the relationship between the current class and the parent. |
-| entityName | string | Fully qualified class name of the parent entity. |
-
-### AclEntityParentConnectionMetadataTransfer
-
-The properties of the `AclEntityParentConnectionMetadataTransfer` are described in the following table.
-
-Sometimes, foreign keys are not used to link the child and parent tables, but rather "reference columns". As a result, a `AclEntityParentConnectionMetadataTransfer` is available.
-
-| PROPERTY | TYPE | DESCRIPTION |
-|-----|-----|-----|
-| reference | string | Current class field. |
-| referencedColumn | string | Parent class field. |
-
-## Examples of configuration
-
-This section provides examples of ACL configuration.
-
-### Basic inheritance configuration
-
-This section shows how you can inherit the `SpyProduct` from `SpyStore` by using the `SpyProductAbstract` and the `SpyProductAbstractStore`.
-
-This configuration is necessary to use the functionality of the [Inherited scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.html) rules and [Composite entity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.html).
-
-```php
- /**
- * @param \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer
- *
- * @return \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer
- */
- public function expand(AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer): AclEntityMetadataConfigTransfer
- {
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyProduct::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyProduct::class)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyProductAbstract::class)
- )
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyProductAbstract::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyProductAbstract::class)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyProductAbstractStore::class)
- )
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyProductAbstractStore::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyProductAbstractStore::class)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyStore::class)
- )
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyStore::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyStore::class)
- );
-
- return $aclEntityMetadataConfigTransfer;
- }
-```
-
-### The inheritance through the reference column
-
-In some databases, data is linked not by foreign keys but by "reference columns".
-Below is an example of inheriting `SpyAvailability` from `SpyProduct` through a reference column (*sku* in this example).
-Pay attention to the [AclEntityParentConnectionMetadataTransfer](#aclentityparentconnectionmetadatatransfer) property.
-
-```php
- /**
- * @param \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer
- *
- * @return \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer
- */
- public function expand(AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer): AclEntityMetadataConfigTransfer
- {
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyAvailability::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyAvailability::class)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyProduct::class)
- ->setConnection(
- (new AclEntityParentConnectionMetadataTransfer())
- ->setReference('sku')
- ->setReferencedColumn('sku')
- )
- )
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyProduct::class,
- (new AclEntityMetadataTransfer())->setEntityName(SpyProduct::class)
- );
-
- return $aclEntityMetadataConfigTransfer;
- }
-```
-
-### Composite entity
-
-Below you can find an example of a [Composite entity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.html) `SpyMerchant`, which consists of:
-- `SpyMerchant`
-- `SpyMerchantProfile`
-- `SpyMerchantUser`
-- `SpyMerchantStore`
-
-```php
- /**
- * @param \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer
- *
- * @return \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer
- */
- public function expand(AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer): AclEntityMetadataConfigTransfer
- {
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyMerchantProfile::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyMerchantProfile::class)
- ->setIsSubEntity(true)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyMerchant::class)
- )
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyMerchantUser::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyMerchantUser::class)
- ->setIsSubEntity(true)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyMerchant::class)
- )
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyMerchantStore::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyMerchantStore::class)
- ->setIsSubEntity(true)
- ->setParent(
- (new AclEntityParentMetadataTransfer())
- ->setEntityName(SpyMerchant::class)
- )
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyMerchant::class,
- (new AclEntityMetadataTransfer())->setEntityName(SpyMerchant::class)
- );
-
- return $aclEntityMetadataConfigTransfer;
- }
-```
-
-### Data segmentation support
-
-The following is an example of the data segmentation for the `SpyMerchant`. Data segmentation is required for the [Segment scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.html) rules.
-
-```php
- /**
- * @param \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer
- *
- * @return \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer
- */
- public function expand(AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer): AclEntityMetadataConfigTransfer
- {
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyMerchant::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyMerchant::class)
- ->setHasSegmentTable(true)
- );
-
- return $aclEntityMetadataConfigTransfer;
- }
-```
-
-### Default operation mask
-
-The following example sets the default `Read` permissions for the `SpyCountry` and `Create + Read` permissions for the `SpyResetPassword`.
-
-```php
- /**
- * @param \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer
- *
- * @return \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer
- */
- public function expand(AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer): AclEntityMetadataConfigTransfer
- {
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyCountry::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyCountry::class)
- ->setDefaultGlobalOperationMask(AclEntityConstants::OPERATION_MASK_READ)
- );
- $aclEntityMetadataConfigTransfer->getAclEntityMetadataCollectionOrFail()->addAclEntityMetadata(
- SpyResetPassword::class,
- (new AclEntityMetadataTransfer())
- ->setEntityName(SpyResetPassword::class)
- ->setDefaultGlobalOperationMask(
- AclEntityConstants::OPERATION_MASK_CREATE | AclEntityConstants::OPERATION_MASK_READ
- )
- );
-
- return $aclEntityMetadataConfigTransfer;
- }
-```
-
-### Allowlist configuration
-
-The following example adds all the entities required for the Persistence Acl to function correctly:
-
-```php
- /**
- * @param \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer
- *
- * @return \Generated\Shared\Transfer\AclEntityMetadataConfigTransfer
- */
- public function expand(AclEntityMetadataConfigTransfer $aclEntityMetadataConfigTransfer): AclEntityMetadataConfigTransfer
- {
- $aclEntityMetadataConfigTransfer
- ->addAclEntityAllowListItem(SpyUser::class)
- ->addAclEntityAllowListItem(SpyAclRole::class)
- ->addAclEntityAllowListItem(SpyAclGroup::class)
- ->addAclEntityAllowListItem(SpyAclRule::class)
- ->addAclEntityAllowListItem(SpyAclEntityRule::class)
- ->addAclEntityAllowListItem(SpyUrl::class)
- ->addAclEntityAllowListItem(SpyAclEntitySegment::class)
- ->addAclEntityAllowListItem(SpyAclGroupsHasRoles::class)
- ->addAclEntityAllowListItem(SpyAclUserHasGroup::class);
-
- return $aclEntityMetadataConfigTransfer;
- }
-```
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-walkthrough.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-walkthrough.md
deleted file mode 100644
index 6aeccc2998c..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/persistence-acl-feature-walkthrough.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Persistence ACL feature walkthrough
-last_updated: Nov 05, 2021
-description: With the Persistence ACL feature, you can manage authorization at the database entity level, or even within a set of entities or segments.
-template: feature-walkthrough-template
----
-
-With the Persistence ACL feature, you can manage authorization at the database entity level, or even within a set of entities or segments. This feature enables a flexible system of inheritance of rights, simplifying the configuration of access.
-
-Persistence ACL runs in the Persistence layer, as its name suggests.
-
-## Limitations
-The module is based on the Propel ORM (namely Propel Behavior and Propel Hooks). If you are not using `PropelOrm` to interact with data in your system, this module will not work.
-
-## Module dependency graph
-
-The following module dependency graph and table list the main modules of the Persistence ACL feature and their interaction.
-
-![Module dependency graph](https://confluence-connect.gliffy.net/embed/image/b15ac7bf-e35f-4298-90da-b7d0c8227be9.png?utm_medium=live&utm_source=custom)
-
-| MODULE | DESCRIPTION |
-|-----|-----|
-| Acl | `\Spryker\Zed\Acl\Business\AclFacade::getUserRoles()` is used to get logged in user `AclRoles`. |
-| AclExtension | `Spryker\Zed\AclExtension\Dependency\Plugin\AclRolePostSavePluginInterface` is used to save `AclEntityRules` for `AclRole`.|
-| AclEntityDataImport | `AclEntityRule` and `AclEntitySegment` are used to import data. |
-| AclEntityExtension | In `/Spryker/Zed/AclEntityExtension/Dependency/Plugin/AclEntityDisablerPluginInterface`, `AclEntityDisablerPluginInterface` determines whether the feature is enabled. `\Spryker\Zed\AclEntityExtension\Dependency\Plugin\AclEntityMetadataConfigExpanderPluginInterface` is used in `\Spryker\Zed\AclEntity\Business\AclEntityFacade::getAclEntityMetadataConfig()` to expand the module configuration. |
-| PropelOrm | The module is used as a container for Propel library. |
-| User | `\Spryker\Zed\User\Business\UserFacade::hasCurrentUser()` is used to check if the user is logged in. `\Spryker\Zed\User\Business\UserFacade::getCurrentUser()` is used to determine which `AclEntityRules` should be considered during query processing. |
-
-## Domain model
-
-The following schema illustrates the Persistence ACL domain model:
-
-![Domain model](https://confluence-connect.gliffy.net/embed/image/4fe4c0ba-1192-4aca-97f8-d996dfccc583.png?utm_medium=live&utm_source=custom)
-
-## How it works
-
-Persistence ACL supports permission checks both when executing queries and when performing actions on Active Record models. Upon installation and configuration, code is injected into the Active Record model and Query classes that check the user's permissions for the appropriate actions. This module uses Propel hooks.
-
-![The module in application layers](https://confluence-connect.gliffy.net/embed/image/13f16eaa-9491-43ab-887d-0004c716eef4.png?utm_medium=live&utm_source=custom)
-
-{% info_block warningBox "Important!" %}
-
-If you execute queries outside of Propel API, they WILL NOT be handled by Persistence ACL.
-
-{% endinfo_block %}
-
-During model operations, the following hooks are used:
-
-- `preInsert`
-
-- `preUpdate`
-
-- `preDelete`
-
-
-
-Query execution is performed using the following hooks:
-
-- `preSelectQuery`
-
-- `preUpdateQuery`
-
-- `preDeleteQuery`
-
-A query sent to the database is intercepted and modified with additional joins to limit the results of the query to only those records available to the current user. If the user attempts to perform a restricted action on an Active Record model (such as updating, deleting, or creating), then `\Spryker\Zed\AclEntity\Persistence\Exception\OperationNotAuthorizedException` is thrown.
-
-## Learn more
-
-- [Configuration](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.html)
-- [Rules and scopes](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/rules-and-scopes.html)
-- [Execution flow](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/execution-flow.html)
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | REFERENCES | HOWTOS |
-|---------|---------|---------|
-| [ACL feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/acl-feature-integration.html) | [Persistence ACL feature configuration](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.html) | [HowTo: Split products by stores](/docs/marketplace/dev/howtos/how-to-split-products-by-stores.html)|
-| | [Execution flow](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/execution-flow.html) | |
-| | [Rules and scopes](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/rules-and-scopes.html) | |
-| | [Global scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/global-scope.html) | |
-| | [Segment scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.html) | |
-| | [Inherited scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.html) | |
-| | [Composite entity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.html) | |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.md
deleted file mode 100644
index 32eeccb991a..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title: Composite entity
-last_updated: Nov 05, 2021
-description: Composite entities of one Main Entity and one or more SubEntities and are represented by multiple tables in the database.
-template: concept-topic-template
----
-
-There are some Domain Entities represented by multiple tables in the database. To make the feature usable, the CompositeEntity concept was introduced: Composite entities consist of one Main Entity and one or more SubEntities. Access is granted implicitly. An AclEntityRule for the Main Entity grants access to all its Sub Entities. Sub Entities cannot be used as standalone entities in an AclEntityRule or Segment.
-
-Composite entity examples:
-
-- ProductAbstract
- - ProductAbstract + ProductConcrete + ProductPrice + ProductImage + ProductOptions
-- Merchant
- - Merchant + MerchantProfile + MerchantUser + MerchantStore
-- Order
- - Order + OrderItems + OrderTotals
-
-![Composite entity](https://confluence-connect.gliffy.net/embed/image/e57de4b7-b231-4e9b-8e5f-7cf64ed78874.png?utm_medium=live&utm_source=custom)
-
-If a user requests a sub entity, the main entity will be joined, and the rules for the main entity will apply.
-
-`spy_acl_entity_rule`
-
-| fk_acl_entity_segment | fk_acl_role | entity | permission_mask | scope |
-|-----|-----|-----|-----|-----|
-| 18 | 15 | `\Orm\Zed\Merchant\Persistence\SpyMerchant` | 1 | 1 |
-
-`spy_acl_entity_segment_merchant`
-
-| id_acl_entity_segment | name | reference |
-|-----|-----|-----|
-| 18 | Merchant Video King | merchant-video-king |
-
-Query before the Persistence ACL:
-```sql
-SELECT * FROM `spy_merchant_profile`;
-```
-
-Query after the Persistence ACL:
-```sql
-SELECT `spy_merchant_profile`.*
-FROM `spy_merchant_profile`
- INNER JOIN `spy_merchant` ON (`spy_merchant_profile`.`fk_merchant` = `spy_merchant`.`id_merchant`)
- INNER JOIN `spy_acl_entity_segment_merchant`
- ON (`spy_merchant`.`id_merchant` = `spy_acl_entity_segment_merchant`.`fk_merchant`
- AND `spy_acl_entity_segment_merchant`.`fk_acl_entity_segment` IN (18));
-```
-
-Although the composite entity has similar functionality to the internalized scope, there are some differences.
-
-## Inherited scope vs Composite entity
-
-| FUNCTIONALITY | INHERITED SCOPE | COMPOSITE ENTITY |
-|-----|-----|-----|
-| Access granted through | Rule | Configuration |
-| Permission mask is defined by | Rule | Inherit from Composite root |
-| Assigned to | User (through the role) | Common for all users |
-| Inherit permissions from the composite object | No | Yes |
-| Require additional relation condition | At least `Read` permission rule for the parent | No |
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/global-scope.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/global-scope.md
deleted file mode 100644
index 5c3fc1ce030..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/global-scope.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Global scope
-last_updated: Nov 05, 2021
-description: Global scope rules apply to an entire collection of entities (for example, Users, Orders).
-template: concept-topic-template
----
-
-Global scope rules apply to an entire collection of entities (for example, Users, Orders).
-
-As long as the user has the corresponding global rule with permissions, the Persistence ACL will not restrict the user from performing their actions. Accordingly, if the current user has the appropriate permission on a global scope rule, the database query will remain unchanged.
-
-![Global scope](https://confluence-connect.gliffy.net/embed/image/61268adb-9b3c-46f4-a83c-ed5862420298.png?utm_medium=live&utm_source=custom)
-
-`spy_acl_entity_rule`
-
-| fk_acl_entity_segment | fk_acl_role | entity | permission_mask | scope |
-|-----|-----|-----|-----|-----|
-| null | 15 | `Orm\Zed\Sales\Persistence\SpySalesOrder` | `AclEntityConstants::OPERATION_MASK_READ` | `AclEntityConstants::SCOPE_GLOBAL` |
-
-Query before the Persistence ACL:
-```sql
-SELECT * FROM `spy_sales_order` ORDER BY `updated_at` DESC;
-```
-
-Query after the Persistence ACL:
-```sql
-SELECT * FROM `spy_sales_order` ORDER BY `updated_at` DESC;
-```
-
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.md
deleted file mode 100644
index ec782a509bb..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.md
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: Inherited scope
-last_updated: Nov 05, 2021
-description: Inherited scope rules apply when you need to grant access to an entity (child) that inherits from another entity (parent).
-template: concept-topic-template
----
-
-Inherited scope rules apply when you need to grant access to an entity (child) that inherits from another entity (parent). Here are a few examples of inheritance:
-
-- MerchantProductAbstracts → Merchants (through `MerchantProductAbstract.fk_merchant`)
-- MerchantSalesOrders → Merchants (through `MerchantSalesOrder.merchant_reference`)
-- Shipments → Orders (through `Shipment.order_reference`)
-
-![Inherited scope](https://confluence-connect.gliffy.net/embed/image/e473a9ca-2eb7-481d-b0c4-72d2563ec466.png?utm_medium=live&utm_source=custom)
-
-Inheritance rules (child-parent relationship) are set in the configuration. For more details, see [Persistence ACL configuration](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.html).
-
-Inherited scope functionality has one unique feature: it is sufficient to have **read** access to the parent for successful inheritance for any operation (create/read/update/delete).
-
-Here is an example where a user has a configuration where `SpyMerchantProductAbstract` inherits from `SpyMerchant`, and the user has 2 rules:
-
-- inherited for `MerchantProductAbstract`
-- segment for `Merchant`
-
-`spy_acl_entity_rule`
-
-| fk_acl_entity_segment | fk_acl_role | entity | permission_mask | scope |
-|-----|-----|-----|-----|-----|
-| null | 15 | `Orm\Zed\MerchantProduct\Persistence\SpyMerchantProductAbstract` | `AclEntityConstants::OPERATION_MASK_READ` | `AclEntityConstants::SCOPE_INHERITED` |
-| 5 | 15 | `Orm\Zed\Merchant\Persistence\SpyMerchant` | 1 | 1 |
-
-`spy_acl_entity_segment`
-
-| id_acl_entity_segment | name | reference |
-|-----|-----|-----|
-| 5 | Merchant Video King | merchant-video-king |
-
-`spy_acl_entity_segment_merchant`
-
-| fk_merchant | fk_acl_entity_segment |
-|-----|-----|
-| 112 | 5 |
-
-Query before the Persistence ACL:
-```sql
-SELECT * FROM `spy_merchant_product_abstract` ORDER BY `updated_at` DESC;
-```
-
-Query after the Persistence ACL:
-```sql
-SELECT `spy_merchant_product_abstract`.*
-FROM `spy_merchant_product_abstract`
- INNER JOIN `spy_merchant` ON (`spy_merchant_product_abstract`.`fk_merchant` = `spy_merchant`.`id_merchant`)
- INNER JOIN `spy_acl_entity_segment_merchant`
- ON (`spy_merchant`.`id_merchant` = `spy_acl_entity_segment_merchant`.`fk_merchant`
- AND `spy_acl_entity_segment_merchant`.`fk_acl_entity_segment` IN (5))
-ORDER BY `spy_merchant_product_abstract`.`updated_at` DESC;
-```
-
-It is important to understand that the permissions are checked in the context of roles. Rules of one role do not affect the rules of another. For details, see [Execution Flow](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/execution-flow.html). Below is an example of the two roles:
-
-1. DE product manager (Full CRUD for products in the DE store)
-2. US product viewer (View only for products in the US store)
-
-`spy_acl_role`
-
-| id_acl_role | name | reference |
-|-----|-----|-----|
-| 1 | DE product manager | de_product_manager |
-| 2 | US product viewer | us_product_viewer |
-
-`spy_acl_entity_rule`
-
-| id_acl_entity_rule | fk_acl_entity_segment | fk_acl_role | entity | permission_mask | scope |
-|-----|-----|-----|-----|-----|-----|
-| 1 | null | 1 | `Orm\Zed\Product\Persistence\SpyProduct` | 15 | 2 |
-| 2 | null | 1 | `Orm\Zed\Product\Persistence\SpyProductAbstract` | 15 | 2 |
-| 3 | null | 1 | `Orm\Zed\Product\Persistence\SpyProductAbstractStore` | 15 | 2 |
-| 4 | 1 | 1 | `Orm\Zed\Store\Persistence\SpyStore` | 1 | 1 |
-| 5 | null | 2 | `Orm\Zed\Product\Persistence\SpyProduct` | 1 | 2 |
-| 6 | null | 2 | `Orm\Zed\Product\Persistence\SpyProductAbstract` | 1 | 2 |
-| 7 | null | 2 | `Orm\Zed\Product\Persistence\SpyProductAbstractStore` | 1 | 2 |
-| 8 | 2 | 2 | `Orm\Zed\Store\Persistence\SpyStore` | 1 | 1 |
-
-Rules with IDs `1`, `2`, `3` and `4` refer to one role (`fk_acl_role: 1`), and rules with IDs `5`, `6`, `7` and `8` to another (`fk_acl_role: 2`). When a user has both roles and performs `Update on a Product`, the Persistence ACL engine will perform the following:
-- it will only find role `1` (since it has a rule for updating a product).
-- the role `2` will not be considered at all since it does not allow products to be updated.
-
-The context of a rule is determined by the role to which it is attached. Because of this, a user with such a set of roles and rules will be able to:
-
-- perform CRUD actions for products in the DE store.
-- have read-only permissions for products in the US store.
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/rules-and-scopes.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/rules-and-scopes.md
deleted file mode 100644
index 973172aff92..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/rules-and-scopes.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: Rules and scopes
-last_updated: Nov 05, 2021
-description: The rule, in contrast to the configuration, is tied to the user (and his role) and determines the user's rights towards the entity.
-template: concept-topic-template
----
-
-The functionality of this feature is based on such fundamental concepts as Rule and Configuration.
-It is important to understand that the rule, in contrast to the configuration, is tied to the user (and his role) and determines the user's rights towards the entity.
-
-## Rule
-One of the fundamental concepts of the Persistence ACL module is an entity rule. It determines the capabilities and permissions of the current user. The rule is an entry in the `spy_acl_entity_rule` table.
-
-| COLUMN | DESCRIPTION | DATA EXAMPLE |
-|-----|-----|-----|
-| id_acl_entity_rule | Auto incremental primary key. | |
-| fk_acl_entity_segment | A reference to the data segment to which the rule applies. The segment concept is described below. | |
-| fk_acl_role | The foreign key of the role to which the rule applies. Rules are not applied to specific users, but to roles, which makes their use extremely flexible. | |
-| entity | Entity class. You must specify the full namespace without a leading slash. | `Orm\Zed\Product\Persistence\SpyProductAbstract`, `Orm\Zed\Store\Persistence\SpyStore` |
-| permission_mask | An integer representation of the binary permission mask. For more details, see [Permission concept](#permission-concept) documentation. | `AclEntityConstants::OPERATION_MASK_READ`, `AclEntityConstants::OPERATION_MASK_READ \| AclEntityConstants::OPERATION_MASK_UPDATE`, `AclEntityConstants::OPERATION_MASK_CRUD` |
-| scope | There are 3 types of rules: *Global*, *Segment* and *Inherited*. Their features and differences are described below. | `AclEntityConstants::SCOPE_GLOBAL`, `AclEntityConstants::SCOPE_SEGMENT`, `AclEntityConstants::SCOPE_INHERITED` |
-
-## Scope
-
-The concept of scopes is very flexible. It lets you create any rules that suit the needs of your system. For example:
-
-- Grant read-only access to "All Products".
-- Grant read-write access to "All Products".
-- Grant read-write to "All Products in DE store".
-- Grant read-write to "All Products in DE store" and read-only to "All Products".
-- Grant read-write to "All Orders, Products, Offers of Merchant VideoKing".
-- Grant read access to "All Users that have Orders of Merchant VideoKing".
-- Grant read access to "All Shipments that are connected to Orders of Merchant VideoKing".
-- Grant read-write for "Products that have prices >= 1000$" and read-only for "All Products".
-
-As mentioned above, there are 3 types of scopes: `global`, `segment` and `inherited`.
-In the database layer scope represented as enum:
-
-| Scope | Database value |
-|-----|-----|
-| global | 0 |
-| segment | 1 |
-| inherited | 2 |
-
-Depending on the scope, the system behaves differently. Read the documentation for each of them:
-- [Global scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/global-scope.html)
-- [Segment scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.html)
-- [Inherited scope](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/inherited-scope.html)
-- [Composite entity](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/rules-and-scopes/composite-entity.html)
-
-## Default rule
-
-If a user performs any operation on an entity for which he has no rules, the default rule is triggered. The default rule can be configured both within a specific class and in a general context.
-
-A class context takes precedence over a general context. Persistence ACL feature is especially useful when all database tables are connected simultaneously. For more details, see [configuration](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.html#connect-persistence-acl-feature-to-all-database-tables). Thus, you can define publicly available entities such as `Country`, `Currency`, and `Region`.
-
-The default rule configuration is described in the [configuration document](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/persistence-acl-feature-walkthrough/persistence-acl-feature-configuration.html).
-
-{% info_block infoBox "Info" %}
-
-We recommend keeping the default permission for global context as 0 (no permission at all), which will ensure that sensitive data is protected by default.
-
-{% endinfo_block %}
-
-## Permission concept
-Permission mask (`spy_acl_entity_rule.permission_mask)` is a binary representation of the operations that this rule allows.
-Every CRUD operation has its own binary mask.
-
-| Operation | Binary mask | Integer representation |
-|-----|-----|-----|
-| Read |`0b1` | 1 |
-| Create |`0b10` | 2 |
-| Update |`0b100` | 4 |
-| Delete |`0b1000` | 8 |
-
-For details, see [Spryker\Shared\AclEntity\AclEntityConstants](https://github.com/spryker/acl-entity/blob/master/src/Spryker/Shared/AclEntity/AclEntityConstants.php).
diff --git a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.md b/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.md
deleted file mode 100644
index d3d3f91fed9..00000000000
--- a/docs/marketplace/dev/feature-walkthroughs/202108.0/persistence-acl-feature-walkthrough/rules-and-scopes/segment-scope.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: Segment scope
-last_updated: Nov 05, 2021
-description: The segment rules let you grant permissions to subset of an entity collection. Segment entities are connected through a plain many-to-many tables, this allows minimizing performance impact.
-template: concept-topic-template
----
-
-The segment rules let you grant permissions to subset of an entity collection.
-Segment entities are connected through a plain many-to-many tables, this allows minimizing performance impact.
-
-A subset can contain as many records as you want.
-There are few examples of data segments:
-
-- Orders of DE store
-- Orders of total of > 100$
-- Orders of US store
-- Orders from customer #3
-
-![Segment scope](https://confluence-connect.gliffy.net/embed/image/bf400b2a-6872-479c-a3df-e4686894eace.png?utm_medium=live&utm_source=custom)
-
-`spy_acl_entity_rule`
-
-| fk_acl_entity_segment | fk_acl_role | entity | permission_mask | scope |
-|-----|-----|-----|-----|-----|
-| 3 | 15 | `Orm\Zed\Sales\Persistence\SpySalesOrder` | 1 | 0 |
-
-`spy_acl_entity_segment`
-
-| id_acl_entity_segment | name | reference |
-|-----|-----|-----|
-| 3 | Orders of DE store | orders-de |
-
-`spy_acl_entity_segment_sales_order`
-
-| fk_sales_order | fk_acl_entity_segment |
-|-----|-----|
-| 35 | 3 |
-| 36 | 3 |
-| 1115 | 3 |
-
-Query before the Persistence ACL:
-```sql
-SELECT * FROM `spy_sales_order` ORDER BY `updated_at` DESC;
-```
-
-Query after the Persistence ACL:
-```sql
-SELECT `spy_sales_order`.*
-FROM `spy_sales_order`
- INNER JOIN `spy_acl_entity_segment_sales_order`
- ON (`spy_sales_order`.`id_sales_order`=`spy_acl_entity_segment_sales_order`.`fk_sales_order`
- AND `spy_acl_entity_segment_sales_order`.`fk_acl_entity_segment` IN (3))
-ORDER BY `spy_sales_order`.`updated_at` DESC;
-```
-
-## Dynamic segments
-Since segments are defined using a many-to-many table, projects can create dynamic segments.
-
-By handling events such as `Product created` and `Product updated`, you can maintain a special segment of products (for example,red products).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/abstract-products/retrieving-abstract-products.md b/docs/marketplace/dev/glue-api-guides/202108.0/abstract-products/retrieving-abstract-products.md
deleted file mode 100644
index 282865092d6..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/abstract-products/retrieving-abstract-products.md
+++ /dev/null
@@ -1,1497 +0,0 @@
----
-title: Retrieving abstract products
-description: This glue API document describes how to retrieve general information about abstract products and related resources in the Spryker Marketplace
-template: glue-api-storefront-guide-template
----
-
-This endpoint allows retrieving general information about abstract products.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [Glue API: Products feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-feature-integration.html)
-* [Glue API: Product Options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-options-feature-integration.html)
-* [Glue API: Product Labels feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-labels-feature-integration.html)
-
-
-
-## Retrieve an abstract product
-
-To retrieve general information about an abstract product, send the request:
-
----
-`GET` {% raw %}**/abstract-products/*{{abstract_product_sku}}***{% endraw %}
-
----
-
-| PATH | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{abstract_product_sku}}***{% endraw %} | SKU of an abstract product to get information for. |
-
-### Request
-
-| QUERY PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. | abstract-product-prices, concrete-products, product-labels, abstract-product-image-sets, abstract-product-availabilities, category-nodes, product-tax-sets, product-options, product-reviews, merchants |
-| fields | Filters out the fields to be retrieved. | name, image, description |
-
-{% info_block warningBox "Performance" %}
-
-* For performance and bandwidth usage optimization, we recommend filtering out only the needed information using the `fields` string parameter.
-
-* If you include more resources, you can still use the `fields` string parameter to return only the needed fields. For example, `GET https://glue.mysprykershop.com/abstract-products/001?include=concrete-products&fields[abstract-products]=name,description&fields[concrete-products]=name,image`.
-
-{% endinfo_block %}
-
-
-
-| REQUEST | USAGE |
-| --- | --- |
-| `GET https://glue.mysprykershop.com/abstract-products/001` | Retrieve information about the abstract product with SKU `001`. |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=abstract-product-image-sets` | Retrieve information about the abstract product with SKU `001` with its image sets. |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=abstract-product-availabilities` | Retrieve information about the abstract product with SKU `001` with its availability. |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=abstract-product-prices` | Retrieve information about the abstract product with SKU `001` with its [default prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html). |
-| `GET https://glue.mysprykershop.com/abstract-products/093?include=abstract-product-prices` | Retrieve information about the abstract product with SKU `093` with its prices (default and [volume prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html)). |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=category-nodes` | Retrieve information about the abstract product with SKU `001` with the category nodes it belongs to. |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=product-tax-sets` | Retrieve information about the abstract product with SKU `001` with its tax sets. |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=product-labels` | Retrieve information about the abstract product with SKU `001` with its assigned product labels. |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=concrete-products` | Retrieve information about the abstract product with SKU `001` with its concrete products. |
-| `GET https://glue.mysprykershop.com/abstract-products/001?include=product-options` | Retrieve information about the abstract product with SKU `001` with its product options. |
-| `GET https://glue.mysprykershop.com/abstract-products/035?include=product-reviews` | Retrieve information about the abstract product with SKU `001` with its product reviews. |
-| `GET https://glue.mysprykershop.com/abstract-products/109` | Retrieve the merchant product with SKU `109`.|
-| `GET https://glue.mysprykershop.com/abstract-products/109?include=merchants` | Retrieve the marketplace product with SKU `109` including the merchant information. |
-
-
-### Response
-
-
-Response sample: retrieve information about the abstract product with SKU `001`
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001"
- }
- }
-}
-```
-
-
-
-Response sample: retrieve information about the abstract product with its image sets
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001?include=abstract-product-image-sets"
- },
- "relationships": {
- "abstract-product-image-sets": {
- "data": [
- {
- "type": "abstract-product-image-sets",
- "id": "001"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "abstract-product-image-sets",
- "id": "001",
- "attributes": {
- "imageSets": [
- {
- "name": "default",
- "images": [
- {
- "externalUrlLarge": "https://images.icecat.biz/img/norm/high/25904006-8438.jpg",
- "externalUrlSmall": "https://images.icecat.biz/img/norm/medium/25904006-8438.jpg"
- }
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001/abstract-product-image-sets"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about the abstract product with its availability
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001?include=abstract-product-availabilities"
- },
- "relationships": {
- "abstract-product-availabilities": {
- "data": [
- {
- "type": "abstract-product-availabilities",
- "id": "001"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "abstract-product-availabilities",
- "id": "001",
- "attributes": {
- "availability": true,
- "quantity": "10.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001/abstract-product-availabilities"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about the abstract product with its default prices
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001?include=abstract-product-prices"
- },
- "relationships": {
- "abstract-product-prices": {
- "data": [
- {
- "type": "abstract-product-prices",
- "id": "001"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "abstract-product-prices",
- "id": "001",
- "attributes": {
- "price": 9999,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 9999,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "ORIGINAL",
- "netAmount": null,
- "grossAmount": 12564,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001/abstract-product-prices"
- }
- }
- ]
-}
-```
-
-
-Response sample: retrieve information about the abstract product with its default and volume prices
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "093",
- "attributes": {
- "sku": "093",
- "merchantReference": "MER000001",
- "averageRating": 4.3,
- "reviewCount": 4,
- "name": "Sony SmartWatch 3",
- "description": "The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps—formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.",
- "attributes": {
- "internal_ram": "512 MB",
- "flash_memory": "4 GB",
- "weight": "45 g",
- "protection_feature": "Water resistent",
- "brand": "Sony",
- "color": "Yellow"
- },
- "superAttributesDefinition": [
- "flash_memory",
- "color"
- ],
- "superAttributes": {
- "color": [
- "Silver"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "093_24495843"
- ],
- "super_attributes": {
- "color": [
- "Silver"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Sony SmartWatch 3",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps—formal, sophisticated,",
- "attributeNames": {
- "internal_ram": "Internal RAM",
- "flash_memory": "Flash memory",
- "weight": "Weight",
- "protection_feature": "Protection feature",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/sony-smartwatch-3-93"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/093?include=abstract-product-prices"
- },
- "relationships": {
- "abstract-product-prices": {
- "data": [
- {
- "type": "abstract-product-prices",
- "id": "093"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "abstract-product-prices",
- "id": "093",
- "attributes": {
- "price": 24899,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 24899,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": [
- {
- "netAmount": 150,
- "grossAmount": 165,
- "quantity": 5
- },
- {
- "netAmount": 145,
- "grossAmount": 158,
- "quantity": 10
- },
- {
- "netAmount": 140,
- "grossAmount": 152,
- "quantity": 20
- }
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/093/abstract-product-prices"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve information about the abstract product with the category nodes it belongs to
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001?include=category-nodes"
- },
- "relationships": {
- "category-nodes": {
- "data": [
- {
- "type": "category-nodes",
- "id": "4"
- },
- {
- "type": "category-nodes",
- "id": "2"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "category-nodes",
- "id": "4",
- "attributes": {
- "nodeId": 4,
- "name": "Digital Cameras",
- "metaTitle": "Digital Cameras",
- "metaKeywords": "Digital Cameras",
- "metaDescription": "Digital Cameras",
- "isActive": true,
- "order": 100,
- "url": "/en/cameras-&-camcorders/digital-cameras",
- "children": [],
- "parents": [
- {
- "nodeId": 2,
- "name": "Cameras & Camcorders",
- "metaTitle": "Cameras & Camcorders",
- "metaKeywords": "Cameras & Camcorders",
- "metaDescription": "Cameras & Camcorders",
- "isActive": true,
- "order": 90,
- "url": "/en/cameras-&-camcorders",
- "children": [],
- "parents": [
- {
- "nodeId": 1,
- "name": "Demoshop",
- "metaTitle": "Demoshop",
- "metaKeywords": "English version of Demoshop",
- "metaDescription": "English version of Demoshop",
- "isActive": true,
- "order": null,
- "url": "/en",
- "children": [],
- "parents": []
- }
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/category-nodes/4"
- }
- },
- {
- "type": "category-nodes",
- "id": "2",
- "attributes": {
- "nodeId": 2,
- "name": "Cameras & Camcorders",
- "metaTitle": "Cameras & Camcorders",
- "metaKeywords": "Cameras & Camcorders",
- "metaDescription": "Cameras & Camcorders",
- "isActive": true,
- "order": 90,
- "url": "/en/cameras-&-camcorders",
- "children": [
- {
- "nodeId": 4,
- "name": "Digital Cameras",
- "metaTitle": "Digital Cameras",
- "metaKeywords": "Digital Cameras",
- "metaDescription": "Digital Cameras",
- "isActive": true,
- "order": 100,
- "url": "/en/cameras-&-camcorders/digital-cameras",
- "children": [],
- "parents": []
- },
- {
- "nodeId": 3,
- "name": "Camcorders",
- "metaTitle": "Camcorders",
- "metaKeywords": "Camcorders",
- "metaDescription": "Camcorders",
- "isActive": true,
- "order": 90,
- "url": "/en/cameras-&-camcorders/camcorders",
- "children": [],
- "parents": []
- }
- ],
- "parents": [
- {
- "nodeId": 1,
- "name": "Demoshop",
- "metaTitle": "Demoshop",
- "metaKeywords": "English version of Demoshop",
- "metaDescription": "English version of Demoshop",
- "isActive": true,
- "order": null,
- "url": "/en",
- "children": [],
- "parents": []
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/category-nodes/2"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about the abstract product with its tax sets
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001?include=product-tax-sets"
- },
- "relationships": {
- "product-tax-sets": {
- "data": [
- {
- "type": "product-tax-sets",
- "id": "0e93b0d4-6d83-5fc1-ac1d-d6ae11690406"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-tax-sets",
- "id": "0e93b0d4-6d83-5fc1-ac1d-d6ae11690406",
- "attributes": {
- "name": "Entertainment Electronics",
- "restTaxRates": [
- {
- "name": "Austria Standard",
- "rate": "20.00",
- "country": "AT"
- },
- {
- "name": "Belgium Standard",
- "rate": "21.00",
- "country": "BE"
- },
- {
- "name": "Bulgaria Standard",
- "rate": "20.00",
- "country": "BG"
- },
- {
- "name": "Czech Republic Standard",
- "rate": "21.00",
- "country": "CZ"
- },
- {
- "name": "Denmark Standard",
- "rate": "25.00",
- "country": "DK"
- },
- {
- "name": "France Standard",
- "rate": "20.00",
- "country": "FR"
- },
- {
- "name": "Germany Standard",
- "rate": "19.00",
- "country": "DE"
- },
- {
- "name": "Hungary Standard",
- "rate": "27.00",
- "country": "HU"
- },
- {
- "name": "Italy Standard",
- "rate": "22.00",
- "country": "IT"
- },
- {
- "name": "Luxembourg Standard",
- "rate": "17.00",
- "country": "LU"
- },
- {
- "name": "Netherlands Standard",
- "rate": "21.00",
- "country": "NL"
- },
- {
- "name": "Poland Standard",
- "rate": "23.00",
- "country": "PL"
- },
- {
- "name": "Romania Standard",
- "rate": "20.00",
- "country": "RO"
- },
- {
- "name": "Slovakia Standard",
- "rate": "20.00",
- "country": "SK"
- },
- {
- "name": "Slovenia Standard",
- "rate": "22.00",
- "country": "SI"
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001/product-tax-sets"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about the abstract product with the assigned product labels
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {...},
- "links": {...},
- "relationships": {
- "product-labels": {
- "data": [
- {
- "type": "product-labels",
- "id": "3"
- },
- {
- "type": "product-labels",
- "id": "5"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-labels",
- "id": "3",
- "attributes": {
- "name": "Standard Label",
- "isExclusive": false,
- "position": 3,
- "frontEndReference": ""
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-labels/3"
- }
- },
- {
- "type": "product-labels",
- "id": "5",
- "attributes": {
- "name": "SALE %",
- "isExclusive": false,
- "position": 5,
- "frontEndReference": "highlight"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-labels/5"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about the abstract product with its concrete products
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001?include=concrete-products"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "001_25904006"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about the abstract product with its product options
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "001",
- "attributes": {
- "sku": "001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Red"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "001_25904006"
- ],
- "super_attributes": {
- "color": [
- "Red"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-ixus-160-1"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001?include=product-options"
- },
- "relationships": {
- "product-options": {
- "data": [
- {
- "type": "product-options",
- "id": "OP_insurance"
- },
- {
- "type": "product-options",
- "id": "OP_gift_wrapping"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-options",
- "id": "OP_insurance",
- "attributes": {
- "optionGroupName": "Insurance",
- "sku": "OP_insurance",
- "optionName": "Two (2) year insurance coverage",
- "price": 10000,
- "currencyIsoCode": "EUR"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001/product-options/OP_insurance"
- }
- },
- {
- "type": "product-options",
- "id": "OP_gift_wrapping",
- "attributes": {
- "optionGroupName": "Gift wrapping",
- "sku": "OP_gift_wrapping",
- "optionName": "Gift wrapping",
- "price": 500,
- "currencyIsoCode": "EUR"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/001/product-options/OP_gift_wrapping"
- }
- }
- ]
-}
-```
-
-
-
-
-
-Response sample: retrieve information about the abstract product with its product reviews
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "035",
- "attributes": {
- "sku": "035",
- "averageRating": 4.7,
- "reviewCount": 3,
- "name": "Canon PowerShot N",
- "description": "Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creative images plus the original unaltered photo—capturing the same subject in a variety of artistic and surprising ways. The unique symmetrical, metal-bodied design is strikingly different with an ultra-modern minimalist style—small enough to keep in your pocket and stylish enough to take anywhere. HS System excels in low light letting you capture the real atmosphere of the moment without flash or a tripod. Advanced DIGIC 5 processing and a high-sensitivity 12.1 Megapixel CMOS sensor give excellent image quality in all situations.",
- "attributes": {
- "focus": "TTL",
- "field_of_view": "100%",
- "display": "LCD",
- "sensor_type": "CMOS",
- "brand": "Canon",
- "color": "Silver"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Silver"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "035_17360369"
- ],
- "super_attributes": {
- "color": [
- "Silver"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Canon PowerShot N",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creat",
- "attributeNames": {
- "focus": "Focus",
- "field_of_view": "Field of view",
- "display": "Display",
- "sensor_type": "Sensor type",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/canon-powershot-n-35"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/035?include=product-reviews"
- },
- "relationships": {
- "product-reviews": {
- "data": [
- {
- "type": "product-reviews",
- "id": "29"
- },
- {
- "type": "product-reviews",
- "id": "28"
- },
- {
- "type": "product-reviews",
- "id": "30"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-reviews",
- "id": "29",
- "attributes": {
- "rating": 5,
- "nickname": "Maria",
- "summary": "Curabitur varius, dui ac vulputate ullamcorper",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vel mauris consequat, dictum metus id, facilisis quam. Vestibulum imperdiet aliquam interdum. Pellentesque tempus at neque sed laoreet. Nam elementum vitae nunc fermentum suscipit. Suspendisse finibus risus at sem pretium ullamcorper. Donec rutrum nulla nec massa tristique, porttitor gravida risus feugiat. Ut aliquam turpis nisi."
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-reviews/29"
- }
- },
- {
- "type": "product-reviews",
- "id": "28",
- "attributes": {
- "rating": 5,
- "nickname": "Spencor",
- "summary": "Donec vestibulum lectus ligula",
- "description": "Donec vestibulum lectus ligula, non aliquet neque vulputate vel. Integer neque massa, ornare sit amet felis vitae, pretium feugiat magna. Suspendisse mollis rutrum ante, vitae gravida ipsum commodo quis. Donec eleifend orci sit amet nisi suscipit pulvinar. Nullam ullamcorper dui lorem, nec vehicula justo accumsan id. Sed venenatis magna at posuere maximus. Sed in mauris mauris. Curabitur quam ex, vulputate ac dignissim ac, auctor eget lorem. Cras vestibulum ex quis interdum tristique."
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-reviews/28"
- }
- },
- {
- "type": "product-reviews",
- "id": "30",
- "attributes": {
- "rating": 4,
- "nickname": "Maggie",
- "summary": "Aliquam erat volutpat",
- "description": "Morbi vitae ultricies libero. Aenean id lectus a elit sollicitudin commodo. Donec mattis libero sem, eu convallis nulla rhoncus ac. Nam tincidunt volutpat sem, eu congue augue cursus at. Mauris augue lorem, lobortis eget varius at, iaculis ac velit. Sed vulputate rutrum lorem, ut rhoncus dolor commodo ac. Aenean sed varius massa. Quisque tristique orci nec blandit fermentum. Sed non vestibulum ante, vitae tincidunt odio. Integer quis elit eros. Phasellus tempor dolor lectus, et egestas magna convallis quis. Ut sed odio nulla. Suspendisse quis laoreet nulla. Integer quis justo at velit euismod imperdiet. Ut orci dui, placerat ut ex ac, lobortis ullamcorper dui. Etiam euismod risus hendrerit laoreet auctor."
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-reviews/30"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve the merchant product
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "109",
- "attributes": {
- "sku": "109",
- "merchantReference": "MER000001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Sony SW2 SmartWatch",
- "description": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.",
- "attributes": {
- "display_type": "LCD",
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "168 h",
- "brand": "Sony",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Blue"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "109_19416433"
- ],
- "super_attributes": {
- "color": [
- "Blue"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Sony SW2 SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on",
- "attributeNames": {
- "display_type": "Display type",
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/sony-sw2-smartwatch-109"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/109"
- }
- }
-}
-```
-
-
-
-
-Response sample: retrieve the marketplace product including the merchant information
-
-```json
-{
- "data": {
- "type": "abstract-products",
- "id": "109",
- "attributes": {
- "sku": "109",
- "merchantReference": "MER000001",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Sony SW2 SmartWatch",
- "description": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.",
- "attributes": {
- "display_type": "LCD",
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "168 h",
- "brand": "Sony",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Blue"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "109_19416433"
- ],
- "super_attributes": {
- "color": [
- "Blue"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Sony SW2 SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on",
- "attributeNames": {
- "display_type": "Display type",
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/sony-sw2-smartwatch-109"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/109"
- },
- "relationships": {
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000001"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "merchants",
- "id": "MER000001",
- "attributes": {
- "merchantName": "Spryker",
- "merchantUrl": "/en/merchant/spryker",
- "contactPersonRole": "E-Commerce Manager",
- "contactPersonTitle": "Mr",
- "contactPersonFirstName": "Harald",
- "contactPersonLastName": "Schmidt",
- "contactPersonPhone": "+49 30 208498350",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-logo.png",
- "publicEmail": "info@spryker.com",
- "publicPhone": "+49 30 234567891",
- "description": "Spryker is the main merchant at the Demo Marketplace.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-banner.png",
- "deliveryTime": "1-3 days",
- "latitude": "13.384458",
- "longitude": "52.534105",
- "faxNumber": "+49 30 234567800",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- }
- ]
-}
-```
-
-
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| sku | String | SKU of the abstract product |
-| merchantReference | String | Unique identifier of the merchant in the system.|
-| averageRating | String | Average rating of the product based on customer rating. |
-| reviewCount | Integer | Number of reviews left by customer for this abstract product. |
-| name | String | Name of the abstract product |
-| description | String | Description of the abstract product |
-| attributes | Object | List of attributes and their values |
-| superAttributeDefinition | String | Attributes flagged as super attributes, that are however not relevant to distinguish between the product variants |
-| attributeMap|Object|Each super attribute / value combination and the corresponding concrete product IDs are listed here|
-|attributeMap.super_attributes|Object|Applicable super attribute and its values for the product variants|
-|attributeMap.attribute_variants|Object|List of super attributes with the list of values|
-|attributeMap.product_concrete_ids|String|Product IDs of the product variants|
-|metaTitle|String|Meta title of the product|
-|metaKeywords|String|Meta keywords of the product.|
-|metaDescription|String|Meta description of the product.|
-|attributeNames | Object | All non-super attribute / value combinations for the abstract product. |
-
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- | --- |
-| product-options | sku | String | Specifies the SKU of the product option. |
-| product-options | optionName | String | Specifies the option name. |
-| product-options | optionGroupName | String | Specifies the name of the group to which the option belongs. |
-| product-options | price | Integer | Specifies the option price in cents. |
-| product-options | currencyIsoCode | String | Specifies the ISO 4217 code of the currency in which the product option price is specified. |
-
-For the attributes of other included resources, see:
-
-* [Retrieve image sets of an abstract product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-image-sets-of-abstract-products.html)
-* [Retrieve availability of an abstract product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-abstract-product-availability.html)
-* [Retrieve prices of an abstract product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-abstract-product-prices.html)
-* [Retrieve a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html)
-* [Retrieve a category node](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-categories/retrieving-category-nodes.html)
-* [Retrieve tax sets](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-tax-sets.html)
-* [Retrieve a product label](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-product-labels.html)
-* [Retrieve product reviews](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/managing-product-ratings-and-reviews.html#retrieve-product-ratings-and-reviews)
-* [Retrieve a measurement unit](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-measurement-units.html)
-* [Retrieve merchant information](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-
-
-## Possible errors
-
-| CODE | REASON |
-| --- | --- |
-| 301 | Abstract product is not found. |
-| 311 | Abstract product SKU is not specified. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-carts-of-registered-users.md b/docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-carts-of-registered-users.md
deleted file mode 100644
index b56fc70d980..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-carts-of-registered-users.md
+++ /dev/null
@@ -1,4491 +0,0 @@
----
-title: Managing carts of registered users
-description: Retrieve details about the carts of the registered users and learn what else you can do with the resource in the Spryker Marketplace
-template: glue-api-storefront-guide-template
----
-
-This endpoint allows managing carts by creating, retrieving, and deleting them.
-
-## Multiple carts
-
-Unlike guest carts, carts of registered users have an unlimited lifetime. Also, if the [Multiple Carts feature is integrated into your project](/docs/scos/dev/feature-integration-guides/{{page.version}}/multiple-carts-feature-integration.html), and [Glue API is enabled for multi-cart operations](/docs/scos/dev/feature-integration-guides/{{page.version}}/multiple-carts-feature-integration.html), registered users can have an unlimited number of carts.
-
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [Glue API: Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-cart-feature-integration.html)
-* [Glue API: Product Labels feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-labels-feature-integration.html)
-* [Glue API: Measurement Units feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-measurement-units-feature-integration.html)
-* [Glue API: Promotions & Discounts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-promotions-and-discounts-feature-integration.html)
-* [Glue API: Product Options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-options-feature-integration.html)
-* [Shared Carts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/shared-carts-feature-integration.html)
-* [Glue API: Merchant Offers feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-* [Glue API: Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-* [Glue API: Marketplace Product Offer Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-
-## Create a cart
-
-To create a cart, send the request:
-
-***
-`POST` **/carts**
-***
-
-{% info_block infoBox "Info" %}
-
-Carts created via Glue API are always set as the default carts for the user.
-
-{% endinfo_block %}
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer or company user to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html#authenticate-as-a-customer) or [authenticating as a company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html#authenticate-as-a-company-user). |
-
-Request sample: create a cart
-
-`POST https://glue.mysprykershop.com/carts`
-
-```json
-{
- "data":{
- "type":"carts",
- "attributes":{
- "name":"My Cart",
- "priceMode":"GROSS_MODE",
- "currency":"EUR",
- "store":"DE"
- }
- }
-}
-```
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| name | String | ✓ | Sets the cart name. You can pass this field only with the Multiple Carts feature integrated. If you are operating in a single-cart environment, an attempt to set the value returns the `422 Unprocessable Entry` error. |
-| priceMode | Enum | ✓ | Sets the price mode for the cart. Possible values:
GROSS_MODE: prices after tax
NET_MODE: prices before tax
For details, see [Net & gross prices management](/docs/scos/dev/back-end-development/data-manipulation/datapayload-conversion/net-and-gross-prices-management.html). |
-| currency | String | ✓ | Sets the cart currency. |
-| store | String | ✓ | Sets the name of the store where to create the cart. |
-
-### Response
-
-Response sample: create a cart
-
-```json
-{
- "data": {
- "type": "carts",
- "id": "f23f5cfa-7fde-5706-aefb-ac6c6bbadeab",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "discounts": [],
- "totals": {
- "expenseTotal": null,
- "discountTotal": null,
- "taxTotal": null,
- "subtotal": null,
- "grandTotal": null
- },
- "name": "My Cart",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/f23f5cfa-7fde-5706-aefb-ac6c6bbadeab"
- }
- }
-}
-```
-
-**General cart information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| priceMode | String | Price mode of the cart. |
-| currency | String | Currency of the cart. |
-| store | String | Store in which the cart is created. |
-| name | String | Cart name. The field is available only in multi-cart environments. |
-| isDefault | Boolean | Specifies if the cart is the default one for the customer. The field is available only in multi-cart environments. |
-
-**Discount information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| displayName | String | Discount name. |
-| amount | Integer | Discount amount applied to the cart. |
-| code | String | Discount code applied to the cart. |
-
-**Totals**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| totals | Object | Describes the total calculations. |
-| totals.expenseTotal | String | Total amount of expenses (including, for example, shipping costs). |
-| totals.discountTotal | Integer | Total amount of discounts applied to the cart. |
-| totals.taxTotal | String | Total amount of taxes to be paid. |
-| totals.subTotal | Integer | Subtotal of the cart. |
-| totals.grandTotal | Integer | Grand total of the cart. |
-
-
-## Retrieve registered user's carts
-
-To retrieve all carts, send the request:
-
-***
-`GET` **/carts**
-***
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer or company user to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html#authenticate-as-a-customer) or [authenticating as a company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html#authenticate-as-a-company-user). |
-
-| QUERY PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. |
-
-
-Response sample: retrieve all carts with product offers included
-
-```json
-{
- "data": [
- {
- "type": "carts",
- "id": "bef3732e-bc7a-5c07-a40c-f38caf1c40ff",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "name": "newcart",
- "isDefault": true,
- "totals": {
- "expenseTotal": 0,
- "discountTotal": 0,
- "taxTotal": 4972,
- "subtotal": 31140,
- "grandTotal": 31140,
- "priceToPay": 31140
- },
- "discounts": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/bef3732e-bc7a-5c07-a40c-f38caf1c40ff"
- },
- "relationships": {
- "items": {
- "data": [
- {
- "type": "items",
- "id": "041_25904691"
- }
- ]
- }
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/items?include=items,concrete-products,product-offers"
- },
- "included": [
- {
- "type": "product-offers",
- "id": "offer48",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000002",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer48"
- }
- },
- {
- "type": "concrete-products",
- "id": "041_25904691",
- "attributes": {
- "sku": "041_25904691",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "041",
- "name": "Canon PowerShot SX610",
- "description": "Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording.",
- "attributes": {
- "hd_type": "Full HD",
- "megapixel": "20.2 MP",
- "optical_zoom": "18 x",
- "display": "LCD",
- "brand": "Canon",
- "color": "White"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon PowerShot SX610",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before",
- "attributeNames": {
- "hd_type": "HD type",
- "megapixel": "Megapixel",
- "optical_zoom": "Optical zoom",
- "display": "Display",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/041_25904691"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer89"
- },
- {
- "type": "product-offers",
- "id": "offer48"
- }
- ]
- }
- }
- },
- {
- "type": "items",
- "id": "041_25904691",
- "attributes": {
- "sku": "041_25904691",
- "quantity": "3",
- "groupKey": "041_25904691",
- "abstractSku": "041",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": null,
- "calculations": {
- "unitPrice": 10380,
- "sumPrice": 31140,
- "taxRate": 19,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 10380,
- "sumGrossPrice": 31140,
- "unitTaxAmountFullAggregation": 1657,
- "sumTaxAmountFullAggregation": 4972,
- "sumSubtotalAggregation": 31140,
- "unitSubtotalAggregation": 10380,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 10380,
- "sumPriceToPayAggregation": 31140
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "productConfigurationInstance": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/bef3732e-bc7a-5c07-a40c-f38caf1c40ff/items/041_25904691"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "041_25904691"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve all carts with product offers and product offer availabilities included
-
-```json
-{
- "data": [
- {
- "type": "carts",
- "id": "bef3732e-bc7a-5c07-a40c-f38caf1c40ff",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "name": "newcart",
- "isDefault": true,
- "totals": {
- "expenseTotal": 0,
- "discountTotal": 0,
- "taxTotal": 4972,
- "subtotal": 31140,
- "grandTotal": 31140,
- "priceToPay": 31140
- },
- "discounts": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/bef3732e-bc7a-5c07-a40c-f38caf1c40ff"
- },
- "relationships": {
- "items": {
- "data": [
- {
- "type": "items",
- "id": "041_25904691"
- }
- ]
- }
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/items?include=items,concrete-products,product-offers,product-offer-availabilities"
- },
- "included": [
- {
- "type": "product-offer-availabilities",
- "id": "offer48",
- "attributes": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "20.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer48/product-offer-availabilities"
- }
- },
- {
- "type": "product-offers",
- "id": "offer48",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000002",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer48"
- },
- "relationships": {
- "product-offer-availabilities": {
- "data": [
- {
- "type": "product-offer-availabilities",
- "id": "offer48"
- }
- ]
- }
- }
- },
- {
- "type": "concrete-products",
- "id": "041_25904691",
- "attributes": {
- "sku": "041_25904691",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "041",
- "name": "Canon PowerShot SX610",
- "description": "Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording.",
- "attributes": {
- "hd_type": "Full HD",
- "megapixel": "20.2 MP",
- "optical_zoom": "18 x",
- "display": "LCD",
- "brand": "Canon",
- "color": "White"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon PowerShot SX610",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before",
- "attributeNames": {
- "hd_type": "HD type",
- "megapixel": "Megapixel",
- "optical_zoom": "Optical zoom",
- "display": "Display",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/041_25904691"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer89"
- },
- {
- "type": "product-offers",
- "id": "offer48"
- }
- ]
- }
- }
- },
- {
- "type": "items",
- "id": "041_25904691",
- "attributes": {
- "sku": "041_25904691",
- "quantity": "3",
- "groupKey": "041_25904691",
- "abstractSku": "041",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": null,
- "calculations": {
- "unitPrice": 10380,
- "sumPrice": 31140,
- "taxRate": 19,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 10380,
- "sumGrossPrice": 31140,
- "unitTaxAmountFullAggregation": 1657,
- "sumTaxAmountFullAggregation": 4972,
- "sumSubtotalAggregation": 31140,
- "unitSubtotalAggregation": 10380,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 10380,
- "sumPriceToPayAggregation": 31140
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "productConfigurationInstance": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/bef3732e-bc7a-5c07-a40c-f38caf1c40ff/items/041_25904691"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "041_25904691"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve all carts with product offers and product offer prices included
-
-```json
-{
- "data": {
- "type": "carts",
- "id": "bef3732e-bc7a-5c07-a40c-f38caf1c40ff",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "name": "newcart",
- "isDefault": true,
- "totals": {
- "expenseTotal": 0,
- "discountTotal": 0,
- "taxTotal": 4972,
- "subtotal": 31140,
- "grandTotal": 31140,
- "priceToPay": 31140
- },
- "discounts": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/bef3732e-bc7a-5c07-a40c-f38caf1c40ff"
- },
- "relationships": {
- "items": {
- "data": [
- {
- "type": "items",
- "id": "041_25904691"
- }
- ]
- }
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/items?include=items,concrete-products,product-offers,product-offer-prices"
- },
- "included": [
- {
- "type": "product-offer-prices",
- "id": "offer48",
- "attributes": {
- "price": 9861,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 9861,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": [
- {
- "grossAmount": 10650,
- "netAmount": 10500,
- "quantity": 3
- },
- {
- "grossAmount": 10580,
- "netAmount": 10450,
- "quantity": 9
- },
- {
- "grossAmount": 10520,
- "netAmount": 10400,
- "quantity": 17
- }
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer48/product-offer-prices"
- }
- },
- {
- "type": "product-offers",
- "id": "offer48",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000002",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer48"
- },
- "relationships": {
- "product-offer-prices": {
- "data": [
- {
- "type": "product-offer-prices",
- "id": "offer48"
- }
- ]
- }
- }
- },
- {
- "type": "concrete-products",
- "id": "041_25904691",
- "attributes": {
- "sku": "041_25904691",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "041",
- "name": "Canon PowerShot SX610",
- "description": "Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before each shot then compiles them all into a single video. With built in NFC and Wi-Fi its so easy to share your happy snaps to your favourite social media platforms. Expand your creative photography skills through applying a range of artistic presets such as toy camera or fish eye effect. Capture images remotely and view live images from the camera via your phone and the Camera Connect app. Bring your memories to life as you experience videos on Full HD quality in 30p/MP4 recording.",
- "attributes": {
- "hd_type": "Full HD",
- "megapixel": "20.2 MP",
- "optical_zoom": "18 x",
- "display": "LCD",
- "brand": "Canon",
- "color": "White"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon PowerShot SX610",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Optical Quality Capture quality images from a distance with a 20.2 MP, 25mm wide, 18x optical zoom lens. Hybrid Auto mode records 4 seconds of video before",
- "attributeNames": {
- "hd_type": "HD type",
- "megapixel": "Megapixel",
- "optical_zoom": "Optical zoom",
- "display": "Display",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/041_25904691"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer89"
- },
- {
- "type": "product-offers",
- "id": "offer48"
- }
- ]
- }
- }
- },
- {
- "type": "items",
- "id": "041_25904691",
- "attributes": {
- "sku": "041_25904691",
- "quantity": "3",
- "groupKey": "041_25904691",
- "abstractSku": "041",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": null,
- "calculations": {
- "unitPrice": 10380,
- "sumPrice": 31140,
- "taxRate": 19,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 10380,
- "sumGrossPrice": 31140,
- "unitTaxAmountFullAggregation": 1657,
- "sumTaxAmountFullAggregation": 4972,
- "sumSubtotalAggregation": 31140,
- "unitSubtotalAggregation": 10380,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 10380,
- "sumPriceToPayAggregation": 31140
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "productConfigurationInstance": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/bef3732e-bc7a-5c07-a40c-f38caf1c40ff/items/041_25904691"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "041_25904691"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve all carts with merchants included
-
-```json
-{
- "data": [
- {
- "type": "carts",
- "id": "61ab15e9-e24a-5dec-a1ef-fc333bd88b0a",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "name": "My Cart",
- "isDefault": true,
- "totals": {
- "expenseTotal": 0,
- "discountTotal": 0,
- "taxTotal": 20271,
- "subtotal": 126960,
- "grandTotal": 126960,
- "priceToPay": 126960
- },
- "discounts": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/61ab15e9-e24a-5dec-a1ef-fc333bd88b0a"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/items?include=merchants"
- },
- "included": [
- {
- "type": "merchants",
- "id": "MER000001",
- "attributes": {
- "merchantName": "Spryker",
- "merchantUrl": "/en/merchant/spryker",
- "contactPersonRole": "E-Commerce Manager",
- "contactPersonTitle": "Mr",
- "contactPersonFirstName": "Harald",
- "contactPersonLastName": "Schmidt",
- "contactPersonPhone": "+49 30 208498350",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-logo.png",
- "publicEmail": "info@spryker.com",
- "publicPhone": "+49 30 234567891",
- "description": "Spryker is the main merchant at the Demo Marketplace.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-banner.png",
- "deliveryTime": "1-3 days",
- "faxNumber": "+49 30 234567800",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "items",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478",
- "quantity": 12,
- "groupKey": "020_21081478",
- "abstractSku": "020",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "calculations": {
- "unitPrice": 10580,
- "sumPrice": 126960,
- "taxRate": 19,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 10580,
- "sumGrossPrice": 126960,
- "unitTaxAmountFullAggregation": 1689,
- "sumTaxAmountFullAggregation": 20271,
- "sumSubtotalAggregation": 126960,
- "unitSubtotalAggregation": 10580,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 10580,
- "sumPriceToPayAggregation": 126960
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "productConfigurationInstance": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/61ab15e9-e24a-5dec-a1ef-fc333bd88b0a/items/020_21081478"
- },
- "relationships": {
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000001"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-
-**General cart information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| priceMode | String | Price mode that was active when the cart was created. |
-| currency | String | Currency that was selected when the cart was created. |
-| store | String | Store for which the cart was created. |
-| name | String | Specifies a cart name. The field is available in multi-cart environments only. |
-| isDefault | Boolean | Specifies whether the cart is the default one for the customer. The field is available in multi-cart environments only. |
-
-**Discount information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| displayName | String | Discount name. |
-| amount | Integer | Discount amount applied to the cart. |
-| code | String | Discount code applied to the cart. |
-
-**Totals**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| expenseTotal | String | Total amount of expenses (including, for example, shipping costs). |
-| discountTotal | Integer | Total amount of discounts applied to the cart. |
-| taxTotal | Integer | Total amount of taxes to be paid. |
-| subTotal | Integer | Subtotal of the cart. |
-| grandTotal | Integer | Grand total of the cart. |
-| selectedProductOptions | array | List of attributes describing the product options that were added to cart with the product. |
-| priceToPay| Integer | Final price to pay after discounts with additions. |
-
-**Product options**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| selectedProductOptions.optionGroupName | String | Name of the group to which the option belongs. |
-| selectedProductOptions.sku | String | SKU of the product option. |
-| selectedProductOptions.optionName | String | Product option name. |
-| selectedProductOptions.price | Integer | Product option price in cents. |
-| selectedProductOptions.currencyIsoCode | String | ISO 4217 code of the currency in which the product option price is specified. |
-
-**Included resource attributes**
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- | --- |
-| promotional-items | id | String | Unique identifier of the promotional item. The ID can be used to apply the promotion to the given purchase. |
-| promotional-items | sku | String | SKU of the promoted abstract product. |
-| promotional-items | quantity | Integer | Specifies how many promotions can be applied to the given purchase. |
-| product-options | optionGroupName | String | Name of the group to which the option belongs. |
-| product-options | sku | String | SKU of the product option. |
-| product-options | optionName | String | Product option name. |
-| product-options | price | Integer | Product option price in cents. |
-| product-options | currencyIsoCode | String | ISO 4217 code of the currency in which the product option price is specified. |
-| vouchers, cart-rules | displayName | String | Discount name displayed on the Storefront. |
-| vouchers, cart-rules | amount | Integer | Amount of the provided discount. |
-| vouchers, cart-rules | code | String | Discount code. |
-| vouchers, cart-rules | discountType | String | Discount type. |
-| vouchers, cart-rules | isExclusive | Boolean | Discount exclusivity. |
-| vouchers, cart-rules | expirationDateTime | DateTimeUtc | Date and time on which the discount expires. |
-| vouchers, cart-rules | discountPromotionAbstractSku | String | SKU of the products to which the discount applies. If the discount can be applied to any product, the value is `null`. |
-| vouchers, cart-rules | discountPromotionQuantity | Integer | Specifies the amount of the product required to be able to apply the discount. If the minimum number is `0`, the value is `null`. |
-| shared-carts | idCompanyUser | String | Unique identifier of the [company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html) with whom the cart is shared. |
-| shared-carts | idCartPermissionGroup | Integer | Unique identifier of the cart permission group that describes the permissions granted to the user with whom the cart is shared. |
-| cart-permission-groups | name | String | Permission group name. |
-| cart-permission-groups | isDefault | Boolean | Defines if the permission group is applied to shared carts by default. |
-| company-users | id | String | Unique identifier of the [company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html) with whom the cart is shared. |
-| company-users | isActive | Boolean | Defines if the [company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html) is active. |
-| company-users | isDefault | Boolean | Defines if the [company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html) is default for the [customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-For the attributes of the included resources, see:
-* [Retrieve a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html#retrieve-a-concrete-product)
-* [Add an item to a registered user's cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-items-in-carts-of-registered-users.html#add-an-item-to-a-registered-users-cart)
-* [Managing gift cards of registered users](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/carts-of-registered-users/managing-gift-cards-of-registered-users.html)
-* [Retrieving product labels](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-product-labels.html)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html#product-offers-response-attributes)
-* [Retrieving product offer prices](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-prices.html#product-offer-prices-response-attributes)
-* [Retrieving product availability](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-availability.html#product-offer-availability-response-attributes)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-
-## Retrieve a registered user's cart
-
-To retrieve a registered user's cart, send the request:
-
-***
-`GET` {% raw %}**/carts/*{{cart_uuid}}***{% endraw %}
-***
-
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{cart_uuid}}***{% endraw %} | Unique identifier of a cart. [Create a cart](#create-a-cart) or [retrieve a registered user's cart](#retrieve-registered-users-carts) to get it. |
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer or company user to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html#authenticate-as-a-customer) or [authenticating as a company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html#authenticate-as-a-company-user). |
-
-| QUERY PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. |
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "items",
- "id": "109_19416433",
- "attributes": {
- "sku": "109_19416433",
- "quantity": "1",
- "groupKey": "109_19416433",
- "abstractSku": "109",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "calculations": {
- "unitPrice": 12572,
- "sumPrice": 12572,
- "taxRate": 7,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 12572,
- "sumGrossPrice": 12572,
- "unitTaxAmountFullAggregation": 822,
- "sumTaxAmountFullAggregation": 822,
- "sumSubtotalAggregation": 12572,
- "unitSubtotalAggregation": 12572,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 12572,
- "sumPriceToPayAggregation": 12572
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/54a8290f-a2f6-58db-ae5d-ad4d04aad6ae/items/109_19416433"
- },
- "relationships": {
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000001"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-For the attributes of carts of registered users and included resources, see [Retrieve a registered user's carts](#retrieve-registered-users-carts-response-attributes).
-
-For the attributes of the included resources, see:
-* [Add an item to a registered user's cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-items-in-carts-of-registered-users.html#add-an-item-to-a-registered-users-cart)
-* [Managing gift cards of registered users](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/carts-of-registered-users/managing-gift-cards-of-registered-users.html).
-* [Cart permission groups](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/sharing-company-user-carts/retrieving-cart-permission-groups.html).
-* [Managing items in carts of registered users](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-items-in-carts-of-registered-users.html).
-* [Retrieve a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html#retrieve-a-concrete-product)
-* [Retrieve product labels](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-product-labels.html)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html#product-offers-response-attributes)
-* [Retrieving product offer availability](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-availability.html#product-offer-availability-response-attributes)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-prices.html#product-offer-prices-response-attributes)
-
-## Edit a cart
-
-You can edit the name of the cart, change the currency and price mode. To do that, send the request:
-
----
-`PATCH` {% raw %}**/carts/*{{cart_uuid}}***{% endraw %}
-
----
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{cart_uuid}}***{% endraw %} | Unique identifier of a cart. [Create a cart](#create-a-cart) or [retrieve a registered user's carts](#retrieve-registered-users-carts) to get it. |
-
-
-
-{% info_block infoBox "Info" %}
-
-* You can change the price mode only of an empty cart.
-
-{% endinfo_block %}
-
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer or company user to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html#authenticate-as-a-customer) or [authenticating as a company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html#authenticate-as-a-company-user). |
-| If-Match | 075d700b908d7e41f751c5d2d4392407 | ✓ | Makes the request conditional. It matches the listed conditional ETags from the headers when retrieving the cart. The patch is applied only if the tag value matches. |
-
-Request sample: edit a cart
-
-`https://glue.mysprykershop.com/carts/0c3ec260-694a-5cec-b78c-d37d32f92ee9`
-
-```json
-{
- "data":{
- "type":"carts",
- "attributes":{
- "name":"My Cart with awesome name",
- "priceMode":"GROSS_MODE",
- "currency":"EUR",
- "store":"DE"
- }
- }
-}
-```
-
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| name | String | ✓ | Sets the cart name.This field can be set only if you are using the Multiple Carts feature. If you are operating in a single-cart environment, an attempt to set the value will result in an error with the `422 Unprocessable Entry` status code. Cart name should be unique and should not be longer than 30 characters.|
-| priceMode | Enum | ✓ | Sets the price mode to be used for the cart. Possible values:
GROSS_MODE—prices after tax;
NET_MODE—prices before tax.
For details, see [Net & Gross Prices](/docs/scos/dev/back-end-development/data-manipulation/datapayload-conversion/net-and-gross-prices-management.html). |
-| currency | String | ✓ | Sets the cart currency. |
-| store | String | ✓ | Sets the name of the store where to create the cart. |
-
-### Response
-
-Response sample: edit a cart
-
-```json
-{
- "data": {
- "type": "carts",
- "id": "0c3ec260-694a-5cec-b78c-d37d32f92ee9",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "name": "My Cart with awesome name",
- "isDefault": true,
- "totals": {
- "expenseTotal": 0,
- "discountTotal": 63538,
- "taxTotal": 79689,
- "subtotal": 635381,
- "grandTotal": 571843,
- "priceToPay": 571843
- },
- "discounts": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/0c3ec260-694a-5cec-b78c-d37d32f92ee9"
- }
- }
-}
-```
-
-## Delete a cart
-
-To delete a cart, send the request:
-
----
-`DELETE` {% raw %}**/carts/*{{cart_uuid}}***{% endraw %}
-
----
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{cart_uuid}}***{% endraw %}| Unique identifier of a cart. [Create a cart](#create-a-cart) or [retrieve a registered user's carts](#retrieve-registered-users-carts) to get it. |
-
-
-
-{% info_block infoBox "Deleting carts" %}
-
-You can delete a cart only if a customer has at least one more cart. Deleting a customer's last cart returns the `422 Unprocessable Entry` status code. If you delete the default cart of a customer, another cart is assigned as default automatically.
-
-{% endinfo_block %}
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer or company user to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html#authenticate-as-a-customer) or [authenticating as a company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html#authenticate-as-a-company-user). |
-
-
-Request sample: delete a cart
-
-`DELETE https://glue.mysprykershop.com/carts/4741fc84-2b9b-59da-bb8d-f4afab5be054`
-
-### Response
-
-If the cart is deleted successfully, the endpoint returns the `204 No Content` status code.
-
-## Possible errors
-
-| CODE | REASON |
-| --- | --- |
-| 101 | Cart with given uuid not found. |
-| 102 | Failed to add an item to cart. |
-| 103 | Item with the given group key not found in the cart. |
-| 104 | Cart uuid is missing. |
-| 105 | Cart could not be deleted. |
-| 106 | Cart item could not be deleted. |
-| 107 | Failed to create a cart. |
-| 109 | Anonymous customer unique id is empty. |
-| 110 | Customer already has a cart. |
-| 111 | Can’t switch price mode when there are items in the cart. |
-| 112 | Store data is invalid. |
-| 113 | Cart item could not be added. |
-| 114 | Cart item could not be updated. |
-| 115 | Unauthorized cart action. |
-| 116 | Currency is missing. |
-| 117 | Currency is incorrect. |
-| 118 | Price mode is missing. |
-| 119 | Price mode is incorrect. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-items-in-carts-of-registered-users.md b/docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-items-in-carts-of-registered-users.md
deleted file mode 100644
index 6dbb81e3bf2..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/carts-of-registered-users/managing-items-in-carts-of-registered-users.md
+++ /dev/null
@@ -1,1820 +0,0 @@
----
-title: Managing items in carts of registered users
-description: Retrieve details about the items of the registered users' carts, and learn what else you can do with the resource in the Spryker Marketplace
-template: glue-api-storefront-guide-template
----
-This endpoint allows managing items in carts of registered users by adding, changing, and deleting them.
-
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [Glue API: Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-cart-feature-integration.html)
-* [Glue API: Measurement Units feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-measurement-units-feature-integration.html)
-* [Glue API: Product Options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-options-feature-integration.html)
-* [Glue API: Promotions & Discounts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-promotions-and-discounts-feature-integration.html)
-* [GLUE API: Merchant Offers feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-* [Glue API: Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-* [Glue API: Marketplace Product Offer Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html
-
-
-
-## Add an item to a registered user's cart
-
-To add items to a cart, send the request:
-
----
-`POST` {% raw %}**carts/*{{cart_uuid}}*/items**{% endraw %}
-
----
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{cart_uuid}}***{% endraw %} | Unique identifier of a cart. [Create a cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html) or [retrieve a registered user's carts](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html#retrieve-a-registered-users-cart) to get it. |
-
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-| QUERY PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. |
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "items",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478",
- "quantity": 12,
- "groupKey": "020_21081478",
- "abstractSku": "020",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "calculations": {
- "unitPrice": 10580,
- "sumPrice": 126960,
- "taxRate": 19,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 10580,
- "sumGrossPrice": 126960,
- "unitTaxAmountFullAggregation": 1689,
- "sumTaxAmountFullAggregation": 20271,
- "sumSubtotalAggregation": 126960,
- "unitSubtotalAggregation": 10580,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 10580,
- "sumPriceToPayAggregation": 126960
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "productConfigurationInstance": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/61ab15e9-e24a-5dec-a1ef-fc333bd88b0a/items/020_21081478"
- },
- "relationships": {
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000001"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| sku | String | Product SKU. |
-| quantity | Integer | Quantity of the given product in the cart. |
-| groupKey | String | Unique item identifier. The value is generated based on product properties. |
-| abstractSku | String | Unique identifier of the abstract product owning this concrete product. |
-| amount | Integer | Amount of the products in the cart. |
-| unitPrice | Integer | Single item price without assuming if it is net or gross. This value should be used everywhere the price is displayed. It allows switching tax mode without side effects. |
-| sumPrice | Integer | Sum of all items prices calculated. |
-| taxRate | Integer | Current tax rate in percent. |
-| unitNetPrice | Integer | Single item net price. |
-| sumNetPrice | Integer | Sum of prices of all items. |
-| unitGrossPrice | Integer | Single item gross price. |
-| sumGrossPrice | Integer | Sum of items gross price. |
-| unitTaxAmountFullAggregation | Integer | Total tax amount for a given item with additions. |
-| sumTaxAmountFullAggregation | Integer | Total tax amount for a given sum of items with additions. |
-| sumSubtotalAggregation | Integer | Sum of subtotals of the items. |
-| unitSubtotalAggregation | Integer | Subtotal for the given item. |
-| unitProductOptionPriceAggregation | Integer | Item total product option price. |
-| sumProductOptionPriceAggregation | Integer | Item total of product options for the given sum of items. |
-| unitDiscountAmountAggregation | Integer | Item total discount amount. |
-| sumDiscountAmountAggregation | Integer | Sum of Item total discount amount. |
-| unitDiscountAmountFullAggregation | Integer | Sum total discount amount with additions. |
-| sumDiscountAmountFullAggregation | Integer | Item total discount amount with additions. |
-| unitPriceToPayAggregation | Integer | Item total price to pay after discounts with additions. |
-| sumPriceToPayAggregation | Integer | Sum of the prices to pay (after discounts).|
-| salesUnit |Object | List of attributes defining the sales unit to be used for item amount calculation. |
-| salesUnit.id | Integer | Numeric value that defines the sales units to calculate the item amount in. |
-| salesUnit.amount | Integer | Amount of product in the defined sales units. |
-| selectedProductOptions | array | List of attributes describing the product options that were added to cart with the product. |
-| selectedProductOptions.optionGroupName | String | Name of the group to which the option belongs. |
-| selectedProductOptions.sku | String | SKU of the product option. |
-| selectedProductOptions.optionName | String | Product option name. |
-| selectedProductOptions.price | Integer | Product option price in cents. |
-| selectedProductOptions.currencyIsoCode | String | ISO 4217 code of the currency in which the product option price is specified. |
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- | --- |
-| product-options | optionGroupName | String | Name of the group to which the option belongs. |
-| product-options | sku | String | SKU of the product option. |
-| product-options | optionName | String | Product option name. |
-| product-options | price | Integer | Product option price in cents. |
-| product-options | currencyIsoCode | String | ISO 4217 code of the currency in which the product option price is specified. |
-| vouchers, cart-rules | displayName | String | Discount name displayed on the Storefront. |
-| vouchers, cart-rules | amount | Integer | Amount of the provided discount. |
-| vouchers, cart-rules | code | String | Discount code. |
-| vouchers, cart-rules | discountType | String | Discount type. |
-| vouchers, cart-rules | isExclusive | Boolean | Discount exclusivity. |
-| vouchers, cart-rules | expirationDateTime | DateTimeUtc | Date and time on which the discount expires. |
-| vouchers, cart-rules | discountPromotionAbstractSku | String | SKU of the products to which the discount applies. If the discount can be applied to any product, the value is `null`. |
-| vouchers, cart-rules | discountPromotionQuantity | Integer | Specifies the amount of the product required to be able to apply the discount. If the minimum number is `0`, the value is `null`. |
-
-For the attributes of the included resources, see:
-* [Retrieving measurement units](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-measurement-units.html)
-* [Create a cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html)
-* [Retrieve a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html#product-offers-response-attributes)
-* [Retrieving product offer prices](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-prices.html#product-offer-prices-response-attributes)
-* [Retrieving product availability](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-availability.html#product-offer-availability-response-attributes)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-
-## Change item quantity
-
-To change the number of items in a cart, send the request:
-
-***
-`PATCH` {% raw %}**/carts/*{{cart_uuid}}*/items/*{{item_group_key}}***{% endraw %}
-***
-
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{cart_uuid}}***{% endraw %} | Unique identifier of a cart. [Create a cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html) or [retrieve a registered user's carts](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html#retrieve-a-registered-users-cart) to get it. |
-| {% raw %}***{{item_group_key}}***{% endraw %} | Group key of the item. Usually, it is equal to the item’s SKU. |
-
-### Request
-
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-
-Request sample: change item quantity
-
-`PATCH http://mysprykershop.com/carts/4741fc84-2b9b-59da-bb8d-f4afab5be054/items/177_25913296`
-
-```json
-{
- "data": {
- "type": "items",
- "attributes": {
- "quantity": 10
- }
- }
-}
-```
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| quantity | String | ✓ | Specifies the new quantity of the items. |
-
-### Response
-
-
-Response sample: change item quantity
-
-```json
-{
- "data": [
- {
- "type": "carts",
- "id": "52493031-cccf-5ad2-9cc7-93d0f738303d",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "name": "\"All in\" Conf Bundle",
- "isDefault": true,
- "totals": {
- "expenseTotal": 0,
- "discountTotal": 0,
- "taxTotal": 718,
- "subtotal": 4500,
- "grandTotal": 4500
- },
- "discounts": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/carts/52493031-cccf-5ad2-9cc7-93d0f738303d"
- },
- "relationships": {
- "items": {
- "data": [
- {
- "type": "items",
- "id": "cable-vga-1-2_quantity_sales_unit_id_33_amount_1.5_sales_unit_id_33"
- }
- ]
- }
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/items?include=items,concrete-products,cart-permission-groups"
- },
- "included": [
- {
- "type": "concrete-products",
- "id": "cable-vga-1-2",
- "attributes": {
- "sku": "cable-vga-1-2",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "VGA cable as long as you want",
- "description": "Screw-in VGA cable with 15-pin male input and output.
Supports resolutions at 800x600 (SVGA), 1024x768 (XGA), 1600x1200 (UXGA), 1080p (Full HD), 1920x1200 (WUXGA), and up for high resolution LCD and LED monitors.
The VGA cord engineered with molded strain relief connectors for durability, grip treads for easy plugging and unplugging, and finger-tightened screws for a secure connection.
Gold-plated connectors; 100% bare copper conductors.
-
-For the attributes of the included resources, see [Retrieving concrete products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html).
-
-## Remove items from a registered user's cart
-
-To remove an item from a registered user's cart, send the request:
-
-***
-`DELETE` {% raw %}**/carts/*{{cart_uuid}}*/items/*{{item_group_key}}***{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{cart_uuid}}***{% endraw %} | Unique identifier of a cart. [Create a cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html) or [retrieve a registered user's carts](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html#retrieve-a-registered-users-cart) to get it. |
-| {% raw %}***{{item_group_key}}***{% endraw %}| Group key of the item. Usually, it is equal to the item’s SKU. |
-
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-Request sample: Remove items from a registered user's cart
-
-`DELETE http://mysprykershop.com/carts/4741fc84-2b9b-59da-bb8d-f4afab5be054/items/177_25913296`
-
-### Response
-
-If the item is deleted successfully, the endpoint returns the `204 No Content` status code.
-
-## Possible errors
-
-| CODE | REASON |
-| --- | --- |
-| 101 | Cart with given uuid not found. |
-| 102 | Failed to add an item to a cart. |
-| 103 | Item with the given group key not found in the cart. |
-| 104 | Cart uuid is missing. |
-| 105 | Cart could not be deleted. |
-| 106 | Cart item could not be deleted. |
-| 107 | Failed to create a cart. |
-| 109 | Anonymous customer unique id is empty. |
-| 110 | Customer already has a cart. |
-| 111 | Can’t switch price mode when there are items in the cart. |
-| 112 | Store data is invalid. |
-| 113 | Cart item could not be added. |
-| 114 | Cart item could not be updated. |
-| 115 | Unauthorized cart action. |
-| 116 | Currency is missing. |
-| 117 | Currency is incorrect. |
-| 118 | Price mode is missing. |
-| 119 | Price mode is incorrect. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-concrete-products.md b/docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-concrete-products.md
deleted file mode 100644
index 49a10d8e711..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-concrete-products.md
+++ /dev/null
@@ -1,1143 +0,0 @@
----
-title: Retrieving concrete products
-description: Retrieve details about the items of the registered users' carts, and learn what else you can do with the resource in the Spryker Marketplace
-template: glue-api-storefront-guide-template
----
-
-This endpoint allows retrieving general information about concrete products.
-
-## Installation
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [Glue API: Products feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-feature-integration.html)
-* [Glue API: Measurement Units feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-measurement-units-feature-integration.html)
-* [Glue API: Product Options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-options-feature-integration.html)
-* [Glue API: Product Labels feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-labels-feature-integration.html)
-* [Glue API: Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-* [Glue API: Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-* [Glue API: Marketplace Product Offer Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html
-
-
-## Retrieve a concrete product
-
-To retrieve general information about a concrete product, send the request:
-
-***
-`GET` {% raw %}**/concrete-products/*{{concrete_product_sku}}***{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{concrete_product_sku}}***{% endraw %} | SKU of a concrete product to get information for. |
-
-### Request
-
-| STRING PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. |
concrete-product-image-sets
concrete-product-availabilities
product-options
product-reviews
concrete-product-prices
product-measurement-units
sales-units
product-labels
product-offers
product-offer-prices
merchants
|
-| fields | Filters out the fields to be retrieved. | name, image, description |
-
-{% info_block infoBox "Included resources" %}
-
-To retrieve product offer prices, include `product-offers` and `product-offer-prices`.
-
-{% endinfo_block %}
-
-{% info_block infoBox "Filtering" %}
-
-* For performance and bandwidth usage optimization, we recommend filtering out only the needed information using the `fields` string parameter.
-
-* If you include more resources, you can still use the `fields` string parameter to return only the needed fields. For example, `GET https://glue.mysprykershop.com/concrete-products/fish-1-1?include=sales-units&fields[concrete-products]=name,description&fields[sales-units]=conversion,precision`.
-
-{% endinfo_block %}
-
-
-
-| REQUEST | USAGE |
-| --- | --- |
-| `GET https://glue.mysprykershop.com/concrete-products/001_25904006` | Retrieve information about the `001_25904006` product. |
-| `GET https://glue.mysprykershop.com/concrete-products/001_25904006?include=concrete-product-image-sets` | Retrieve information about the `001_25904006` product with its image sets. |
-| `GET https://glue.mysprykershop.com/concrete-products/001_25904006?include=concrete-product-availabilities` | Retrieve information about the `001_25904006` product with its availability. |
-| `GET https://glue.mysprykershop.com/concrete-products/001_25904006?include=concrete-product-prices` | Retrieve information about the `001_25904006` product with its [default prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html). |
-| `GET https://glue.mysprykershop.com/abstract-products/093_24495843?include=concrete-product-prices` | Retrieve information about the abstract product with SKU `093_24495843` with its prices: default and [volume prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html) |
-| `GET https://glue.mysprykershop.com/concrete-products/001_25904006?include=product-options` | Retrieve information about the `001_25904006` product with its product options. |
-| `GET https://glue.mysprykershop.com/concrete-products/035_17360369?include=product-reviews` | Retrieve information about the `001_25904006` product with its product reviews. |
-| `GET https://glue.mysprykershop.com/concrete-products/fish-1-1?include=sales-units,product-measurement-units` | Retrieve information about the `fish-1-1` product with the information on its sales units and product measurement units included. |
-| `GET https://glue.mysprykershop.com/concrete-products/001_25904006?include=product-labels` | Retrieve information about the `001_25904006` product with product labels included. |
-| `GET https://glue.mysprykershop.com/concrete-products/001_25904006?include=product-offers` | Retrieve information about a concrete product with the SKU `001_25904006` with the product offers for this product included. |
-| `GET https://glue.mysprykershop.com/concrete-products/076_24394207?include=product-offers,product-offer-prices` | Retrieve information about a concrete product with the SKU `076_24394207` with product offers and the product offer prices included.
-| `GET https://glue.mysprykershop.com/concrete-products/111_12295890?include=abstract-products,merchants` | Retrieve information about the concrete product with SKU `111_12295890` with its abstract product and the merchant who sells it.|
-
-### Response
-
-
-Response sample: retrieve information about a concrete product
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006"
- }
- }
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product with its image sets
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006?include=concrete-product-image-sets"
- },
- "relationships": {
- "concrete-product-image-sets": {
- "data": [
- {
- "type": "concrete-product-image-sets",
- "id": "001_25904006"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-product-image-sets",
- "id": "001_25904006",
- "attributes": {
- "imageSets": [
- {
- "name": "default",
- "images": [
- {
- "externalUrlLarge": "https://images.icecat.biz/img/norm/high/25904006-8438.jpg",
- "externalUrlSmall": "https://images.icecat.biz/img/norm/medium/25904006-8438.jpg"
- }
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006/concrete-product-image-sets"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about a concrete product with its availability
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006?include=concrete-product-availabilities"
- },
- "relationships": {
- "concrete-product-availabilities": {
- "data": [
- {
- "type": "concrete-product-availabilities",
- "id": "001_25904006"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-product-availabilities",
- "id": "001_25904006",
- "attributes": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006/concrete-product-availabilities"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product with its default prices
-
-```php
-{
- "data": {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006?include=concrete-product-prices"
- },
- "relationships": {
- "concrete-product-prices": {
- "data": [
- {
- "type": "concrete-product-prices",
- "id": "001_25904006"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-product-prices",
- "id": "001_25904006",
- "attributes": {
- "price": 9999,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 9999,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "ORIGINAL",
- "netAmount": null,
- "grossAmount": 12564,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006/concrete-product-prices"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product with its default and volume prices
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "093_24495843",
- "attributes": {
- "sku": "093_24495843",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": 4.3,
- "reviewCount": 4,
- "productAbstractSku": "093",
- "name": "Sony SmartWatch 3",
- "description": "The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated, casual, vibrant colours and fitness style, all made from the finest materials. Designed to perform and impress, this smartphone watch delivers a groundbreaking combination of technology and style. Downloadable apps let you customise your SmartWatch 3 SWR50 and how you use it. Tell SmartWatch 3 SWR50 smartphone watch what you want and it will do it. Search. Command. Find.",
- "attributes": {
- "internal_ram": "512 MB",
- "flash_memory": "4 GB",
- "weight": "45 g",
- "protection_feature": "Water resistent",
- "brand": "Sony",
- "color": "Silver"
- },
- "superAttributesDefinition": [
- "flash_memory",
- "color"
- ],
- "metaTitle": "Sony SmartWatch 3",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "The way you like it Whatever your lifestyle SmartWatch 3 SWR50 can be made to suit it. You can choose from a range of wrist straps – formal, sophisticated,",
- "attributeNames": {
- "internal_ram": "Internal RAM",
- "flash_memory": "Flash memory",
- "weight": "Weight",
- "protection_feature": "Protection feature",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/093_24495843?include=concrete-product-prices"
- },
- "relationships": {
- "concrete-product-prices": {
- "data": [
- {
- "type": "concrete-product-prices",
- "id": "093_24495843"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-product-prices",
- "id": "093_24495843",
- "attributes": {
- "price": 24899,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 24899,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": [
- {
- "netAmount": 150,
- "grossAmount": 165,
- "quantity": 5
- },
- {
- "netAmount": 145,
- "grossAmount": 158,
- "quantity": 10
- },
- {
- "netAmount": 140,
- "grossAmount": 152,
- "quantity": 20
- }
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/093_24495843/concrete-product-prices"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product with its product options
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006?include=product-options"
- },
- "relationships": {
- "product-options": {
- "data": [
- {
- "type": "product-options",
- "id": "OP_insurance"
- },
- {
- "type": "product-options",
- "id": "OP_gift_wrapping"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-options",
- "id": "OP_insurance",
- "attributes": {
- "optionGroupName": "Insurance",
- "sku": "OP_insurance",
- "optionName": "Two (2) year insurance coverage",
- "price": 10000,
- "currencyIsoCode": "EUR"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006/product-options/OP_insurance"
- }
- },
- {
- "type": "product-options",
- "id": "OP_gift_wrapping",
- "attributes": {
- "optionGroupName": "Gift wrapping",
- "sku": "OP_gift_wrapping",
- "optionName": "Gift wrapping",
- "price": 500,
- "currencyIsoCode": "EUR"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006/product-options/OP_gift_wrapping"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product with product reviews
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "035_17360369",
- "attributes": {
- "sku": "035_17360369",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": 4.7,
- "reviewCount": 3,
- "name": "Canon PowerShot N",
- "description": "Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creative images plus the original unaltered photo—capturing the same subject in a variety of artistic and surprising ways. The unique symmetrical, metal-bodied design is strikingly different with an ultra-modern minimalist style—small enough to keep in your pocket and stylish enough to take anywhere. HS System excels in low light letting you capture the real atmosphere of the moment without flash or a tripod. Advanced DIGIC 5 processing and a high-sensitivity 12.1 Megapixel CMOS sensor give excellent image quality in all situations.",
- "attributes": {
- "focus": "TTL",
- "field_of_view": "100%",
- "display": "LCD",
- "sensor_type": "CMOS",
- "brand": "Canon",
- "color": "Silver"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon PowerShot N",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Creative Shot Originality is effortless with Creative Shot. Simply take a shot and the camera will analyse the scene then automatically generate five creat",
- "attributeNames": {
- "focus": "Focus",
- "field_of_view": "Field of view",
- "display": "Display",
- "sensor_type": "Sensor type",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/035_17360369?include=product-reviews"
- },
- "relationships": {
- "product-reviews": {
- "data": [
- {
- "type": "product-reviews",
- "id": "29"
- },
- {
- "type": "product-reviews",
- "id": "28"
- },
- {
- "type": "product-reviews",
- "id": "30"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-reviews",
- "id": "29",
- "attributes": {
- "rating": 5,
- "nickname": "Maria",
- "summary": "Curabitur varius, dui ac vulputate ullamcorper",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vel mauris consequat, dictum metus id, facilisis quam. Vestibulum imperdiet aliquam interdum. Pellentesque tempus at neque sed laoreet. Nam elementum vitae nunc fermentum suscipit. Suspendisse finibus risus at sem pretium ullamcorper. Donec rutrum nulla nec massa tristique, porttitor gravida risus feugiat. Ut aliquam turpis nisi."
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-reviews/29"
- }
- },
- {
- "type": "product-reviews",
- "id": "28",
- "attributes": {
- "rating": 5,
- "nickname": "Spencor",
- "summary": "Donec vestibulum lectus ligula",
- "description": "Donec vestibulum lectus ligula, non aliquet neque vulputate vel. Integer neque massa, ornare sit amet felis vitae, pretium feugiat magna. Suspendisse mollis rutrum ante, vitae gravida ipsum commodo quis. Donec eleifend orci sit amet nisi suscipit pulvinar. Nullam ullamcorper dui lorem, nec vehicula justo accumsan id. Sed venenatis magna at posuere maximus. Sed in mauris mauris. Curabitur quam ex, vulputate ac dignissim ac, auctor eget lorem. Cras vestibulum ex quis interdum tristique."
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-reviews/28"
- }
- },
- {
- "type": "product-reviews",
- "id": "30",
- "attributes": {
- "rating": 4,
- "nickname": "Maggie",
- "summary": "Aliquam erat volutpat",
- "description": "Morbi vitae ultricies libero. Aenean id lectus a elit sollicitudin commodo. Donec mattis libero sem, eu convallis nulla rhoncus ac. Nam tincidunt volutpat sem, eu congue augue cursus at. Mauris augue lorem, lobortis eget varius at, iaculis ac velit. Sed vulputate rutrum lorem, ut rhoncus dolor commodo ac. Aenean sed varius massa. Quisque tristique orci nec blandit fermentum. Sed non vestibulum ante, vitae tincidunt odio. Integer quis elit eros. Phasellus tempor dolor lectus, et egestas magna convallis quis. Ut sed odio nulla. Suspendisse quis laoreet nulla. Integer quis justo at velit euismod imperdiet. Ut orci dui, placerat ut ex ac, lobortis ullamcorper dui. Etiam euismod risus hendrerit laoreet auctor."
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-reviews/30"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product with the details on its sales units and product measurement units
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "cable-vga-1-1",
- "attributes": {
- "sku": "cable-vga-1-1",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "VGA cable (1.5m)",
- "description": "Enjoy clear, crisp, immediate connectivity with the High-Speed HDMI Cable. This quality High-Definition Multimedia Interface (HDMI) cable allows you to connect a wide variety of devices in the realms of home entertainment, computing, gaming, and more to your HDTV, projector, or monitor. Perfect for those that interact with multiple platforms and devices, you can rely on strong performance and playback delivery when it comes to your digital experience.",
- "attributes": {
- "packaging_unit": "Ring"
- },
- "superAttributesDefinition": [
- "packaging_unit"
- ],
- "metaTitle": "",
- "metaKeywords": "",
- "metaDescription": "",
- "attributeNames": {
- "packaging_unit": "Packaging unit"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/cable-vga-1-1?include=sales-units,product-measurement-units"
- },
- "relationships": {
- "product-measurement-units": {
- "data": [
- {
- "type": "product-measurement-units",
- "id": "METR"
- }
- ]
- },
- "sales-units": {
- "data": [
- {
- "type": "sales-units",
- "id": "32"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-measurement-units",
- "id": "METR",
- "attributes": {
- "name": "Meter",
- "defaultPrecision": 100
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-measurement-units/METR"
- }
- },
- {
- "type": "sales-units",
- "id": "32",
- "attributes": {
- "conversion": 1,
- "precision": 100,
- "isDisplayed": true,
- "isDefault": true,
- "productMeasurementUnitCode": "METR"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/cable-vga-1-1/sales-units/32"
- },
- "relationships": {
- "product-measurement-units": {
- "data": [
- {
- "type": "product-measurement-units",
- "id": "METR"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about a concrete product with its product labels
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006"
- }
- }
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product and its product offers included
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "001_25904006",
- "attributes": {
- "sku": "001_25904006",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Canon IXUS 160",
- "description": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results while framing using Live View Control and enjoy sharing them with friends using the 6.8 cm (2.7”) LCD screen. Combine with a Canon Connect Station and you can easily share your photos and movies with the world on social media sites and online albums like irista, plus enjoy watching them with family and friends on an HD TV. Effortlessly enjoy great shots of friends thanks to Face Detection technology. It detects multiple faces in a single frame making sure they remain in focus and with optimum brightness. Face Detection also ensures natural skin tones even in unusual lighting conditions.",
- "attributes": {
- "megapixel": "20 MP",
- "flash_range_tele": "4.2-4.9 ft",
- "memory_slots": "1",
- "usb_version": "2",
- "brand": "Canon",
- "color": "Red"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 160",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Add a personal touch Make shots your own with quick and easy control over picture settings such as brightness and colour intensity. Preview the results whi",
- "attributeNames": {
- "megapixel": "Megapixel",
- "flash_range_tele": "Flash range (tele)",
- "memory_slots": "Memory slots",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/001_25904006?include=product-offers"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer49"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-offers",
- "id": "offer49",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000005",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer49"
- }
- }
- ]
-}
-```
-
-
-
-
-Response sample: retrieve information about a concrete product and its product offers and product offer prices included
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "076_24394207",
- "attributes": {
- "sku": "076_24394207",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "076",
- "name": "Sony Xperia Z3 Compact",
- "description": "Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof rating*, Xperia Z3 Compact lets you answer calls in the rain or take pictures in the pool. And it can handle all the drops into the sink in between. Combined with a slim, compact design that’s easy to use with one hand, Xperia Z3 Compact is the Android smartphone that teams durability with beauty. Some of the best times happen in the lowest light. Years of Sony camera expertise have been brought to Xperia Z3 Compact, to deliver unparalleled low-light capability. Thanks to Cyber-shot and Handycam technologies you can record stunning videos on the move and take crisp shots under water. Want to take your shots to the next level? Get creative with our unique camera apps. It’s our best smartphone camera yet – for memories that deserve more than good.",
- "attributes": {
- "internal_ram": "2048 MB",
- "display_type": "TFT",
- "bluetooth_version": "4.0 LE",
- "form_factor": "Bar",
- "brand": "Sony",
- "color": "White"
- },
- "superAttributesDefinition": [
- "form_factor",
- "color"
- ],
- "metaTitle": "Sony Xperia Z3 Compact",
- "metaKeywords": "Sony,Communication Electronics",
- "metaDescription": "Dive into new experiences Xperia Z3 Compact is the smartphone designed to enhance your life. And life isn’t lived inside. With the highest waterproof ratin",
- "attributeNames": {
- "internal_ram": "Internal RAM",
- "display_type": "Display type",
- "bluetooth_version": "Blootooth version",
- "form_factor": "Form factor",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/076_24394207"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer169"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-offer-prices",
- "id": "offer169",
- "attributes": {
- "price": 30355,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 30355,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": [
- {
- "grossAmount": 38400,
- "netAmount": 39100,
- "quantity": 3
- }
-
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer169/product-offer-prices"
- }
- },
- {
- "type": "product-offers",
- "id": "offer169",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000006",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer169"
- },
- "relationships": {
- "product-offer-prices": {
- "data": [
- {
- "type": "product-offer-prices",
- "id": "offer169"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve information about a concrete product, an abstract product it belongs to, and the merchant who sells the concrete product
-
-```json
-{
- "data": {
- "type": "concrete-products",
- "id": "111_12295890",
- "attributes": {
- "sku": "111_12295890",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "111",
- "name": "Sony SmartWatch",
- "description": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your world’s just a tap, swipe or press away. Want to do more with your SmartWatch? Download compatible applications on Google Play™. And customise your SmartWatch to make it exclusively yours. Customise your SmartWatch with a 20mm wristband. Or wear its stylish wristband. You can even use it as a clip. This ultra-thin Android™ remote was designed to impress. An elegant Android watch that’ll keep you discreetly updated and your hands free.",
- "attributes": {
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "72 h",
- "display_type": "LCD",
- "brand": "Sony",
- "color": "Silver"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your ",
- "attributeNames": {
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "display_type": "Display type",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/111_12295890"
- },
- "relationships": {
- "abstract-products": {
- "data": [
- {
- "type": "abstract-products",
- "id": "111"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "abstract-products",
- "id": "111",
- "attributes": {
- "sku": "111",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Sony SmartWatch",
- "description": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your world’s just a tap, swipe or press away. Want to do more with your SmartWatch? Download compatible applications on Google Play™. And customise your SmartWatch to make it exclusively yours. Customise your SmartWatch with a 20mm wristband. Or wear its stylish wristband. You can even use it as a clip. This ultra-thin Android™ remote was designed to impress. An elegant Android watch that’ll keep you discreetly updated and your hands free. ",
- "attributes": {
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "72 h",
- "display_type": "LCD",
- "brand": "Sony",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Silver"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "111_12295890"
- ],
- "super_attributes": {
- "color": [
- "Silver"
- ]
- },
- "attribute_variants": []
- },
- "metaTitle": "Sony SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your ",
- "attributeNames": {
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "display_type": "Display type",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/sony-smartwatch-111"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/111"
- }
- }
- ]
-}
-```
-
-
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| sku | String | SKU of the concrete product. |
-| name | String | Name of the concrete product. |
-| description | String | Description of the concrete product. |
-| attributes | Object | List of attribute keys and their values for the product. |
-| superAttributeDefinition | String | List of attributes that are flagged as super attributes. |
-| metaTitle|String|Meta title of the product. |
-| metaKeywords|String|Meta keywords of the product. |
-| metaDescription|String|Meta description of the product. |
-| attributeNames | String | List of attribute keys and their translations. |
-| productAbstractSku | String | Unique identifier of the abstract product owning this concrete product. |
-
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- | --- |
-| product-options | sku | String | Specifies the SKU of the product option. |
-| product-options | optionName | String | Specifies the option name. |
-| product-options | optionGroupName | String | Specifies the name of the group to which the option belongs. |
-| product-options | price | Integer | Specifies the option price in cents. |
-| product-options | currencyIsoCode | String | Specifies the ISO 4217 code of the currency in which the product option price is specified. |
-
-For attributes of the other included resources, see the following:
-
-* [Retrieve sales units of a concrete product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-sales-units.html)
-* [Retrieve a measurement unit](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-measurement-units.html#measurement-units-response-attributes)
-* [Retrieve image sets of a concrete product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-image-sets-of-concrete-products.html)
-* [Retrieve availability of a concrete product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-concrete-product-availability.html)
-* [Retrieve prices of a concrete product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-concrete-product-prices.html)
-* [Retrieve a product label](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-product-labels.html)
-* [Retrieve product ratings and reviews](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/managing-product-ratings-and-reviews.html)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html#product-offers-response-attributes)
-* [Retrieving product offer prices](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-prices.html#product-offer-prices-response-attributes)
-* [Retrieving abstract products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/abstract-products/retrieving-abstract-products.html#response)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}//merchants/retrieving-merchants.html#merchants-response-attributes)
-
-
-## Possible errors
-
-| CODE | REASON |
-| --- | --- |
-| 302 | Concrete product is not found. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-product-offers-of-concrete-products.md b/docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-product-offers-of-concrete-products.md
deleted file mode 100644
index 06067e6df5e..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/concrete-products/retrieving-product-offers-of-concrete-products.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: Retrieving product offers of concrete products
-description: Retrieve details about product offers via Glue API
-template: glue-api-storefront-guide-template
----
-
-
-To retrieve the product offers of a concrete product, send the request:
-
-***
-`GET` {% raw %}**/concrete-products/*{{concrete_product_sku}}*/product-offers**{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| ------------- | ---------------------- |
-| {% raw %}***{concrete_product_sku}}***{% endraw %} | SKU of a concrete product to retrieve the product offers of. |
-
-## Request
-
-Request sample: retrieve the product offers of a concrete product
-
-`GET https://glue.mysprykershop.com/concrete-products/006_30692993/product-offers`
-
-## Response
-
-Response sample: retrieve the product offers of a concrete product
-
-```json
-{
- "data": [
- {
- "type": "product-offers",
- "id": "offer54",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000005",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer54"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/006_30692993/product-offers"
- }
-}
-```
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --------------------- | ----------- | --------------------- |
-| merchantSku | String | SKU of the merchant the product offer belongs to. |
-| merchantReference | String | Unique identifier of the merchant. |
-| isDefault | Boolean | Defines if the product offer is default. |
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/content-items/retrieving-abstract-products-in-abstract-product-lists.md b/docs/marketplace/dev/glue-api-guides/202108.0/content-items/retrieving-abstract-products-in-abstract-product-lists.md
deleted file mode 100644
index b3f2723f071..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/content-items/retrieving-abstract-products-in-abstract-product-lists.md
+++ /dev/null
@@ -1,198 +0,0 @@
----
-title: Retrieving abstract products in abstract product lists
-description: This glue API document describes how to retrieve abstract products in abstract product lists.
-template: glue-api-storefront-guide-template
----
-
-This endpoint allows retrieving abstract products in [abstract product lists](/docs/scos/user/features/{{page.version}}/content-items-feature-overview.html).
-
-## Installation
-
-For details about the modules that provide the API functionality and how to install them, see [Content Items API](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-content-items-feature-integration.html).
-
-## Retrieve abstract products in an abstract product list
-
-
-To retrieve abstract products in an abstract product list, send the request:
-
-
-***
-`GET` {% raw %}**/content-product-abstract-lists/*{{content_item_key}}*/abstract-products**{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| ----------------- | -------------------------- |
-| {% raw %}***{{content_item_key}}***{% endraw %} | Unique identifier of an abstract product list to retrieve the abstract products of. |
-
-
-{% info_block warningBox "Info" %}
-
-Alternatively, you can [retrieve an abstract product list](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-content-items/retrieving-abstract-product-list-content-items.html#retrieve-abstract-product-list-content-item) with the `abstract-products` resource included.
-
-{% endinfo_block %}
-
-### Request
-
-Request sample: retrieve abstract products in an abstract product list
-
-`GET http://mysprykershop.com/content-product-abstract-lists/apl-1/abstract-products`
-
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Accept-Language | string | ✓ | Comma-separated list of locales. If no locale is specified, data from the default locale is returned. |
-
-
-
-### Response
-
-
-Response sample: retrieve abstract products in an abstract product list
-
-```json
-{
- "data": [
- {
- "type": "abstract-products",
- "id": "204",
- "attributes": {
- "sku": "204",
- "merchantReference": "MER000002",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Sony PXW-FS5K",
- "description": "Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second. Add some power to your shots: Add an E-mount lens with a power zoom and smoothly focus in on your subject with up to 11x magnification. Capture it all in HD: Capture all the detail with Full HD 1920 x 1080 video shooting (AVCHD format) at 24mbs for increased detail and clarity. DSLR quality photos: Shoot stills with DSLR-like picture quality and shallow depth of field for professional looking shots.",
- "attributes": {
- "iso_sensitivity": "3200",
- "sensor_type": "CMOS",
- "white_balance": "Auto",
- "wi_fi": "yes",
- "brand": "Sony",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "superAttributes": {
- "color": [
- "Black"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "204_29851280"
- ],
- "super_attributes": {
- "color": [
- "Black"
- ]
- },
- "attribute_variants": [],
- "attribute_variant_map": {
- "286": []
- }
- },
- "metaTitle": "Sony PXW-FS5K",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Take control and shoot your way Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic vide",
- "attributeNames": {
- "iso_sensitivity": "ISO sensitivity",
- "sensor_type": "Sensor type",
- "white_balance": "White balance",
- "wi_fi": "Wi-Fi",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/sony-pxw-fs5k-204"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/204"
- }
- },
- {
- "type": "abstract-products",
- "id": "205",
- "attributes": {
- "sku": "205",
- "merchantReference": "MER000002",
- "averageRating": null,
- "reviewCount": 0,
- "name": "Toshiba CAMILEO S30",
- "description": "Reach out Reach out with your 10x digital zoom and control recordings on the large 3-inch touchscreen LCD monitor. Create multi-scene video files thanks to the new Pause feature button! Save the best moments of your life with your CAMILEO S30 camcorder. Real cinematic images and sound: Explore a new dimension in creative artistry. Capture beautifully detailed, cinematic video images plus high-quality audio in cinematic 24 frames per second.",
- "attributes": {
- "total_megapixels": "8 MP",
- "display": "LCD",
- "self_timer": "10 s",
- "weight": "118 g",
- "brand": "Toshiba",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "total_megapixels",
- "color"
- ],
- "superAttributes": {
- "color": [
- "Grey"
- ]
- },
- "attributeMap": {
- "product_concrete_ids": [
- "205_6350138"
- ],
- "super_attributes": {
- "color": [
- "Grey"
- ]
- },
- "attribute_variants": [],
- "attribute_variant_map": {
- "287": []
- }
- },
- "metaTitle": "Toshiba CAMILEO S30",
- "metaKeywords": "Toshiba,Smart Electronics",
- "metaDescription": "Reach out Reach out with your 10x digital zoom and control recordings on the large 3-inch touchscreen LCD monitor. Create multi-scene video files thanks to",
- "attributeNames": {
- "total_megapixels": "Total Megapixels",
- "display": "Display",
- "self_timer": "Self-timer",
- "weight": "Weight",
- "brand": "Brand",
- "color": "Color"
- },
- "url": "/en/toshiba-camileo-s30-205"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/abstract-products/205"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/content-product-abstract-lists/apl-1/access-tokens"
- }
-}
-```
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ---------------- | ----- | ----------------------- |
-| attributes | string | The abstract product's attributes. |
-| attributes.sku | string | Unique identifier of the abstract product. |
-| attributes.merchantReference | string | Unique identifier of the merchant to which this product belongs.|
-| attributes.averageRating | String | Average rating of the product based on customer rating. |
-| attributes.reviewCount | String | Number of reviews left by customers for the abstract product. |
-| attributes.name | string | Abstract product name. |
-| attributes.description | string | Abstract product description. |
-| attributes.attributes | string | All the attributes for the product. |
-| attributes.superAttributesDefinition | string | Super attributes used to distinguish product variants. |
-| attributes.superAttributes | string | Super attributes of the product variants. |
-| attributes.attributeMap | object | Super attributes the product has and the corresponding concrete product IDs. |
-| attributes.attributeMap.attribute_variants | object | List of super attributes. |
-| attributes.attributeMap.super_attributes | object | Applicable super attribute of the product variant. |
-| attributes.attributeMap.product_concrete_ids | string | IDs of the product variant. |
-| attributes.metaTitle | string | Meta title of the abstract product. |
-| attributes.metaKeywords | string | Meta keywords of the abstract product. |
-| metaDescription | string | Meta description of the abstract product. |
-| attributes.attributeNames | object | All attributes the abstract product, except the super attributes. |
-| attributes.url | String | Unique web address of the abstract product without the domain.|
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-cart-items.md b/docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-cart-items.md
deleted file mode 100644
index fcc94c7c1ef..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-cart-items.md
+++ /dev/null
@@ -1,1859 +0,0 @@
----
-title: Managing guest cart items
-description: Retrieve details about guest cart items and learn what else you can do with the resource in the Spryker Marketplace
-template: glue-api-storefront-guide-template
----
-
-This endpoint lets you manage guest cart items.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/cart-feature-integration.html)
-* [Glue API: Measurement Units feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-measurement-units-feature-integration.html)
-* [Glue API: Promotions & Discounts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-promotions-and-discounts-feature-integration.html)
-* [Glue API: Product Options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-options-feature-integration.html)
-* [Glue API: Marketplace Product Offers feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-
-
-## Add items to a guest cart
-
-To add items to a guest cart, send the request:
-
----
-`POST` **/guest-cart-items**
-
----
-
-{% info_block infoBox "Creating a guest cart" %}
-
-* If a guest cart does not exist for the current user, and you send a request to add items, the guest cart is created automatically. Otherwise, the items are added to the existing guest cart.
-* Guest users have one cart by default. You can optionally specify its ID by using the following endpoint. The information in this section is valid for both endpoints.
-
-`POST` {% raw %}**/guest-carts/*{{guest_cart_id}}*/guest-cart-items**{% endraw %}
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{guest_cart_id}}***{% endraw %} | Unique identifier of the guest cart. To get it, [retrieve a guest cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/guest-carts/managing-guest-carts.html#retrieve-a-guest-cart). |
-
-{% endinfo_block %}
-
-
-### Request
-
-| HEADER KEY | HEADER VALUE EXAMPLE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| X-Anonymous-Customer-Unique-Id | 164b-5708-8530 | ✓ | Guest user's unique identifier. For security purposes, we recommend passing a hyphenated alphanumeric value, but you can pass any. If you are sending automated requests, you can configure your API client to generate this value. |
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. |
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "guest-cart-items",
- "id": "109_19416433",
- "attributes": {
- "sku": "109_19416433",
- "quantity": "1",
- "groupKey": "109_19416433",
- "abstractSku": "109",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "calculations": {
- "unitPrice": 12572,
- "sumPrice": 12572,
- "taxRate": 7,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 12572,
- "sumGrossPrice": 12572,
- "unitTaxAmountFullAggregation": 822,
- "sumTaxAmountFullAggregation": 822,
- "sumSubtotalAggregation": 12572,
- "unitSubtotalAggregation": 12572,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 12572,
- "sumPriceToPayAggregation": 12572
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/guest-carts/abf9c01b-6695-58cf-8439-541f8f26a95c/guest-cart-items/109_19416433"
- },
- "relationships": {
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000001"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-**General cart information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------ | ---------- | -------------- |
-| priceMode | String | Price mode that was active when the cart was created.|
-| currency | String | Currency that was selected when the cart was created.|
-| store | String | Store for which the cart was created. |
-| name | String | Name of the shopping cart. |
-| isDefault | Boolean | Defines whether the cart is default or not. |
-
-**Totals information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| -------------- | ----------- | --------------------- |
-| expenseTotal | String | Total amount of expenses (including, for example, shipping costs). |
-| discountTotal| Integer | Total amount of discounts applied to the cart. |
-| taxTotal | String | Total amount of taxes to be paid. |
-| subTotal | Integer | Subtotal of the cart. |
-| grandTotal | Integer| Grand total of the cart. |
-
-**Discount information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --------------- | ----------- | ------------------- |
-| displayName | String | Discount name. |
-| code | String | Discount code applied to the cart. |
-| amount | Integer | Discount amount applied to the cart.|
-
-**Cart item information**
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | TYPE |
-| --- | --- | --- | --- |
-| guest-cart-items | sku | String | SKU of the product. |
-| guest-cart-items | quantity | Integer | Quantity of the given product in the cart. |
-| guest-cart-items | groupKey | String | Unique item identifier. The value is generated based on product parameters. |
-| guest-cart-items |abstractSku |String |SKU number of the abstract product to which the concrete belongs. |
-| guest-cart-items | amount | Integer | Amount of the products in the cart. |
-| guest-cart-items |productOfferReference | String | Unique identifier of the Product Offer. |
-| guest-cart-items | merchantReference | String | Unique identifier of the Merchant. |
-| guest-cart-items | unitPrice | Integer | Single item price without assuming is it net or gross. This value should be used everywhere a price is disabled. It allows switching the tax mode without side effects. |
-| guest-cart-items | sumPrice | Integer | Sum of all items prices calculated. |
-| guest-cart-items | taxRate | Integer | Current tax rate in per cent. |
-| guest-cart-items | unitNetPrice | Integer | Single item net price. |
-| guest-cart-items | sumNetPrice | Integer | Sum of all items' net price. |
-| guest-cart-items | unitGrossPrice | Integer | Single item gross price. |
-| guest-cart-items | sumGrossPrice | Integer | Sum of items gross price. |
-| guest-cart-items | unitTaxAmountFullAggregation | Integer | Total tax amount for a given item with additions. |
-| guest-cart-items | sumTaxAmountFullAggregation | Integer | Total tax amount for a given amount of items with additions. |
-| guest-cart-items | sumSubtotalAggregation | Integer | Sum of subtotals of the items. |
-| guest-cart-items | unitSubtotalAggregation | Integer | Subtotal for the given item. |
-| guest-cart-items | unitProductOptionPriceAggregation | Integer | Item total product option price. |
-| guest-cart-items | sumProductOptionPriceAggregation | Integer | Item total of product options for the given sum of items. |
-| guest-cart-items | unitDiscountAmountAggregation | Integer | Item total discount amount. |
-| guest-cart-items | sumDiscountAmountAggregation | Integer | Sum Item total discount amount. |
-| guest-cart-items | unitDiscountAmountFullAggregation | Integer | Sum total discount amount with additions. |
-| guest-cart-items | sumDiscountAmountFullAggregation | Integer | Item total discount amount with additions. |
-| guest-cart-items | unitPriceToPayAggregation | Integer | Item total price to pay after discounts with additions. |
-| guest-cart-items | sumPriceToPayAggregation | Integer | Sum of the prices to pay (after discounts). |
-| guest-cart-items | salesUnit | Object | List of attributes defining the sales unit to be used for item amount calculation. |
-| guest-cart-items | salesUnit.id | Integer | Numeric value that defines the sales units to calculate the item amount in. |
-| guest-cart-items | salesUnit.amount | Integer | Amount of product in the defined sales units. |
-| guest-cart-items | selectedProductOptions | array | List of attributes describing the product options that were added to the cart with the product. |
-| guest-cart-items | selectedProductOptions.optionGroupName | String | Name of the group to which the option belongs. |
-| guest-cart-items | selectedProductOptions.sku | String | SKU of the product option. |
-| guest-cart-items | selectedProductOptions.optionName | String | Product option name. |
-| guest-cart-items | selectedProductOptions.price | Integer | Product option price in cents. |
-| guest-cart-items | selectedProductOptions.currencyIsoCode | String | ISO 4217 code of the currency in which the product option price is specified. |
-| product-options | optionGroupName | String | Name of the group to which the option belongs. |
-| product-options | sku | String | SKU of the product option. |
-| product-options | optionName | String | Product option name. |
-| product-options | price | Integer | Product option price in cents. |
-| product-options | currencyIsoCode | String | ISO 4217 code of the currency in which the product option price is specified. |
-| vouchers, cart-rules | displayName | String | Discount name displayed on the Storefront. |
-| vouchers, cart-rules | amount | Integer | Amount of the provided discount. |
-| vouchers, cart-rules | code | String | Discount code. |
-| vouchers, cart-rules | discountType | String | Discount type. |
-| vouchers, cart-rules | isExclusive | Boolean | Discount exclusivity. |
-| vouchers, cart-rules | expirationDateTime | DateTimeUtc | Date and time on which the discount expires. |
-| vouchers, cart-rules | discountPromotionAbstractSku | String | SKU of the products to which the discount applies. If the discount can be applied to any product, the value is `null`. |
-| vouchers, cart-rules | discountPromotionQuantity | Integer | Specifies the amount of the product required to be able to apply the discount. If the minimum number is `0`, the value is `null`. |
-
-
-For the attributes of the included resources, see:
-* [Retrieve a guest cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/guest-carts/managing-guest-carts.html#retrieve-a-guest-cart)
-* [Retrieve gift cards of guest users](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/guest-carts/managing-gift-cards-of-guest-users.html)
-* [Retrieve concrete products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html)
-* [Retrieve abstract products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/abstract-products/retrieving-abstract-products.html)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html#product-offers-response-attributes)
-
-## Change item quantity in a guest cart
-
-To change item quantity, send the request:
-
-***
-`PATCH` {% raw %}**/guest-carts/*{{guest_cart_id}}*/guest-cart-items/*{{groupKey}}***{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{guest_cart_id}}***{% endraw %}| Unique identifier of the guest cart. To get it, [retrieve a guest cart](/docs/pbc/all/cart-and-checkout/{{site.version}}/base-shop/manage-using-glue-api/manage-guest-carts/manage-guest-carts.html#retrieve-a-guest-cart). |
-| {% raw %}***{{groupKey}}***{% endraw %} | Group key of the item. Usually, it is equal to the item’s SKU. To get it, [retrieve the guest cart](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/guest-carts/managing-guest-carts.html#retrieve-a-guest-cart) with the guest cart items included. |
-
-### Request
-
-
-| HEADER KEY | HEADER VALUE EXAMPLE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| X-Anonymous-Customer-Unique-Id | 164b-5708-8530 | ✓ | Guest user's unique identifier. For security purposes, we recommend passing a hyphenated alphanumeric value, but you can pass any. If you are sending automated requests, you can configure your API client to generate this value. |
-
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. | guest-cart-items, concrete-products, product-options, sales-units, product-measurement-units |
-
-{% info_block infoBox "Included resources" %}
-
-* To retrieve product options, include `guest-cart-items`, `concrete-products`, and `product-options`.
-* To retrieve product measurement units, include `sales-units` and `product-measurement units`
-
-{% endinfo_block %}
-
-
-Request sample: change item quantity in a guest cart
-
-`PATCH https://glue.mysprykershop.com/guest-carts/2506b65c-164b-5708-8530-94ed7082e802/guest-cart-items/177_25913296`
-
-```json
-{
- "data": {
- "type": "guest-cart-items",
- "attributes": {
- "sku": "209_12554247",
- "quantity": 10
- }
- }
-}
-```
-
-
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| sku | String | | SKU of the item to be updated. |
-| quantity | String | ✓ | Quantity of the item to be set. |
-
-For more request body examples, see [Add items to a guest cart](#add-items-to-a-guest-cart)
-
-### Response
-
-If the update is successful, the endpoint returns `RestCartsResponse` with the updated quantity. For examples, see [Add items to a guest cart](#add-items-to-a-guest-cart).
-
-## Remove an item from a guest cart
-
-To remove an item from a guest cart, send the request:
-
-***
-`DELETE` {% raw %}**/guest-carts/*{{guest_cart_id}}*/guest-cart-items/*{{groupKey}}***{% endraw %}
-
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{guest_cart_id}}***{% endraw %}| Unique identifier of the guest cart. To get it, [retrieve a guest cart](/docs/pbc/all/cart-and-checkout/{{site.version}}/base-shop/manage-using-glue-api/manage-guest-carts/manage-guest-carts.html#retrieve-a-guest-cart). |
-| {% raw %}***{{groupKey}}***{% endraw %} | Group key of the item. Usually, it is equal to the item’s SKU. To get it, [retrieve the guest cart](/docs/pbc/all/cart-and-checkout/{{site.version}}/base-shop/manage-using-glue-api/manage-guest-carts/manage-guest-carts.html#retrieve-a-guest-cart) with the guest cart items included. |
-
-### Request
-
-| HEADER KEY | HEADER VALUE EXAMPLE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| X-Anonymous-Customer-Unique-Id | 164b-5708-8530 | ✓ | Hyphenated alphanumeric value that is the user's unique identifier. It is passed in the X-Anonymous-Customer-Unique-Id header when [creating a guest cart](/docs/pbc/all/cart-and-checkout/{{site.version}}/base-shop/manage-using-glue-api/manage-guest-carts/manage-guest-carts.html#create-a-guest-cart). |
-
-Request sample: remove an item from a guest cart
-
-`DELETE https://glue.mysprykershop.com/guest-carts/2506b65c-164b-5708-8530-94ed7082e802/guest-cart-items/177_25913296`
-
-### Response
-
-If the item is deleted successfully, the endpoint returns the "204 No Content" status code.
-
-## Possible errors
-
-| CODE | REASON |
-| --- | --- |
-| 101 | Cart with given uuid not found. |
-| 102 | Failed to add an item to cart. |
-| 103 | Item with the given group key not found in the cart. |
-| 104 | Cart uuid is missing. |
-| 105 | Cart could not be deleted. |
-| 106 | Cart item could not be deleted. |
-| 107 | Failed to create cart. |
-| 109 | Anonymous customer unique ID is empty. |
-| 110 | Customer already has a cart. |
-| 111 | Can’t switch price mode when there are items in the cart. |
-| 112 | Store data is invalid. |
-| 113 | Cart item could not be added. |
-| 114 | Cart item could not be updated. |
-| 115 | Unauthorized cart action. |
-| 116 | Currency is missing. |
-| 117 | Currency is incorrect. |
-| 118 | Price mode is missing. |
-| 119 | Price mode is incorrect. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-carts.md b/docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-carts.md
deleted file mode 100644
index a586be77ff7..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/guest-carts/managing-guest-carts.md
+++ /dev/null
@@ -1,2113 +0,0 @@
----
-title: Managing guest carts
-description: Retrieve details about guest carts and learn what else you can do with the resource in the Spryker Marketplace
-template: glue-api-storefront-guide-template
----
-
-This endpoint allows managing guest carts.
-
-## Installation
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [Glue API: Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-cart-feature-integration.html)
-* [Glue API: Promotions & Discounts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-promotions-and-discounts-feature-integration.html)
-* [Glue API: Product options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-options-feature-integration.html)
-* [Glue API: Product Labels feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-labels-feature-integration.html)
-* [GLUE API: Marketplace Poruduct Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-* [Glue API: Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-* [Glue API: Marketplace Product Offer Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-
-## Create a guest cart
-
-To create a guest cart as an unauthenticated user, [add items to a guest cart](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/guest-carts/managing-guest-cart-items.html#add-items-to-a-guest-cart).
-
-## Retrieve a guest cart
-
-To retrieve a guest cart, send the request:
-
----
-`GET` **/guest-carts**
-
----
-
-{% info_block infoBox "Guest cart ID" %}
-
-Guest users have one guest cart by default. If you already have a guest cart, you can optionally specify its ID when adding items. To do that, use the following endpoint. The information in this section is valid for both of the endpoints.
-
-`GET` {% raw %}**/guest-carts/*{{guestCartId}}***{% endraw %}
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{guestCartId}}***{% endraw %} | Unique identifier of the guest cart. To get it, [retrieve a guest cart](#retrieve-a-guest-cart). |
-
-{% endinfo_block %}
-
-{% info_block infoBox "Note" %}
-
-When retrieving the cart with `guestCartId`, the response includes a single object, and when retrieving the resource without specifying it, you get an array containing a single object.
-
-{% endinfo_block %}
-
-### Request
-
-| HEADER KEY | HEADER VALUE EXAMPLE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| X-Anonymous-Customer-Unique-Id | 164b-5708-8530 | ✓ | Guest user's unique identifier. For security purposes, we recommend passing a hyphenated alphanumeric value, but you can pass any. If you are sending automated requests, you can configure your API client to generate this value.|
-
-| PATH PARAMETER | DESCRIPTION | POSSIBLE ERRORS |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. |
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "guest-cart-items",
- "id": "109_19416433",
- "attributes": {
- "sku": "109_19416433",
- "quantity": "1",
- "groupKey": "109_19416433",
- "abstractSku": "109",
- "amount": null,
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "calculations": {
- "unitPrice": 12572,
- "sumPrice": 12572,
- "taxRate": 7,
- "unitNetPrice": 0,
- "sumNetPrice": 0,
- "unitGrossPrice": 12572,
- "sumGrossPrice": 12572,
- "unitTaxAmountFullAggregation": 822,
- "sumTaxAmountFullAggregation": 822,
- "sumSubtotalAggregation": 12572,
- "unitSubtotalAggregation": 12572,
- "unitProductOptionPriceAggregation": 0,
- "sumProductOptionPriceAggregation": 0,
- "unitDiscountAmountAggregation": 0,
- "sumDiscountAmountAggregation": 0,
- "unitDiscountAmountFullAggregation": 0,
- "sumDiscountAmountFullAggregation": 0,
- "unitPriceToPayAggregation": 12572,
- "sumPriceToPayAggregation": 12572
- },
- "configuredBundle": null,
- "configuredBundleItem": null,
- "salesUnit": null,
- "selectedProductOptions": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/guest-carts/f0d01709-4dea-5ac3-8ceb-873875446ab0/guest-cart-items/109_19416433"
- },
- "relationships": {
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000001"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-
-**General cart information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| priceMode | String | Price mode that was active when the cart was created. |
-| currency | String | Currency that was selected when the cart was created. |
-| store | String | Store for which the cart was created. |
-| name | String | Name of the shopping cart. |
-| isDefault | Boolean | Defines whether the cart is default or not. |
-
-**Totals information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| expenseTotal | String | Total amount of expenses (including, for example, shipping costs). |
-| discountTotal | Integer | Total amount of discounts applied to the cart. |
-| taxTotal | Integer | Total amount of taxes to be paid. |
-| subTotal | Integer | Subtotal of the cart. |
-| grandTotal | Integer | Grand total of the cart. |
-
-**Discount information**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| displayName | String | Discount name. |
-| code | String | Discount code applied to the cart. |
-| amount | Integer | Discount amount applied to the cart. |
-
-**Included resource attributes**
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- | --- |
-| product-options | optionGroupName | String | Name of the group to which the option belongs. |
-| product-options | sku | String | SKU of the product option. |
-| product-options | optionName | String | Product option name. |
-| product-options | price | Integer | Product option price in cents. |
-| product-options | currencyIsoCode | String | ISO 4217 code of the currency in which the product option price is specified. |
-| vouchers, cart-rules | displayName | String | Discount name displayed on the Storefront. |
-| vouchers, cart-rules | amount | Integer | Amount of the provided discount. |
-| vouchers, cart-rules | code | String | Discount code. |
-| vouchers, cart-rules | discountType | String | Discount type. |
-| vouchers, cart-rules | isExclusive | Boolean | Discount exclusivity. |
-| vouchers, cart-rules | expirationDateTime | DateTimeUtc | Date and time on which the discount expires. |
-| vouchers, cart-rules | discountPromotionAbstractSku | String | SKU of the products to which the discount applies. If the discount can be applied to any product, the value is `null`. |
-| vouchers, cart-rules | discountPromotionQuantity | Integer | Specifies the amount of the product required to be able to apply the discount. If the minimum number is `0`, the value is `null`. |
-| promotional-items | id | String | Unique identifier of the promotional item. The ID can be used to apply the promotion to the given purchase. |
-| promotional-items | quantity | Integer | Specifies how many promotions can be applied to the given purchase. |
-| promotional-items | sku | String | SKU of the promoted abstract product. |
-| product-offers | merchantSku | String | SKU of the Merchant the product offer belongs to. |
-| product-offers| merchantReference | String | Merchant Reference assigned to every Merchant. |
-| product-offers | isDefault | Boolean | Defines whether the Product Offer is default or not. |
-
-
-For the attributes of other included resources, see:
-* [Manage guest cart items](/docs/marketplace/dev/glue-api-guides/{{page.version}}/guest-carts/managing-guest-cart-items.html)
-* [Retrieve measurement units](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-measurement-units.html)
-* [Retrieve concrete products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html)
-* [Retrieve gift cards of guest users](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/guest-carts/managing-gift-cards-of-guest-users.html)
-* [Retrieve a measurement units](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-measurement-units.html#measurement-units-response-attributes)
-* [Retrieve product labels](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-product-labels.html)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html#product-offers-response-attributes)
-* [Retrieving product offer availability](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-availability.html#product-offer-availability-response-attributes)
-* [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-prices.html#product-offer-prices-response-attributes)
-
-## Assign a guest cart to a registered customer
-
-Guest carts are anonymous as they are not related to any user. If a user registers or logs in, the guest cart is automatically assigned to their account.
-
-To assign a guest cart to a customer, that is, merge the carts, include the unique identifier associated with the customer in the *X-Anonymous-Customer-Unique-Id* header of the authentication request if it is an existing customer, or request to create a customer account if it is a new one.
-
-Upon login, the behavior depends on whether your project is a single cart or [multiple cart](/docs/scos/user/features/{{page.version}}/multiple-carts-feature-overview.html) environment:
-
-* In a **single cart** environment, the products in the guest cart are added to the customers' own cart.
-* In a **multiple cart** environment, the guest cart is converted to a regular user cart and added to the list of the customers' own carts.
-
-The workflow is displayed in the following diagram:
-
-![Assign cart](https://spryker.s3.eu-central-1.amazonaws.com/docs/Glue+API/Glue+API+Storefront+Guides/Managing+Carts/Managing+Guest+Carts/assigning-guest-cart-to-registered-user.png)
-
-Below, you can see an exemplary workflow for converting a guest cart into a regular cart:
-
-1. The customer adds items to a guest cart.
-
-Request sample:
-
-`POST https://glue.myspsrykershop.com/guest-cart-items`
-
-```json
-{
- "data": {
- "type": "guest-cart-items",
- "attributes": {
- "sku": "022_21994751",
- "quantity": 5
- }
- }
-}
-```
-
-
-| HEADER KEY | HEADER VALUE | DESCRIPTION |
-| --- | --- | --- |
-| X-Anonymous-Customer-Unique-Id | guest-user-001 | Guest user's unique identifier. For security purposes, we recommend passing a hyphenated alphanumeric value, but you can pass any. If you are sending automated requests, you can configure your API client to generate this value.. |
-
-Response sample:
-
-```json
-{
- "data": {
- "type": "guest-carts",
- "id": "9183f604-9b2c-53d9-acbf-cf59b9b2ff9f",
- "attributes": {...},
- "links": {...}
- },
- "included": [...]
-}
-```
-1. The customer logs in.
-
-Request sample: `POST https://glue.myspsrykershop.com/access-tokens`
-
-```json
-{
- "data": {
- "type": "access-tokens",
- "attributes": {
- "username": "john.doe@example.com",
- "password": "qwerty"
- }
- }
-}
-```
-
-| HEADER KEY | HEADER VALUE | DESCRIPTION |
-| --- | --- | --- |
-| X-Anonymous-Customer-Unique-Id | guest-user-001 | Guest user's unique identifier. For security purposes, we recommend passing a hyphenated alphanumeric value, but you can pass any. If you are sending automated requests, you can configure your API client to generate this value. |
-
-Response sample:
-
-```json
-{
- "data": {
- "type": "access-tokens",
- "id": null,
- "attributes": {
- "tokenType": "Bearer",
- "expiresIn": 28800,
- "accessToken": "eyJ0eXAiOiJKV1QiLC...",
- "refreshToken": "def50200ae2d0...",
- "idCompanyUser": "94d58692-c117-5466-8b9f-2ba32dd87c43"
- },
- "links": {...}
- }
-}
-```
-3. The customer requests a list of his own carts.
-
-Request sample:
-
-`GET https://glue.myspsrykershop.com/carts`
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| --- | --- | --- | --- |
-| Authorization | string | ✓ | Alphanumeric string that authenticates the customer you want to change the password of. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-In the **multi-cart** environment, the guest cart has been converted to a regular cart. You can see it in the list of carts with the id `9183f604-9b2c-53d9-acbf-cf59b9b2ff9f`.
-
-Response sample:
-
-```json
-{
- "data": [
- {
- "type": "guest-carts",
- "id": "1ce91011-8d60-59ef-9fe0-4493ef3628b2",
- "attributes": {...},
- "links": {...}
- },
- {
- "type": "carts",
- "id": "9183f604-9b2c-53d9-acbf-cf59b9b2ff9f",
- "attributes": {...},
- "links": {...}
- }
- ],
- "links": {...}
-}
-```
-
-In a **single cart** environment, items from the guest cart have been added to the user's own cart.
-
-**Response body**
-
-```json
-{
- "data": [
- {
- "type": "guest-carts",
- "id": "1ce91011-8d60-59ef-9fe0-4493ef3628b2",
- "attributes": {
- "priceMode": "GROSS_MODE",
- "currency": "EUR",
- "store": "DE",
- "isDefault": true,
- "totals": {
- "expenseTotal": 0,
- "discountTotal": 13000,
- "taxTotal": 18681,
- "subtotal": 130000,
- "grandTotal": 117000
- },
- "discounts": [...]
- },
- "links": {...}
- },
-```
-
-## Possible errors
-
-
-| Code | Reason |
-| --- | --- |
-| 101 | Cart with given uuid not found. |
-| 102 | Failed to add an item to cart. |
-| 103 | Item with the given group key not found in the cart. |
-| 104 | Cart uuid is missing. |
-| 105 | Cart could not be deleted. |
-| 106 | Cart item could not be deleted. |
-| 107 | Failed to create a cart. |
-| 109 | Anonymous customer unique ID is empty. |
-| 111 | Can’t switch price mode when there are items in the cart. |
-| 112 | Store data is invalid. |
-| 113 | Cart item could not be added. |
-| 114 | Cart item could not be updated. |
-| 115 | Unauthorized cart action. |
-| 116 | Currency is missing. |
-| 117 | Currency is incorrect. |
-| 118 | Price mode is missing. |
-| 119 | Price mode is incorrect. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/managing-the-returns.md b/docs/marketplace/dev/glue-api-guides/202108.0/managing-the-returns.md
deleted file mode 100644
index 5e4038407ea..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/managing-the-returns.md
+++ /dev/null
@@ -1,757 +0,0 @@
----
-title: Managing the returns
-description: Manage the returns via Glue API in the Spryker Marketplace.
-template: glue-api-storefront-guide-template
----
-
-The Return Management API lets developers retrieve return information and create returns. The list of retrievable information includes:
-
-* Sales order items that a customer can return.
-* Returns per customer.
-* Predefined reasons stored in the database.
-
-In your development, the API can help you:
-* View order details, including returnable or non-returnable items.
-* Create returns for the returnable items.
-* View return details of a specific customer.
-
-Specify reasons for returning the sales order items.
-
-## Installation
-
-For details about the modules that provide the API functionality and how to install them, [see Glue API: Marketplace Return Management feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-return-management-feature-integration.html).
-
-## Create a return
-
-To create a return for a registered user, send the Request sample:
-
-***
-`POST` **/returns/**
-***
-
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-|---|---|---|---|
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-|---|---|---|
-| offset | Offset of the order at which to begin the response. Works only together with `page[limit]`. To work correctly, the value should be devisable by the value of `page[limit]`. The default value is `0`. | From `0` to any. |
-| limit | Maximum number of entries to return. Works only together with `page[offset]`. The default value is `10`. | From `1` to any. |
-| include | Adds resource relationships to the request. |
return-items
order-itemsorder-items
merchants
|
-
-Request sample: create a return
-
-`POST https://glue.mysprykershop.com/returns`
-
-```json
-{
- "data": {
- "type": "returns",
- "attributes": {
- "store": "DE",
- "returnItems": [
- {
- "salesOrderItemUuid": "b39c7e1c-12ba-53d3-8d81-5c363d5307e9",
- "reason": "0"
- },
- {
- "salesOrderItemUuid": "b189d4f2-da12-59f3-8e05-dfb4d95b1781",
- "reason": "Custom reason"
- }
- ]
- }
- }
-}
-```
-
-
-Request sample: create a return with return items
-
-`POST https://glue.mysprykershop.com/returns?include=return-items`
-
-```json
-{
- "data": {
- "type": "returns",
- "attributes": {
- "store": "DE",
- "returnItems": [
- {
- "salesOrderItemUuid": "c319e465-5160-59f1-a5b8-85073d1472b7",
- "reason": "Damaged"
- }
- ]
- }
- }
-}
-```
-
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-|---|---|---|---|
-| store | String | ✓ | Store where the order was placed. |
-| returnItems | cell | ✓ | Set of return items. |
-| salesOrderItemUuid | String | ✓ | UUID of the sales order item included in the return. |
-| reason | String | | Reason to return the item. |
-
-### Response
-
-Response sample: create a return for a sales order items
-
-```json
-{
- "data": {
- "type": "returns",
- "id": "DE--21-R10",
- "attributes": {
- "merchantReference": null,
- "returnReference": "DE--21-R10",
- "store": "DE",
- "customerReference": "DE--21",
- "returnTotals": {
- "refundTotal": 0,
- "remunerationTotal": 13643
- }
- },
- "links": {
- "self": "https://glue.myspykershop.com/returns/DE--21-R10"
- }
- }
-}
-```
-
-
-
-Response sample: create a return for the merchant order item with information about return items
-
-```json
-{
- "data": {
- "type": "returns",
- "id": "DE--21-R2",
- "attributes": {
- "merchantReference": "MER000001",
- "returnReference": "DE--21-R2",
- "store": "DE",
- "customerReference": "DE--21",
- "returnTotals": {
- "refundTotal": 0,
- "remunerationTotal": 10580
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/returns/DE--21-R2?include=return-items"
- },
- "relationships": {
- "return-items": {
- "data": [
- {
- "type": "return-items",
- "id": "717e94dd-7eb6-5a3f-837b-2ea745f6ae0a"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "return-items",
- "id": "717e94dd-7eb6-5a3f-837b-2ea745f6ae0a",
- "attributes": {
- "uuid": "717e94dd-7eb6-5a3f-837b-2ea745f6ae0a",
- "reason": "Damaged",
- "orderItemUuid": "c319e465-5160-59f1-a5b8-85073d1472b7"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/returns/DE--21-R2/return-items/717e94dd-7eb6-5a3f-837b-2ea745f6ae0a"
- }
- }
- ]
-}
-```
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-|---|---|---|
-| merchantReference | String | Unique identifier of the merchant. |
-| returnReference | String | Unique identifier of the return. You can get it when creating the return. |
-| store | String | Store for which the return was created. |
-| customerReference | String | Unique identifier of the customer. |
-| returnTotals | Object | List of totals to return. |
-| refundTotal | Integer | Total refund amount. |
-| remunerationTotal | Integer | Total remuneration. |
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
-|---|---|---|---|
-| return-items | uuid | String | Unique identifier of the returned item. |
-| return-items | reason | String | Predefined reason why the return was created. |
-| return-items | orderItemUuid | String | Unique identifier of the order item. |
-
-For the attributes of the included resources, see [Retrieving marketplace orders](/docs/marketplace/dev/glue-api-guides/{{page.version}}/retrieving-marketplace-orders.html).
-
-## Retrieve returns
-
-To retrieve returns, send the Request sample:
-
-***
-`GET` **/returns**
-***
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-|---|---|---|---|
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-|---|---|---|
-| offset | Offset of the order at which to begin the response. Works only together with `page[limit]`. To work correctly, the value should be devisable by the value of `page[limit]`. The default value is `0`. | From `0` to any. |
-| limit | Maximum number of entries to return. Works only together with page[offset]. The default value is `10`. | From `1` to any. |
-| include | Adds resource relationships to the request. |
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- }
- ]
-}
-```
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-|---|---|---|
-| merchantReference | String | Unique identifier of the merchant. |
-| returnReference | String | Unique identifier of the return. |
-| store | String | Store for which the return was created. |
-| customerReference | String | Unique identifier of the customer who created the return. |
-| returnTotals | Object | List of totals of the return. |
-| refundTotal | Integer | Total refund amount. |
-| remunerationTotal | Integer | Total remuneration amount. |
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE | DESCRIPTION |
-|---|---|---|---|
-| return-items | uuid | String | Unique identifier of the returned item. |
-| return-items | reason | String | Reason which the customer selected for the return. |
-| return-items | orderItemUuid | String | Unique identifier of the order item. |
-
-For the attributes of the other other included resources, see the following:
-* [Retrieving marketplace orders](/docs/marketplace/dev/glue-api-guides/{{page.version}}/retrieving-marketplace-orders.html)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html)
-
-## Retrieve a return
-
-To retrieve a return, send the Request sample:
-
-***
-`GET` {% raw %}**/returns/{{returnID}}**{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-|---|---|
-| {% raw %}***{{returnID}}***{% endraw %} | Unique identifier of a return to retrieve. To get it [create a return](#create-a-return) or [retrieve returns](#retrieve-returns)|
-
-## Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-|---|---|---|---|
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-|---|---|---|
-| offset | Offset of the order at which to begin the response. Works only together with `page[limit]`. To work correctly, the value should be devisable by the value of `page[limit]`. The default value is `0`. | From `0` to any. |
-| limit | Maximum number of entries to return. Works only together with page[offset]. The default value is `10`. | From `1` to any. |
-| include | Adds resource relationships to the request. |
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- }
- ]
-}
-```
-
-
-For the attributes, see [Retrieving returns](#retrieve-returns).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-addresses.md b/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-addresses.md
deleted file mode 100644
index 181cf154d1e..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-addresses.md
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Retrieving merchant addresses
-description: Retrieve merchant addresses via Glue API
-template: glue-api-storefront-guide-template
----
-
-This document describes how to retrieve merchant addresses.
-
-## Retrieve merchant addresses
-
-To retrieve merchant addresses, send the request:
-
-***
-`GET` {% raw %}**/merchants/*{{merchantId}}*/merchant-addresses**{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{merchantId}}***{% endraw %} | Unique identifier of a merchant to retrieve the addresses of. To get it, [retrieve all merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#retrieve-merchants). |
-
-{% info_block warningBox "Note" %}
-
-This endpoint returns only [active](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses) merchants. You can activate merchants in the Back Office.
-
-{% endinfo_block %}
-
-
-### Request
-
-Request sample: retrieve merchant addresses
-
-`GET https://glue.mysprykershop.com/merchants/MER000001/merchant-addresses`
-
-### Response
-
-Response sample: retrieve merchant addresses
-
-```json
-{
- "data": [
- {
- "type": "merchant-addresses",
- "id": "MER000001",
- "attributes": {
- "addresses": [
- {
- "countryName": "CountryName",
- "address1": "address1",
- "address2": "address2",
- "address3": null,
- "city": "City",
- "zipCode": null,
- "email": null
- },
- {
- "countryName": "CountryName2",
- "address1": "address3",
- "address2": "address4",
- "address3": null,
- "city": "City2",
- "zipCode": null,
- "email": null
- },
- {
- "countryName": "Germany",
- "address1": "Caroline-Michaelis-Straße",
- "address2": "8",
- "address3": "",
- "city": "Berlin",
- "zipCode": "10115",
- "email": null
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001/merchant-addresses"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001/merchant-addresses"
- }
-}
-```
-
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------- | -------- | --------------- |
-| addresses | Array | List of merchant addresses information. |
-| addresses.countryName | String | Country name. |
-| addresses.address1 | String | 1st line of the merchant address. |
-| addresses.address2 | String | 2nd line of the merchant address. |
-| addresses.address3 | String | 3rd line of the merchant address. |
-| addresses.city | String | City name. |
-| addresses.zipCode | String | ZIP code. |
-| addresses.email | String | Email address. |
-
-## Possible errors
-
-For statuses, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-opening-hours.md b/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-opening-hours.md
deleted file mode 100644
index 676b7e0b297..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchant-opening-hours.md
+++ /dev/null
@@ -1,202 +0,0 @@
----
-title: Retrieving merchant opening hours
-description: Retrieve merchant opening hours via Glue API
-template: glue-api-storefront-guide-template
----
-
-This document describes how to retrieve merchant opening hours.
-
-## Retrieve merchant opening hours
-
-To retrieve a merchant opening hours, send the request:
-
-***
-`GET` {% raw %}**/merchants/*{{merchantId}}*/merchant-opening-hours**{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{merchantId}}***{% endraw %} | Unique identifier of a merchant to retrieve the addresses of. To get it, [retrieve all merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#retrieve-merchants). |
-
-{% info_block warningBox "Note" %}
-
-This endpoint returns only [active](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses) merchants. You can activate merchants in the Back Office.
-
-{% endinfo_block %}
-
-
-### Request
-
-Request sample: retrieve merchant opening hours
-
-`GET https://glue.mysprykershop.com/merchants/MER000001/merchant-opening-hours`
-
-### Response
-
-Response sample: retrieve merchant opening hours
-
-```json
-{
- "data": [
- {
- "type": "merchant-opening-hours",
- "id": "MER000001",
- "attributes": {
- "weekdaySchedule": [
- {
- "day": "MONDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "13:00:00.000000"
- },
- {
- "day": "MONDAY",
- "timeFrom": "14:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "TUESDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "WEDNESDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "THURSDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "FRIDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "SATURDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "SUNDAY",
- "timeFrom": null,
- "timeTo": null
- }
- ],
- "dateSchedule": [
- {
- "date": "2020-01-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "New Year's Day"
- },
- {
- "date": "2020-04-10",
- "timeFrom": null,
- "timeTo": null,
- "note": "Good Friday"
- },
- {
- "date": "2020-04-12",
- "timeFrom": null,
- "timeTo": null,
- "note": "Easter Sunday"
- },
- {
- "date": "2020-04-13",
- "timeFrom": null,
- "timeTo": null,
- "note": "Easter Monday"
- },
- {
- "date": "2020-05-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "May Day"
- },
- {
- "date": "2020-05-21",
- "timeFrom": null,
- "timeTo": null,
- "note": "Ascension of Christ"
- },
- {
- "date": "2020-05-31",
- "timeFrom": null,
- "timeTo": null,
- "note": "Whit Sunday"
- },
- {
- "date": "2020-06-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "Whit Monday"
- },
- {
- "date": "2020-06-11",
- "timeFrom": null,
- "timeTo": null,
- "note": "Corpus Christi"
- },
- {
- "date": "2020-11-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "All Saints' Day"
- },
- {
- "date": "2020-12-25",
- "timeFrom": null,
- "timeTo": null,
- "note": "1st Christmas day"
- },
- {
- "date": "2020-12-26",
- "timeFrom": null,
- "timeTo": null,
- "note": "2nd Christmas day"
- },
- {
- "date": "2021-11-28",
- "timeFrom": "13:00:00.000000",
- "timeTo": "18:00:00.000000",
- "note": "Sunday Opening"
- },
- {
- "date": "2021-12-31",
- "timeFrom": "10:00:00.000000",
- "timeTo": "17:00:00.000000",
- "note": ""
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001/merchant-opening-hours"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001/merchant-opening-hours"
- }
-}
-```
-
-
-
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------- | --------------------- |
-| weekdaySchedule | Array of the schedule for weekdays.
-| weekdaySchedule.day | Name of the day. |
-| weekdaySchedule.timeFrom | Time when the merchant starts working on a usual day. |
-| weekdaySchedule.timeTo | Time when the merchant stops working on a usual day. |
-| dateSchedule | Array of the schedule for special working days, like holidays. |
-| dateSchedule.date | Date of the special opening hours. |
-| dateSchedule.timeFrom | Time when the merchant starts working during the special working hours. |
-| dateSchedule.timeTo | Time when the merchant stops working during the special working hours. |
-| dateSchedule.note | Description of the special opening hours. |
-
-## Possible errors
-
-For statuses, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchants.md b/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchants.md
deleted file mode 100644
index 198da4a601e..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/merchants/retrieving-merchants.md
+++ /dev/null
@@ -1,652 +0,0 @@
----
-title: Retrieving merchants
-description: Retrieve merchant information via Glue API
-template: glue-api-storefront-guide-template
----
-
-Merchant is an individual or an organization selling products on the Marketplace. Every merchant has a profile page where the customer can check information like contact information, opening hours, and legal details.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see [Glue API - Marketplace Merchant feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-merchant-feature-integration.html).
-
-## Retrieve merchants
-
-To retrieve all merchants, send the request:
-
----
-`GET` **/merchants**
-
----
-
-{% info_block warningBox "Note" %}
-
-This endpoint returns only [active](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses) merchants. To learn how you can activate a merchant in the Back Office, see [Activating and deactivating merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#activating-and-deactivating-merchants).
-
-{% endinfo_block %}
-
-
-### Request
-
-| QUERY PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| --- | --- | --- |
-| category-keys[] | Filters merchants by category keys. | {% raw %}{{category key}}{% endraw %} |
-
-| REQUEST | USAGE |
-| --- | --- |
-| `GET https://glue.mysprykershop.com/merchants` | Retrieve all merchants. |
-| `GET https://glue.mysprykershop.com/merchants?category-keys[]=demoshop&category-keys[]=notebooks` | Retrieve merchants with the `demoshop` and `notebooks` category keys assigned. |
-
-### Response
-
-Response sample: retrieve all merchants
-
-```json
-{
- "data": [
- {
- "type": "merchants",
- "id": "MER000006",
- "attributes": {
- "merchantName": "Sony Experts",
- "merchantUrl": "/en/merchant/sony-experts",
- "contactPersonRole": "Brand Manager",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Michele",
- "contactPersonLastName": "Nemeth",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png",
- "publicEmail": "support@sony-experts.com",
- "publicPhone": "+49 30 234567691",
- "description": "Capture your moment with the best cameras from Sony. From pocket-size to professional-style, they all pack features to deliver the best quality pictures.Discover the range of Sony cameras, lenses and accessories, and capture your favorite moments with precision and style with the best cameras can offer.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png",
- "deliveryTime": "1-3 days",
- "latitude": "11.547788",
- "longitude": "48.131058",
- "faxNumber": "+49 30 234567600",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": [
- {
- "categoryKey": "notebooks",
- "name": "Notebooks"
- },
- {
- "categoryKey": "tablets",
- "name": "Tablets"
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "merchants",
- "id": "MER000002",
- "attributes": {
- "merchantName": "Video King",
- "merchantUrl": "/en/merchant/video-king",
- "contactPersonRole": "Country Manager DE",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Martha",
- "contactPersonLastName": "Farmer",
- "contactPersonPhone": "+31 123 345 678",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/videoking-logo.png",
- "publicEmail": "hi@video-king.nl",
- "publicPhone": "+31 123 345 777",
- "description": "Video King is a premium provider of video equipment. In business since 2010, we understand the needs of video professionals and enthusiasts and offer a wide variety of products with competitive prices. ",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/videoking-banner.png",
- "deliveryTime": "2-4 days",
- "latitude": "4.838470",
- "longitude": "51.558107",
- "faxNumber": "+31 123 345 733",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Video King
Gilzeweg 24 4854SG Bavel NL
Phone: +31 123 45 6789 Email: hi@video-king.nl
Represented by Managing Director: Max Mustermann Register Court: Amsterdam Register Number: 1234.4567
",
- "dataPrivacy": "Video King values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000002"
- }
- },
- {
- "type": "merchants",
- "id": "MER000005",
- "attributes": {
- "merchantName": "Budget Cameras",
- "merchantUrl": "/en/merchant/budget-cameras",
- "contactPersonRole": "Merchandise Manager",
- "contactPersonTitle": "Mr",
- "contactPersonFirstName": "Jason",
- "contactPersonLastName": "Weidmann",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-logo.png",
- "publicEmail": "support@budgetcamerasonline.com",
- "publicPhone": "+49 30 234567591",
- "description": "DSLR and mirrorless cameras are by far the most popular with filmmakers on a tight budget when you can't afford multiple specialist cameras.Budget Cameras is offering a great selection of digital cameras with the lowest prices.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-banner.png",
- "deliveryTime": "2-4 days",
- "latitude": "10.004663",
- "longitude": "53.552463",
- "faxNumber": "+49 30 234567500",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Director: Max Mustermann Register Court: Hamburg Register Number: HXX 134305
",
- "dataPrivacy": "Budget Cameras values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000005"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/merchants"
- }
-}
-```
-
-
-
-
-Response sample: retrieve merchants by category keys
-
-```json
-{
- "data": [
- {
- "type": "merchants",
- "id": "MER000006",
- "attributes": {
- "merchantName": "Sony Experts",
- "merchantUrl": "/en/merchant/sony-experts",
- "contactPersonRole": "Brand Manager",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Michele",
- "contactPersonLastName": "Nemeth",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png",
- "publicEmail": "support@sony-experts.com",
- "publicPhone": "+49 30 234567691",
- "description": "Capture your moment with the best cameras from Sony. From pocket-size to professional-style, they all pack features to deliver the best quality pictures.Discover the range of Sony cameras, lenses and accessories, and capture your favorite moments with precision and style with the best cameras can offer.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png",
- "deliveryTime": "1-3 days",
- "latitude": "11.547788",
- "longitude": "48.131058",
- "faxNumber": "+49 30 234567600",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": [
- {
- "categoryKey": "notebooks",
- "name": "Notebooks"
- },
- {
- "categoryKey": "tablets",
- "name": "Tablets"
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001?category-keys[0]=demoshop&category-keys[1]=notebooks"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/merchants?category-keys[0]=demoshop&category-keys[1]=notebooks"
- }
-}
-```
-
-
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| merchantName | String | Name of the merchant. |
-| merchantUrl | String | Merchant’s profile URL. |
-| contactPersonRole | String | Role of the contact person. |
-| contactPersonTitle | String | Salutation to use when addressing the contact person. |
-| contactPersonFirstName | String | Contact person’s first name. |
-| contactPersonLastName | String | Contact person’s last name. |
-| contactPersonPhone | String | Contact person’s phone number. |
-| logoUrl | String | Merchant’s logo URL. |
-| publicEmail | String | Merchant’s public email address. |
-| publicPhone | String | Merchant’s public phone number. |
-| description | String | Merchant’s description. |
-| bannerUrl | String | Merchant’s banner URL. |
-| deliveryTime | String | Average delivery time. |
-| latitude | String | Merchant’s latitude. |
-| longitude | String | Merchant’s longitude. |
-| faxNumber | String | Merchant’s fax number. |
-| legalInformation | Object | List of legal information. |
-| legalInformation.terms | String | Merchant’s terms and conditions. |
-| legalInformation. cancellationPolicy | String | Merchant’s cancellation policy.|
-| legalInformation.imprint | String | Merchant’s imprint information.|
-| legalInformation.dataPrivacy | String | Merchant’s data privacy conditions.|
-| categories | Array | List of categories where the merchant belongs. |
-| categories.categoryKey | String | Category key used for the merchant. |
-| categories.name | String | Name of the merchant category.
-
-## Retrieve a merchant
-
-To retrieve a merchant, send the request:
-
----
-`GET` {% raw %}**/merchants/*{{merchantId}}***{% endraw %}
-
----
-
-| PATH PARAMETER | DESCRIPTION |
-| --- | --- |
-| {% raw %}***{{merchantId}}***{% endraw %} | Unique identifier of a merchant to retrieve. To get it, [retrieve all merchants](#retrieve-merchants). |
-
-{% info_block warningBox "Note" %}
-
-This endpoint returns only [active](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses) merchants. To learn how you can activate a merchant in the Back Office, see [Activating and deactivating merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#activating-and-deactivating-merchants).
-
-{% endinfo_block %}
-
-### Request
-
-| QUERY PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| --- | --- | --- |
-| include | Adds resource relationships to the request. | `merchant-addresses`, `merchant-opening-hours` |
-
-| USAGE | DESCRIPTION |
-| -------------------- | ---------------------- |
-| `GET https://glue.mysprykershop.com/merchants/MER000006` | Retrieve a merchant with the `MER000006` ID. |
-| `GET https://glue.mysprykershop.com/merchants/MER000006?include=merchant-addresses,merchant-opening-hours` | Retrieve the merchant with the `MER000006` ID, including merchant addresses and opening hours. |
-
-### Response
-
-Response sample: retrieve the merchant
-
-```json
-{
- "data": {
- "type": "merchants",
- "id": "MER000006",
- "attributes": {
- "merchantName": "Sony Experts",
- "merchantUrl": "/en/merchant/sony-experts",
- "contactPersonRole": "Brand Manager",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Michele",
- "contactPersonLastName": "Nemeth",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png",
- "publicEmail": "support@sony-experts.com",
- "publicPhone": "+49 30 234567691",
- "description": "Capture your moment with the best cameras from Sony. From pocket-size to professional-style, they all pack features to deliver the best quality pictures.Discover the range of Sony cameras, lenses and accessories, and capture your favorite moments with precision and style with the best cameras can offer.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png",
- "deliveryTime": "1-3 days",
- "latitude": "11.547788",
- "longitude": "48.131058",
- "faxNumber": "+49 30 234567600",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Director: Max Mustermann Register Court: Munich Register Number: HYY 134306
",
- "dataPrivacy": "Sony Experts values the privacy of your personal data."
- },
- "categories": [
- {
- "categoryKey": "demoshop",
- "name": "Demoshop"
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000006"
- }
- }
-}
-```
-
-
-
-
-Response sample: retrieve a merchant with merchant addresses and opening hours included
-
-```json
-{
- "data": {
- "type": "merchants",
- "id": "MER000006",
- "attributes": {
- "merchantName": "Sony Experts",
- "merchantUrl": "/en/merchant/sony-experts",
- "contactPersonRole": "Brand Manager",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Michele",
- "contactPersonLastName": "Nemeth",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png",
- "publicEmail": "support@sony-experts.com",
- "publicPhone": "+49 30 234567691",
- "description": "Capture your moment with the best cameras from Sony. From pocket-size to professional-style, they all pack features to deliver the best quality pictures.Discover the range of Sony cameras, lenses and accessories, and capture your favorite moments with precision and style with the best cameras can offer.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png",
- "deliveryTime": "1-3 days",
- "latitude": "11.547788",
- "longitude": "48.131058",
- "faxNumber": "+49 30 234567600",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Director: Max Mustermann Register Court: Munich Register Number: HYY 134306
",
- "dataPrivacy": "Sony Experts values the privacy of your personal data."
- },
- "categories": [
- {
- "categoryKey": "demoshop",
- "name": "Demoshop"
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000006?include=merchant-addresses,merchant-opening-hours"
- },
- "relationships": {
- "merchant-opening-hours": {
- "data": [
- {
- "type": "merchant-opening-hours",
- "id": "MER000006"
- }
- ]
- },
- "merchant-addresses": {
- "data": [
- {
- "type": "merchant-addresses",
- "id": "MER000006"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "merchant-opening-hours",
- "id": "MER000006",
- "attributes": {
- "weekdaySchedule": [
- {
- "day": "MONDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "13:00:00.000000"
- },
- {
- "day": "MONDAY",
- "timeFrom": "14:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "TUESDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "WEDNESDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "THURSDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "FRIDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "SATURDAY",
- "timeFrom": "07:00:00.000000",
- "timeTo": "20:00:00.000000"
- },
- {
- "day": "SUNDAY",
- "timeFrom": null,
- "timeTo": null
- }
- ],
- "dateSchedule": [
- {
- "date": "2020-01-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "New Year's Day"
- },
- {
- "date": "2020-04-10",
- "timeFrom": null,
- "timeTo": null,
- "note": "Good Friday"
- },
- {
- "date": "2020-04-12",
- "timeFrom": null,
- "timeTo": null,
- "note": "Easter Sunday"
- },
- {
- "date": "2020-04-13",
- "timeFrom": null,
- "timeTo": null,
- "note": "Easter Monday"
- },
- {
- "date": "2020-05-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "May Day"
- },
- {
- "date": "2020-05-21",
- "timeFrom": null,
- "timeTo": null,
- "note": "Ascension of Christ"
- },
- {
- "date": "2020-05-31",
- "timeFrom": null,
- "timeTo": null,
- "note": "Whit Sunday"
- },
- {
- "date": "2020-06-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "Whit Monday"
- },
- {
- "date": "2020-06-11",
- "timeFrom": null,
- "timeTo": null,
- "note": "Corpus Christi"
- },
- {
- "date": "2020-10-03",
- "timeFrom": null,
- "timeTo": null,
- "note": "Day of German unity"
- },
- {
- "date": "2020-11-01",
- "timeFrom": null,
- "timeTo": null,
- "note": "All Saints' Day"
- },
- {
- "date": "2020-12-25",
- "timeFrom": null,
- "timeTo": null,
- "note": "1st Christmas day"
- },
- {
- "date": "2020-12-26",
- "timeFrom": null,
- "timeTo": null,
- "note": "2nd Christmas day"
- },
- {
- "date": "2021-11-28",
- "timeFrom": "13:00:00.000000",
- "timeTo": "18:00:00.000000",
- "note": "Sunday Opening"
- },
- {
- "date": "2021-12-31",
- "timeFrom": "10:00:00.000000",
- "timeTo": "17:00:00.000000",
- "note": ""
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000006/merchant-opening-hours"
- }
- },
- {
- "type": "merchant-addresses",
- "id": "MER000006",
- "attributes": {
- "addresses": [
- {
- "countryName": null,
- "address1": null,
- "address2": null,
- "address3": null,
- "city": null,
- "zipCode": null
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000006/merchant-addresses"
- }
- }
- ]
-}
-```
-
-
-For the merchant attributes, see [Retrieve merchants](#merchants-response-attributes).
-
-For the attributes of the included resources, see:
-
-* [Retrieving merchant addresses](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchant-addresses.html#merchant-addresses-response-attributes).
-* [Retrieving merchant opening hours](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchant-opening-hours.html#merchant-opening-hours-response-attributes).
-
-
-
-
-## Other management options
-
-Retrieve merchant information as a relationship when sending the following requests:
-
-* [Retrieve an abstract product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/abstract-products/retrieving-abstract-products.html#retrieve-an-abstract-product)
-* [Retrieve a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html#retrieve-a-concrete-product)
-* [Retrieve a wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html#retrieve-a-wishlist)
-* [Retrieve a product offer]
-* [Retrieve marketplace orders](/docs/marketplace/dev/glue-api-guides/{{page.version}}/retrieving-marketplace-orders.html)
-
-Search by merchants in the product catalog. For details, see [Searching the product catalog](/docs/marketplace/dev/glue-api-guides/{{page.version}}/searching-the-product-catalog.html).
-Resolve a search engine friendly URL of a merchant page. For details, see [Resolving search engine friendly URLs](/docs/marketplace/dev/glue-api-guides/{{page.version}}/resolving-search-engine-friendly-urls.html).
-
-
-## Possible errors
-
-For statuses, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-availability.md b/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-availability.md
deleted file mode 100644
index cbac8026f08..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-availability.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: Retrieving product offer availabilities
-description: Retrieve Marketplace product offer availabilities via Glue API
-template: glue-api-storefront-guide-template
----
-
-This document describes how to retrieve product offer availabilities via Glue API.
-
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [GLUE API: Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-* [Glue API: Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-* [Glue API: Marketplace Product Offer Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-
-## Retrieve availability of a product offer
-
-To retrieve a availability of a product offer, send the request:
-
-***
-`GET` {% raw %}**/product-offers/*{{offerId}}*/product-offer-availabilities**{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| ------------------ | ---------------------- |
-| {% raw %}***{{offerId}}***{% endraw %} | Unique identifier of a product offer to retrieve the availability of. To get it, [retrieve the offers of a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-product-offers-of-concrete-products.html). |
-
-### Request
-
-Request sample: retrieve availability of a product offer
-
-`GET https://glue.mysprykershop.com/product-offers/offer56/product-offer-availabilities`
-
-### Response
-
-Response sample: retrieve availability of a product offer
-
-```json
-{
- "data": [
- {
- "type": "product-offer-availabilities",
- "id": "offer56",
- "attributes": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "0.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer56/product-offer-availabilities"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer56/product-offer-availabilities"
- }
-}
-```
-
-
-
-|ATTRIBUTE |TYPE |DESCRIPTION |
-|---------|---------|---------|
-| isNeverOutOfStock | Boolean | Shows if the product offer is never out of stock. |
-| availability | Boolean |Defines if the product offer is available. |
-| quantity | Integer |Stock of the product offer. |
-
-
-## Possible errors
-
-| CODE | DESCRIPTION |
-| - | - |
-| 3701 | Product offer was not found. |
-| 3702 | Product offer ID is not specified. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-prices.md b/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-prices.md
deleted file mode 100644
index ce882450707..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offer-prices.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-title: Retrieving product offer prices
-description: Retrieve Marketplace product offer prices via Glue API
-template: glue-api-storefront-guide-template
----
-
-This document describes how to retrieve product offer prices via Glue API.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [GLUE API: Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-* [Glue API: Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-* [Glue API: Marketplace Product Offer Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-
-## Retrieve prices of a product offer
-
-
-To retrieve prices of a product offer, send the request:
-
-***
-`GET` {% raw %}**/product-offers/*{{offerId}}*/product-offer-prices**{% endraw %}
-***
-
-
-| PATH PARAMETER | DESCRIPTION |
-| ------------------ | ---------------------- |
-| {% raw %}***{{offerId}}***{% endraw %} | Unique identifier of a product offer to retrieve the availability of. To get it, [retrieve the offers of a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-product-offers-of-concrete-products.html). |
-
-### Request
-
-Request sample: retrieve prices of a product offer
-
-`GET https://glue.mysprykershop.com/product-offers/offer54/product-offer-prices`
-
-### Response
-
-Response sample: retrieve prices of a product offer
-
-```json
-{
- "data": [
- {
- "type": "product-offer-prices",
- "id": "offer78",
- "attributes": {
- "price": 40522,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 40522,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": [
- {
- "grossAmount": 38400,
- "netAmount": 39100,
- "quantity": 3
- }
-
- ]
- }
- ]
- },
-
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer54/product-offer-prices"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer54/product-offer-prices"
- }
-}
-```
-
-
-
-|ATTRIBUTE |TYPE |DESCRIPTION |
-|---------|---------|---------|
-| price | Integer | Price to pay for the product offer in cents. |
-| prices | Array | Prices of this product offer. |
-| prices.priceTypeName | String | Price type. |
-| prices.netAmount | Integer | Net price in cents. |
-| prices.grossAmount | Integer | Gross price in cents. |
-| prices.currency.code | String | Currency code. |
-| prices.currency.name | String | Currency name. |
-| prices.currency.symbol | String | Currency symbol. |
-| prices.volumePrices | Object | An array of objects defining the [volume prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html) of the product offer. |
-| prices.volumePrices.grossAmount | Integer | Gross volume price in cents. |
-| prices.volumePrices.netAmount | Integer | Net volume price in cents. |
-| prices.volumePrices.quantity | Integer | Required quantity of items in offer for the volume price to apply. |
-
-
-## Other management options
-
-Retrieve product offer prices as a relationship by [retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html)
-
-## Possible errors
-
-| CODE | DESCRIPTION |
-| - | - |
-| 3701 | Product offer was not found. |
-| 3702 | Product offer ID is not specified. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offers.md b/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offers.md
deleted file mode 100644
index 1765ed52f86..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/product-offers/retrieving-product-offers.md
+++ /dev/null
@@ -1,275 +0,0 @@
----
-title: Retrieving product offers
-description: Retrieve Marketplace product offers via API
-template: glue-api-storefront-guide-template
----
-
-Product offers let different merchants sell the same product on the Marketplace. Product offers are created per concrete products, and you can get the offer information via retrieving the product information.
-
-In your development, product offers API can help you to retrieve relevant extended information for product offers.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see:
-* [GLUE API: Marketplace Product Offer feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-feature-integration.html)
-* [Glue API: Marketplace Product Offer Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-* [Glue API: Marketplace Product Offer Volume Prices feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/glue/marketplace-product-offer-prices-feature-integration.html)
-
-## Retrieve a product offer
-
-To retrieve the product offers, send the request:
-
----
-`GET` {% raw %}**/product-offers/*{{offerId}}***{% endraw %}
-
----
-
-| PATH PARAMETER | DESCRIPTION |
-| ------------------ | ---------------------- |
-| {% raw %}***{{offerId}}***{% endraw %} | Unique identifier of a product offer to retrieve the availability of. To get it, [retrieve the offers of a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-product-offers-of-concrete-products.html). |
-
-
-
-### Request
-
-| QUERY PARAMETER | DESCRIPTION | EXEMPLARY VALUES |
-| -------------------- | ----------------- | ---------------- |
-| include | Adds resource relationships to the request. |
product-offer-availabilities
product-offer-prices
merchants
|
-
-| REQUEST | USAGE |
-| ---------- | ----------- |
-| `GET https://glue.mysprykershop.com/product-offers/offer56`| Retrieve information about an offer with the `offer56` ID. |
-| `GET https://glue.mysprykershop.com/product-offers/offer78?product-offer-prices` | Retrieve information about the offer with `offer78` ID with the product offer prices. |
-| `GET https://glue.mysprykershop.com/product-offers/offer101?product-offer-availabilities` | Retrieve the product offer with the `offer101` ID with the product offer availability. |
-| `GET https://glue.mysprykershop.com/product-offers/offer101?merchants` | Retrieve the product offer with the `offer101` ID, including the merchant it belongs to. |
-
-### Response
-
-
-Response sample: retrieve an offer
-
-```json
-{
- "data": {
- "type": "product-offers",
- "id": "offer56",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000005",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.comm/product-offers/offer56"
- }
- }
-}
-```
-
-
-
-Response sample: retrieve an offer with product offer prices included
-
-```json
-{
- "data": {
- "type": "product-offers",
- "id": "offer78",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000005",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer78"
- },
- "relationships": {
- "product-offer-prices": {
- "data": [
- {
- "type": "product-offer-prices",
- "id": "offer78"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-offer-prices",
- "id": "offer78",
- "attributes": {
- "price": 40522,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 40522,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": [
- {
- "grossAmount": 38400,
- "netAmount": 39100,
- "quantity": 3
- }
-
- ]
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer78/product-offer-prices"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve an offer with product offer availabilities included
-
-```json
-{
- "data": {
- "type": "product-offers",
- "id": "offer101",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000006",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.comm/product-offers/offer101?include=product-offer-prices,product-offer-availabilities"
- },
- "relationships": {
- "product-offer-availabilities": {
- "data": [
- {
- "type": "product-offer-availabilities",
- "id": "offer101"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-offer-availabilities",
- "id": "offer101",
- "attributes": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "0.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.comm/product-offers/offer101/product-offer-availabilities"
- }
-
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve an offer with merchant information included
-
-```json
-{
- "data": {
- "type": "product-offers",
- "id": "offer101",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000006",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.comm/product-offers/offer101?include=product-offer-prices,product-offer-availabilities,merchants"
- },
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000006"
- }
- ]
- }
- },
- "included": [
- {
- "type": "merchants",
- "id": "MER000006",
- "attributes": {
- "merchantName": "Sony Experts",
- "merchantUrl": "/en/merchant/sony-experts",
- "contactPersonRole": "Brand Manager",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Michele",
- "contactPersonLastName": "Nemeth",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png",
- "publicEmail": "support@sony-experts.com",
- "publicPhone": "+49 30 234567691",
- "description": "Capture your moment with the best cameras from Sony. From pocket-size to professional-style, they all pack features to deliver the best quality pictures.Discover the range of Sony cameras, lenses and accessories, and capture your favorite moments with precision and style with the best cameras can offer.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png",
- "deliveryTime": "1-3 days",
- "latitude": "11.547788",
- "longitude": "48.131058",
- "faxNumber": "+49 30 234567600",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Director: Max Mustermann Register Court: Munich Register Number: HYY 134306
",
- "dataPrivacy": "Sony Experts values the privacy of your personal data."
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.comm/merchants/MER000006"
- }
- }
- ]
-}
-```
-
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --------------- | -------- | -------------------- |
-| merchantSku | String | The merchant's unique identifier of the product offer. |
-| merchantReference | String | Unique identifier of the merchant. |
-| isDefault | Boolean | Defines if the product offer is [default](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html#product-offers-on-the-product-details-page) for the concrete product. |
-
-
-For the response attributes of the other included resources, see the following:
-* [Retrieve product offer prices](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-prices.html#product-offer-prices-response-attributes)
-* [Retrieve product offer availability](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offer-availability.html#product-offer-availability-response-attributes)
-* [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-
-
-
-
-
-## Other management options
-
-You can use the product offers resource as follows:
-
-- [Retrieve product offers of a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-product-offers-of-concrete-products.html)
-- Add product offers to a guest cart—[Creating a guest cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/guest-carts/managing-guest-carts.html#retrieve-a-guest-cart).
-- Retrieve information for the product offers in a guest cart—[Retrieving a guest cart](/docs/marketplace/dev/glue-api-guides/{{page.version}}/guest-carts/managing-guest-carts.html#retrieve-a-guest-cart).
-- Add product offers to a registered user's cart—[Adding items to a cart of a registered user](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-items-in-carts-of-registered-users.html#add-an-item-to-a-registered-users-cart).
-- Retrieve information for the product offers in registered users' carts—[Retrieving all carts](/docs/marketplace/dev/glue-api-guides/{{page.version}}//carts-of-registered-users/managing-carts-of-registered-users.html#retrieve-registered-users-carts).
-
-## Possible errors
-
-| CODE | DESCRIPTION |
-| - | - |
-| 3701 | Product offer was not found. |
-| 3702 | Product offer ID is not specified. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/resolving-search-engine-friendly-urls.md b/docs/marketplace/dev/glue-api-guides/202108.0/resolving-search-engine-friendly-urls.md
deleted file mode 100644
index 0626c6147e2..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/resolving-search-engine-friendly-urls.md
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: Resolving search engine friendly URLs
-description: Learn how to resolve search engine friendly URLs via Glue API in the Spryker Marketplace
-template: glue-api-storefront-guide-template
----
-
-This endpoint allows resolving Search Engine Friendly (SEF) URLs into a resource URL in Glue API.
-
-For SEO purposes, Spryker automatically generates SEF URLs for products and categories. The URLs are returned as a `url` attribute in responses related to abstract products and product categories. For examples of such responses, see:
-* [Retrieve an abstract product](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-abstract-products.html)
-* [Retrieve a category tree](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-categories/retrieving-category-trees.html)
-* [Retrieve a category node](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-categories/retrieving-category-nodes.html)
-* [Retrieve a CMS page](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-cms-pages.html)
-* [Retrieve a merchant](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#retrieve-a-merchant)
-
-In your development, the endpoints can help you to:
-
-* Significantly boost the SEO presence of your product store.
-* Increase the search engine ranking of your online store.
-
-To facilitate their usage, Spryker Glue provides an endpoint that allows resolving an SEO-friendly URL, for example, `http://mysprykershop.com/en/canon-powershot-n-35`, into a URL of the relevant product resource in Glue API, for example, `https://glue.mysprykershop.com/abstract-products/035`. This capability is provided by the URLs API.
-
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see [Glue API: Spryker Сore feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-spryker-core-feature-integration.html).
-
-## Resolve a SEF URL into a Glue API URL
-
-To resolve a SEF URL into a Glue API URL, send the request:
-
----
-`GET` {% raw %}**/url-resolver?url=*{{SEF URL}}***{% endraw %}
-
----
-
-| PATH PARAMETER | DESCRIPTION |
-| --------------- | ---------------- |
-| {% raw %}***{{SEF URL}}***{% endraw %} | SEF URL you want to resolve. You can get it when:
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Video King
Gilzeweg 24 4854SG Bavel NL
Phone: +31 123 45 6789 Email: hi@video-king.nl
Represented by Managing Director: Max Mustermann Register Court: Amsterdam Register Number: 1234.4567
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "merchants",
- "id": "MER000006",
- "attributes": {
- "merchantName": "Sony Experts",
- "merchantUrl": "/en/merchant/sony-experts",
- "contactPersonRole": "Brand Manager",
- "contactPersonTitle": "Ms",
- "contactPersonFirstName": "Michele",
- "contactPersonLastName": "Nemeth",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-logo.png",
- "publicEmail": "support@sony-experts.com",
- "publicPhone": "+49 30 234567691",
- "description": "Capture your moment with the best cameras from Sony. From pocket-size to professional-style, they all pack features to deliver the best quality pictures.Discover the range of Sony cameras, lenses and accessories, and capture your favorite moments with precision and style with the best cameras can offer.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/sonyexperts-banner.png",
- "deliveryTime": "1-3 days",
- "latitude": "11.547788",
- "longitude": "48.131058",
- "faxNumber": "+49 30 234567600",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Director: Max Mustermann Register Court: Munich Register Number: HYY 134306
",
- "dataPrivacy": "Sony Experts values the privacy of your personal data."
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000006"
- }
- },
- {
- "type": "merchants",
- "id": "MER000005",
- "attributes": {
- "merchantName": "Budget Cameras",
- "merchantUrl": "/en/merchant/budget-cameras",
- "contactPersonRole": "Merchandise Manager",
- "contactPersonTitle": "Mr",
- "contactPersonFirstName": "Jason",
- "contactPersonLastName": "Weidmann",
- "contactPersonPhone": "030/123456789",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-logo.png",
- "publicEmail": "support@budgetcamerasonline.com",
- "publicPhone": "+49 30 234567591",
- "description": "DSLR and mirrorless cameras are by far the most popular with filmmakers on a tight budget when you can't afford multiple specialist cameras.Budget Cameras is offering a great selection of digital cameras with the lowest prices.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/budgetcameras-banner.png",
- "deliveryTime": "2-4 days",
- "latitude": "10.004663",
- "longitude": "53.552463",
- "faxNumber": "+49 30 234567500",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Director: Max Mustermann Register Court: Hamburg Register Number: HXX 134305
",
- "dataPrivacy": "Budget Cameras values the privacy of your personal data."
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000005"
- }
- }
- ]
-}
-```
-
-
-#### General order information
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| -------------- | -------- | ----------------------- |
-| merchantReferences | Array | Unique identifier of the [merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html) |
-| itemStates | Array | State of the item in the order. |
-| createdAt | String | Date and time when the order was created. |
-| currencyIsoCode | String | ISO 4217 code of the currency that was selected when placing the order. |
-| priceMode | String | Price mode that was active when placing the order. Possible values:
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Video King
Gilzeweg 24 4854SG Bavel NL
Phone: +31 123 45 6789 Email: hi@video-king.nl
Represented by Managing Director: Max Mustermann Register Court: Amsterdam Register Number: 1234.4567
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- }
- ]
-}
-```
-
-
-#### General order information
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------------ | -------- | --------------------- |
-| merchantReferences | Array | Unique identifier of the [merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html) |
-| itemStates | Array | Statuses of the order’s items in the [state machine](/docs/scos/dev/back-end-development/data-manipulation/datapayload-conversion/state-machine/order-process-modelling-via-state-machines.html). |
-| createdAt | String | Date and time when the order was created. |
-| currencyIsoCode | String | ISO 4217 code of the currency that was selected when placing the order. |
-| priceMode | String | Price mode that was active when placing the order. Possible values:
**NET_MODE**—prices before tax.
**GROSS_MODE**—prices after tax.
|
-
-#### Totals calculations
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ----------------- | -------- | --------------- |
-| totals | Object | Totals calculations. |
-| totals.expenseTotal | Integer | Total amount of expenses (for example,shipping costs). |
-| totals.discountTotal | Integer | Total amount of discounts applied. |
-| totals.taxTotal | Integer | Total amount of taxes paid. |
-| totals.subtotal | Integer | Subtotal of the order. |
-| totals.grandTotal | Integer | Grand total of the order |
-| totals.canceledTotal | Integer | Total canceled amount. |
-| totals.remunerationTotal | Integer | Total sum of remuneration. |
-
-#### Billing and shipping addresses
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ----------------- | -------- | --------------------------------- |
-| billingAddress | object | List of attributes describing the billing address of the order. |
-| billingAddress.salutation | String | Salutation to use when addressing the customer. |
-| billingAddress.firstName | String | Customer's first name. |
-| billingAddress.middleName | String | Customer's middle name. |
-| billingAddress.lastName | String | Customer's last name. |
-| billingAddress.address1 | String | 1st line of the customer's address. |
-| billingAddress.address2 | String | 2nd line of the customer's address. |
-| billingAddress.address3 | String | 3rd line of the customer's address. |
-| billingAddress.company | String | Specifies the customer's company. |
-| billingAddress.city | String | Specifies the city. |
-| billingAddress.zipCode | String | ZIP code. |
-| billingAddress.poBox | String | PO Box to use for communication. |
-| billingAddress.phone | String | Specifies the customer's phone number. |
-| billingAddress.cellPhone | String | Mobile phone number. |
-| billingAddress.description | String | Address description. |
-| billingAddress.comment | String | Address comment. |
-| billingAddress.email | String | Email address to use for communication. |
-| billingAddress.country | String | Specifies the country. |
-| billingAddress.iso2Code | String | ISO 2-Letter Country Code to use. |
-| shippingAddress | object | Shipment address of the order. This value is returned only if you submit an order without split delivery. To learn how to do that, see [Checking out purchases in version 202009.0](/docs/scos/dev/glue-api-guides/{{page.version}}/checking-out/checking-out-purchases.html).|
-
-#### Order item information
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --- | --- | --- |
-| items | array | Items in the order. |
-| merchantReference | String | Merchant reference in the system. |
-| state | String | Defines the state of the item in the state machine. |
-| items.name | String | Product name. |
-| items.sku | String | Product SKU. |
-| items.sumPrice | Integer | Sum of all product prices. |
-| items.quantity | Integer | Product quantity ordered. |
-| items.unitGrossPrice | Integer | Single item gross price. |
-| items.sumGrossPrice | Integer | Sum of items gross price. |
-| items.taxRate | Integer | Current tax rate, in percent. |
-| items.unitNetPrice | Integer | Single item net price. |
-| items.sumNetPrice | Integer | Sum total of net prices for all items. |
-| items.unitPrice | Integer | Single item price without assuming if it is new or gross. {% info_block warningBox "Note" %}This price should be displayed everywhere when a product price is displayed. It allows switching tax mode without side effects.{% endinfo_block %} |
-| items.unitTaxAmountFullAggregation | Integer | Total tax amount for a given item, with additions. |
-| items.sumTaxAmountFullAggregation | Integer | Total tax amount for a given sum of items, with additions. |
-| items.refundableAmount | Integer | Available refundable amount for an item (order only). |
-| items.canceledAmount | Integer | Total canceled amount for this item (order only). |
-| items.sumSubtotalAggregation | Integer | Sum of subtotals of the items. |
-| items.unitSubtotalAggregation | Integer | Subtotal for the given item. |
-| items.unitProductOptionPriceAggregation | Integer | Item total product option price. |
-| items.sumProductOptionPriceAggregation | Integer | Item total of product options for the given sum of items. |
-| items.unitExpensePriceAggregation | Integer | Item expense total for a given item. |
-| items.sumExpensePriceAggregation | Integer | Total amount of expenses for the given items. |
-| items.unitDiscountAmountAggregation | Integer | Item total discount amount. |
-| items.sumDiscountAmountAggregation | Integer | Sum of Item total discount amounts. |
-| items.unitDiscountAmountFullAggregation | Integer | Sum of item total discount amount. |
-| items.sumDiscountAmountFullAggregation | Integer | Item total discount amount, with additions. |
-| items.unitPriceToPayAggregation | Integer | Item total price to pay after discounts, with additions. |
-| items.sumPriceToPayAggregation | Integer | Sum of all prices to pay (after discounts were applied). |
-| items.taxRateAverageAggregation | Integer | Item tax rate average, with additions. This value is used when recalculating the tax amount after cancellation. |
-| items.taxAmountAfterCancellation | Integer | Tax amount after cancellation, recalculated using tax average. |
-| items.uuid | String | Unique identifier of the item in the order. |
-| items.isReturnable | Boolean | Defines if the customer can return the item. |
-| items.idShipment | Integer | Unique identifier of the shipment to which the item belongs. To retrieve all the shipments of the order, include the `order-shipments` resource into the request.|
-| items.bundleItemIdentifier | Integer | Defines the relation between the bundle and its items. The items of the bundle have the same value in the `relatedBundleItemIdentifier` attribute. {% info_block warningBox "Note" %} Bundle products are not supported in the Marketplace environment.{% endinfo_block %} |
-| items.relatedBundleItemIdentifier | Integer | Defines the relation between the item and its bundle. The bundle to which this the item belongs has the same value in the bundleItemIdentifier attribute. |
-| items.salesOrderConfiguredBundle | Object | Contains information about the purchased configurable bundle.{% info_block warningBox "Note" %} Configured bundles are not supported for the Marketplace environment.{% endinfo_block %} |
-| items.idSalesOrderConfiguredBundle |Integer | Unique identifier of the purchased configured bundle.|
-| items.idSalesOrderConfiguredBundle.configurableBundleTemplateUuid|String |Unique identifier of the configurable bundle template in the system. |
-| items.idSalesOrderConfiguredBundle.name | String|Name of the configured bundle. |
-| items.idSalesOrderConfiguredBundle.quantity | Integer| Quantity of the ordered configurable bundles.|
-| items.salesOrderConfiguredBundleItem |Object |Contains information about the items of the configured bundle. |
-| items.salesOrderItemConfiguration | String | |
-| items.salesUnit | String| Sales unit to be used for the item amount calculation.|
-| items.amount | String| |
-| items.metadata | object | Metadata of the concrete product. |
-| items.metadata.superAttributes | String | [Attributes](/docs/pbc/all/product-information-management/{{page.version}}/base-shop/feature-overviews/product-feature-overview/product-attributes-overview.html) of the order item. |
-| items.metadata.image | String | Product image URL. |
-
-
-
-#### Calculated discounts for items
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------- | -------- | ------------------------------- |
-| items.calculatedDiscounts | Array | List of attributes describing the discount calculated for this item. |
-| items.calculatedDiscounts.unitAmount | Integer | Discount value applied to this order item. |
-| items.calculatedDiscounts.sumAmount | Integer | Sum of the discount values applied to this order item. |
-| items.calculatedDiscounts.displayName | String | Name of the discount applied. |
-| items.calculatedDiscounts.description | String | Description of the discount. |
-| items.calculatedDiscounts.voucherCode | String | Voucher code redeemed. |
-| items.calculatedDiscounts.quantity | String | Number of discounts applied to the product. |
-
-#### Product options
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------ | -------- | -------------------------- |
-| items.productOptions | Array | Lst of product options ordered with this item. |
-| items.productOptions.optionGroupName | String | Name of the group to which the product option belongs. |
-| items.productOptions.sku | String | SKU of the product option. |
-| items.productOptions.optionName | String | Name of the product option. |
-| items.productOptions.price | Integer | Price of the product option. |
-
-#### Calculated discounts
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------- | -------- | --------------------------- |
-| calculatedDiscounts | Array | Discounts applied to this order item. |
-| calculatedDiscounts.unitAmount | Integer | Amount of the discount provided by the given item for each unit of the product, in cents. |
-| calculatedDiscounts.sumAmount | Integer | Total amount of the discount provided by the given item, in cents. |
-| calculatedDiscounts.displayName | String | Display name of the given discount. |
-| calculatedDiscounts.description | String | Description of the given discount. |
-| calculatedDiscounts.voucherCode | String | Voucher code applied, if any. |
-| calculatedDiscounts.quantity | String | Number of times the discount was applied. |
-
-#### Expenses
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------------- | -------- | ---------------------- |
-| expenses | array | Additional expenses of the order. |
-| expenses.type | String | Expense type. |
-| expenses.name | String | Expense name. |
-| expenses.sumPrice | Integer | Sum of expenses calculated. |
-| expenses.unitGrossPrice | Integer | Single item's gross price. |
-| expenses.sumGrossPrice | Integer | Sum of items' gross price. |
-| expenses.taxRate | Integer | Current tax rate in percent. |
-| expenses.unitNetPrice | Integer | Single item net price. |
-| expenses.sumNetPrice | Integer | Sum of items' net price. |
-| expenses.canceledAmount | Integer | Total canceled amount for this item (order only). |
-| expenses.unitDiscountAmountAggregationexpenses. | Integer | Item total discount amount. |
-| expenses.sumDiscountAmountAggregation | Integer | Sum of items' total discount amount. |
-| expenses.unitTaxAmount | Integer | Tax amount for a single item, after discounts. |
-| expenses.sumTaxAmount | Integer | Tax amount for a sum of items (order only). |
-| expenses.unitPriceToPayAggregation | Integer | Item total price to pay after discounts with additions. |
-| expenses.sumPriceToPayAggregation | Integer | Sum of items' total price to pay after discounts with additions. |
-| expenses.taxAmountAfterCancellation | Integer | Tax amount after cancellation, recalculated using tax average. |
-| expenses.idShipment | Integer | Unique identifier of the shipment to which this expense belongs. To retrieve all the shipments of the order, include the order-shipments resource in the request. |
-| expenses.idSalesExpense | Integer | Unique identifier of the expense. |
-
-
-#### Payments
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| payments | Array | A list of payments used in this order. |
-| amount | Integer | Amount paid via the corresponding payment provider in cents. |
-| paymentProvider | String | Name of the payment provider. |
-| paymentMethod | String | Name of the payment method. |
-
-#### Shipments
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------------ | ----------- | ------------------------ |
-| shipments | object | Information about the shipments used in this order. This value is returned only if you submit an order without split delivery. To learn how to do that, see [Checking out purchases in version 202009.0](/docs/scos/dev/glue-api-guides/202009.0/checking-out/checking-out-purchases.html). To see all the attributes that are returned when retrieving orders without split delivery, see [Retrieving orders in version 202009.0](/docs/scos/dev/glue-api-guides/202009.0/retrieving-orders.html). To retrieve shipment details, include the order-shipments resource in the request. |
-
-| INCLUDED RESOURCE | ATTRIBUTE | TYPE |
-| ---------------- | --------------------- | ------ |
-| order-shipments | itemUuids | String |
-| order-shipments | methodName | String |
-| order-shipments | carrierName | String |
-| order-shipments | requestedDeliveryDate | Date |
-| order-shipments | shippingAddress | Object |
-| order-shipments | shippingAddress.salutation | String |
-| order-shipments | shippingAddress.firstName | String |
-| order-shipments | shippingAddress.middleName | String | Customer's middle name. |
-| order-shipments | shippingAddress.lastName | String | Customer's last name. |
-| order-shipments | shippingAddress.address1 | String | The 1st line of the customer's address. |
-| order-shipments | shippingAddress.address2 | String | The 2nd line of the customer's address. |
-| order-shipments | shippingAddress.address3 | String | The 3rd line of the customer's address. |
-| order-shipments | shippingAddress.company | String | Specifies the customer's company. |
-| order-shipments | shippingAddress.city | String | Specifies the city. |
-| order-shipments | shippingAddress.zipCode | String | ZIP code. |
-| order-shipments | shippingAddress.poBox | String | PO Box to use for communication. |
-| order-shipments | shippingAddress.phone | String | Specifies the customer's phone number. |
-| order-shipments | shippingAddress.cellPhone | String | Mobile phone number. |
-| order-shipments | shippingAddress.description | String | Address description. |
-| order-shipments | shippingAddress.comment | String | Address comment. |
-| order-shipments | shippingAddress.email | String | Email address to use for communication. |
-| order-shipments | shippingAddress.country | String | Specifies the country. |
-| order-shipments | shippingAddress.iso2Code | String | ISO 2-Letter Country Code to use. |
-
-
-For the attributes of other included resources, see [Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/searching-the-product-catalog.md b/docs/marketplace/dev/glue-api-guides/202108.0/searching-the-product-catalog.md
deleted file mode 100644
index 9bbd0de2375..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/searching-the-product-catalog.md
+++ /dev/null
@@ -1,7283 +0,0 @@
----
-title: Search the product catalog
-description: Search the product catalog via Glue API
-template: glue-api-storefront-guide-template
----
-
-The implementation of the search API offers you the same search experience as in the Spryker Demo Shops. The search engine used is Elasticsearch, and search results go beyond the simple listing of products in the results section. The list of search results is paginated according to your configuration, and spelling suggestions are offered when needed. In addition, sorting and facets are supported to narrow down the search results.
-In your development, this endpoint can help you to:
-
-* Implement catalog search functionality, including the category tree, facets, and pagination.
-* Retrieve a list of products to be displayed anywhere you want.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see [Glue API: Catalog feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-catalog-feature-integration.html#install-feature-api).
-
-## Search by products
-
-To search by products, send the request:
-
----
-`GET` /**catalog-search**
-
----
-
-### Request
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-| ------------------- | ---------------- | ----------------------- |
-| include | Adds resource relationships to the request. | abstract-products |
-| q | Restricts the set of the returned items to the provided parameter value. |
{% raw %}{{null}}{% endraw %} (empty)
{% raw %}{{abstract_product_sku}}{% endraw %}
{% raw %}{{abstract_product_name}}
{% raw %}{{concrete_product_sku}}{% endraw %}
{% raw %}{{product_attribute}}{% endraw %} (brand, color)—to provide multiple product attributes, use `+`
|
-| sortParamLocalizedNames | Object | Localized names of the sorting parameters. |
-| currentSortParam | String | The currently applied sorting parameter. |
-| currentSortOrder | String | The current sorting order. |
-
-**Pagination**
-
-| ATTRIBUTE |TYPE | DESCRIPTION |
-| --------- | -------- | ---------- |
-| pagination.pagination | Object | Attributes that define the pagination. |
-| pagination.numFound | Integer | Number of the search results found. |
-| pagination.currentPage | Integer | The current search results page. |
-| pagination.maxPage | Integer | Total number of the search results pages. |
-| pagination.currentItemsPerPage | Integer | Current number of the search results per page. |
-| pagination.parameterName | String | Parameter name for setting the page number. |
-| pagination.itemsPerPageParameterName | String | Parameter name for setting number of items per page. |
-| pagination.defaultItemsPerPage | Integer | Default number of items per one search results page. |
-| pagination.validItemsPerPageOptions | Array | Options for numbers per search results page. |
-
-**Abstract products**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ---------- | -------- | --------------- |
-| abstractProducts | Array | Abstract products in the search results. |
-| abstractProducts.abstractSku | String | Unique identifier of the abstract product. |
-| abstractProducts.price | Integer | Price to pay for that product in cents. |
-| abstractProducts.abstractName | String | Abstract product name. |
-| abstractProducts.images | Array | Product images of the abstract product. |
-| abstractProducts.prices | Integer | Attributes describing the abstract product's price. |
-| abstractProducts.prices.priceTypeName | String | Price type. |
-| abstractProducts.prices.currency | String | Attributes describing the currency of the abstract product's price. |
-| abstractProducts.prices.currency.code | String | Currency code. |
-| abstractProducts.prices.currency.name | String | Currency name. |
-| abstractProducts.prices.currency.symbol | String | Currency symbol. |
-| abstractProducts.prices.grossAmount | Integer | Gross price in cents. |
-| abstractProducts.images | Array | Images of the abstract product. |
-| abstractProducts.images.externalUrlLarge | URL of the large image. |
-| abstractProducts.images.externalUrlSmall | URL of the small image. |
-
-
-**Value facets**
-
-| ATTRIBUTE| TYPE | DESCRIPTION |
-| ------------- | -------- | ------------------ |
-| valueFacets | Array | Objects describing the value facets. |
-| valueFacets.name | String | Name of the value facet. |
-| valueFacets.localizedName | String | Localized name of the value facet. |
-| valueFacets.values | Array | Values of the facet for the found items. |
-| valueFacets.activeValue | Integer| Value of the facet specified in the current search request. |
-| valueFacets.config | Object | Parameters describing the value facet's configuration. |
-| valueFacets.config.parameterName | String | Parameter name. |
-| valueFacets.config.isMultiValued | Boolean | Defines if several values of the facet can be specified. |
-
-**Range facets**
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ---------- | -------- | ------------------ |
-| rangeFacets | Array | Objects describing the range facets. |
-| rangeFacets.name | String | Name of the range facet. |
-| rangeFacets.localizedName | String | Localized name of the range facet. |
-| rangeFacets.min | Integer | Minimum value of the range for the found items. |
-| rangeFacets.max | Integer | Maximum value of the range for the found items. |
-| rangeFacets.activeMin | Integer | Minimum value of the range specified in the current search request. |
-| rangeFacets.activeMax | Integer | Maximum value of the range specified in the current search request. |
-| rangeFacets.config | Object | Parameters describing the range facet's configuration. |
-| rangeFacets.config.parameterName | String | Parameter name. |
-| rangeFacets.config.isMultiValued | Boolean | Defines if several values of the facet can be specified. |
-
-**Category tree filter**
-
-| ATTRIBUTE | TYPE| DESCRIPTION |
-| ------------- | -------- | --------------- |
-| categoryTreeFilter | Array | Category tree filters. |
-| nodeId | Integer | Unique identifier of the category. |
-| name | String | Category name. |
-| docCount | Integer | Number of the found items in the category. |
-| children | Array | Child categories of the category. The child categories have the same parameters. |
-
-For details of the included resources, see:
-
-- [Retrieving abstract products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/abstract-products/retrieving-abstract-products.html)
-- [Retrieving concrete products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html)
-- [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html)
-
-## Possible errors
-
-| CODE | REASON |
-| -------- | ------------ |
-| 501 | Invalid currency. |
-| 502 | Invalid price mode. |
-| 503 | Invalid type (non-integer) of one of the request parameters:
rating
rating.min
rating.max
page.limit
page.offset
category
|
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlist-items.md b/docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlist-items.md
deleted file mode 100644
index 093ae36a10a..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlist-items.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-title: Managing wishlist items
-description: Retrieve details about wishlist items and learn what else you can do with the resource in the Spryker Marketplace.
-template: glue-api-storefront-guide-template
----
-
-This endpoint lets you add and remove items from wishlists.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see [Marketplace Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html).
-
-## Add an item to a wishlist
-
-To add an item to a wishlist, send the request:
-
-
-***
-`POST` {% raw %}**/wishlists/*{{wishlist_id}}*/wishlist-items**{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| --------------- | ---------------- |
-| {% raw %}***{{wishlist_id}}***{% endraw %} | Unique identifier of the wishlist to add the items to. [Create a wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html#create-a-wishlist) or [retrieve all wishlists](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html) to get it. |
-
-### Request
-
-
-Request sample: add an item to a wishlist
-
-`POST https://glue.mysprykershop.com/wishlists/09264b7f-1894-58ed-81f4-d52d683e910a/wishlist-items`
-
-```json
-{
- "data": {
- "type": "wishlist-items",
- "attributes": {
- "sku": "064_18404924"
- }
- }
- }
-```
-
-
-
-Request sample: add a product offer to a wishlist
-
-`POST https://glue.mysprykershop.com/wishlists/57c96d55-8a37-5998-927f-7bb663b69094/wishlist-items`
-
-```json
-{
- "data": {
- "type": "wishlist-items",
- "attributes": {
- "sku": "092_24495842",
- "productOfferReference": "offer5"
- }
- }
-}
-```
-
-
-
-Request sample: add a marketplace product to a wishlist
-
-`POST https://glue.mysprykershop.com/wishlists/57c96d55-8a37-5998-927f-7bb663b69094/wishlist-items`
-
-```json
-{
- "data": {
- "type": "wishlist-items",
- "attributes": {
- "sku": "109_19416433"
- }
- }
-}
-```
-
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-| ------------ | ----- | ---| ---------------- |
-| sku | String | ✓ | SKU of a concrete product or a merchant concrete product to add.|
-| productOfferReference | String | | Unique identifier of the product offer. You can get it by [retrieving the offers available for the concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-product-offers-of-concrete-products.html).|
-
-### Response
-
-
-Response sample: add an item to a wishlist
-
-```json
-{
- "data": {
- "type": "wishlist-items",
- "id": "064_18404924",
- "attributes": {
- "sku": "064_18404924"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/c917e65b-e8c3-5c8b-bec6-892529c64b30/wishlist-items/064_18404924"
- }
- }
- }
-```
-
-
-
-Response sample: add a product offer to a wishlist
-
-```json
-{
- "data": {
- "type": "wishlist-items",
- "id": "092_24495842_offer5",
- "attributes": {
- "productOfferReference": "offer5",
- "merchantReference": "MER000001",
- "id": "092_24495842_offer5",
- "sku": "092_24495842",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "ORIGINAL",
- "grossAmount": 17459,
- "netAmount": 15713,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 7459,
- "netAmount": 5713,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 10000,
- "netAmount": 8070,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/57c96d55-8a37-5998-927f-7bb663b69094/wishlist-items/092_24495842_offer5"
- }
- }
-}
-```
-
-
-
-Response sample: add a marketplace product to a wishlist
-
-```json
-{
- "data": {
- "type": "wishlist-items",
- "id": "109_19416433",
- "attributes": {
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "id": "109_19416433",
- "sku": "109_19416433",
- "availability": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/bb7dbe75-d892-582f-b438-d7f6cbfd3fc4/wishlist-items/109_19416433"
- }
- }
-}
-```
-
-
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ----------- | ------ | --------------- |
-| productOfferReference | String | Unique identifier of the product offer.|
-| merchantReference | String | Unique identifier of the merchant. |
-| id | String | Unique identifier of the product offer in the wishlist. It's based on the `sku` and `productOfferReference`. |
-| sku | String | SKU of the concrete product in the wishlist. |
-| availability | Object | Contains information about the product's availability. |
-| availability.isNeverOutOfStock | Boolean | Defines if the product is never out of stock. |
-| availability.availability | Boolean | Defines if the product is available. |
-| availability.quantity | Integer | Aggregated stock of the item in all [warehouses](/docs/scos/user/features/{{page.version}}/inventory-management-feature-overview.html#warehouse-management). |
-| prices | Array | Contains information about prices. |
-| prices.priceTypeName | String | Price type. |
-| prices.grossAmount | Integer | Gross price in cents. |
-| prices.netAmount | Integer | Net price in cents. |
-| prices.currency | Object | Currency information of the price |
-| prices.currency.code | String | Currency code. |
-| prices.currency.name | String | Currency name. |
-| prices.currency.symbol | String | Currency symbol. |
-
-## Delete a wishlist item
-
-To delete wishlist item, send the request:
-
-
-***
-`DELETE` {% raw %}**/wishlists/*{{wishlist_id}}*/wishlist-items/*{{item_sku}}***{% endraw %}
-***
-
-
-| PATH PARAMETER | DESCRIPTION |
-| -------------- | -------------- |
-| {% raw %}***{{wishlist_id}}***{% endraw %} | Unique identifier of the wishlist to delete an item from. [Create a wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html#create-a-wishlist) or [retrieve all wishlists](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html) to get it. |
-| {% raw %}***{{item_sku}}***{% endraw %} | Unique identifier of the product to delete. |
-
-### Request
-
-Request sample:
-
-`DELETE https://glue.mysprykershop.com/wishlists/09264b7f-1894-58ed-81f4-d52d683e910a/wishlist-items/064_18404924`
-
-### Response
-
-If the item is removed successfully, the endpoint returns the `204 No Content` status code.
-
-## Possible errors
-
-| CODE | REASON |
-| ------ | --------------- |
-| 201 | Cannot find the wishlist. |
-| 206 | Cannot add an item to the wishlist. |
-| 207 | Cannot remove the item. |
-| 208 | An item with the provided SKU does not exist in the wishlist. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlists.md b/docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlists.md
deleted file mode 100644
index b1212ef0d01..00000000000
--- a/docs/marketplace/dev/glue-api-guides/202108.0/wishlists/managing-wishlists.md
+++ /dev/null
@@ -1,2311 +0,0 @@
----
-title: Managing wishlists
-description: Retrieve details about wishlists and learn what else you can do with the resource in the Spryker Marketplace.
-template: glue-api-storefront-guide-template
----
-
-The Marketplace Wishlists API allows creating list and deleting [wishlists](/docs/scos/user/features/{{page.version}}/wishlist-feature-overview.html) in the Marketplace, as well as managing the items in them.
-
-## Installation
-
-For detailed information about the modules that provide the API functionality and related installation instructions, see [Marketplace Wishlist feature integration](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/marketplace-wishlist-feature-integration.html)
-
-## Create a wishlist
-
-To create a wishlist, send the request:
-
-***
-`POST` **/wishlists**
-***
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| ---------- | -------- | -------- | -------------- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-Request sample: create a wishlist
-
-`POST https://glue.mysprykershop.com/wishlists`
-
-```json
-{
- "data": {
- "type": "wishlists",
- "attributes": {
- "name": "My_favourite_wishlist"
- }
- }
-}
-```
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-| ------- | ----- | ------- | -------------- |
-| name | string | ✓ | Name of the wishlist to create.|
-
-### Response
-
-Response sample: create a wishlist
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "57c96d55-8a37-5998-927f-7bb663b69094",
- "attributes": {
- "name": "My_favourite_wishlist",
- "numberOfItems": 0,
- "createdAt": "2021-07-13 14:50:08.755124",
- "updatedAt": "2021-07-13 14:50:08.755124"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/57c96d55-8a37-5998-927f-7bb663b69094"
- }
- }
-}
-```
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ------------ | ------ | --------------- |
-| name | String | Name of the wishlist. |
-| numberOfItems | Integer | Number of items in the wishlist. |
-| createdAt | String | Creation date of the wishlist. |
-| updatedAt | String | Date when the wishlist was updated. |
-
-## Retrieve wishlists
-
-To retrieve all wishlists of a customer, send the request:
-
-
-***
-`GET` **/wishlists**
-***
-
-### Request
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-| -------------- | ------------- | ----------- |
-| include | Adds resource relationships to the request. |
wishlist-items
concrete-products
product-labels
|
-
-| REQUEST SAMPLE | USAGE |
-| ------------ | ------------ |
-| GET https://glue.mysprykershop.com/wishlists | Retrieve all the wishlists of a customer. |
-| GET https://glue.mysprykershop.com/wishlists?include=wishlist-items | Retrieve all the wishlists of a customer with wishlist items. |
-| GET https://glue.mysprykershop.com/wishlists?include=wishlist-items,concrete-products | Retrieve all the wishlists of a customer with wishlist items and respective concrete products. |
-| GET https://glue.mysprykershop.com/wishlists?include=wishlist-items,concrete-products,product-labels | Retrieve all the wishlists of a customer with wishlist items, respective concrete products, and their product labels. |
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| ------------ | ----------- | -------- | --------- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-### Response
-
-
-Response sample: no wishlists found
-
-```json
-{
- "data": [],
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists"
- }
- }
-```
-
-
-
-Response sample: retrieve all the wishlists
-
-
-```json
- {
- "data": [
- {
- "type": "wishlists",
- "id": "1623f465-e4f6-5e45-8dc5-987b923f8af4",
- "attributes": {
- "name": "My Wishlist Name",
- "numberOfItems": 0,
- "createdAt": "2018-12-16 17:24:12.601033",
- "updatedAt": "2018-12-16 17:24:12.601033"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/1623f465-e4f6-5e45-8dc5-987b923f8af4"
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists"
- }
- }
-```
-
-
-
-Response sample: retrieve all the wishlists with wishlist items
-
-```json
-{
- "data": [
- {
- "type": "wishlists",
- "id": "246591f8-4f30-55ce-8b17-8482859b4ac1",
- "attributes": {
- "name": "My wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-02-16 15:02:21.121613",
- "updatedAt": "2021-02-16 15:02:21.121613"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "149_28346778"
- }
- ]
- }
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists?include=wishlist-items"
- },
- "included": [
- {
- "type": "wishlist-items",
- "id": "149_28346778",
- "attributes": {
- "sku": "149_28346778"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1/wishlist-items/149_28346778"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve all the wishlists with wishlist items and respective concrete products
-
-```json
-{
- "data": [
- {
- "type": "wishlists",
- "id": "246591f8-4f30-55ce-8b17-8482859b4ac1",
- "attributes": {
- "name": "My wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-02-16 15:02:21.121613",
- "updatedAt": "2021-02-16 15:02:21.121613"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items,concrete-products"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "149_28346778"
- }
- ]
- }
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists?include=wishlist-items,concrete-products"
- },
- "included": [
- {
- "type": "concrete-products",
- "id": "149_28346778",
- "attributes": {
- "sku": "149_28346778",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "HP 200 250 G4",
- "description": "Durable mobile design Rest assured that the HP 250 can keep up with assignments on the run. The durable chassis protects the notebook so it looks as professional as you do. Get connected with the value-priced HP 250 Notebook PC. Complete business tasks with Intel technology, essential multimedia tools and Windows 8.1 loaded on the HP 250. The durable chassis helps protect the notebook from the rigors of the day. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business. HP, a world leader in PCs and touch technology helps equip you with a fully functional notebook ready to connect to all your peripherals and designed to fit the needs of business.",
- "attributes": {
- "form_factor": "clamshell",
- "processor_cores": "2",
- "thermal_design_power": "15 W",
- "brand": "HP",
- "color": "Black",
- "processor_frequency": "1.6 GHz"
- },
- "superAttributesDefinition": [
- "form_factor",
- "color",
- "processor_frequency"
- ],
- "metaTitle": "HP 200 250 G4",
- "metaKeywords": "HP,Entertainment Electronics",
- "metaDescription": "Durable mobile design Rest assured that the HP 250 can keep up with assignments on the run. The durable chassis protects the notebook so it looks as profes",
- "attributeNames": {
- "form_factor": "Form factor",
- "processor_cores": "Processor cores",
- "thermal_design_power": "Thermal Design Power (TDP)",
- "brand": "Brand",
- "color": "Color",
- "processor_frequency": "Processor frequency"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/149_28346778"
- }
- },
- {
- "type": "wishlist-items",
- "id": "149_28346778",
- "attributes": {
- "sku": "149_28346778"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1/wishlist-items/149_28346778"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "149_28346778"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve all the wishlists with wishlist items, respective concrete products, and their product labels
-
-```json
-{
- "data": [
- {
- "type": "wishlists",
- "id": "246591f8-4f30-55ce-8b17-8482859b4ac1",
- "attributes": {
- "name": "My wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-02-16 15:02:21.121613",
- "updatedAt": "2021-02-16 15:02:21.121613"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items,concrete-products,product-labels"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "020_21081478"
- }
- ]
- }
- }
- }
- ],
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists?include=wishlist-items,concrete-products,product-labels"
- },
- "included": [
- {
- "type": "product-labels",
- "id": "5",
- "attributes": {
- "name": "SALE %",
- "isExclusive": false,
- "position": 3,
- "frontEndReference": "highlight"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-labels/5"
- }
- },
- {
- "type": "concrete-products",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Sony Cyber-shot DSC-W830",
- "description": "Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.",
- "attributes": {
- "hdmi": "no",
- "sensor_type": "CCD",
- "display": "TFT",
- "usb_version": "2",
- "brand": "Sony",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony Cyber-shot DSC-W830",
- "metaKeywords": "Sony,Entertainment Electronics",
- "metaDescription": "Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing i",
- "attributeNames": {
- "hdmi": "HDMI",
- "sensor_type": "Sensor type",
- "display": "Display",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/020_21081478"
- },
- "relationships": {
- "product-labels": {
- "data": [
- {
- "type": "product-labels",
- "id": "5"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1/wishlist-items/020_21081478"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "020_21081478"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --------- | ------ | ----------------- |
-| name | String | Name of the wishlist. |
-| numberOfItems | Integer | Number of items in the wishlist. |
-| createdAt | String | Creation date of the wishlist.|
-| updatedAt | String | Date when the wishlist was updated.|
-
-For attributes of the included resources, see:
-
-- [Add an item to a wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlist-items.html#add-an-item-to-a-wishlist)
-- [Retrieve a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html#retrieve-a-concrete-product)
-- [Retrieve a product label](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-product-labels.html)
-
-## Retrieve a wishlist
-
-To retrieve a specific wishlist, send the request:
-
-***
-`GET` {% raw %}**/wishlists/*{{wishlist_id}}***{% endraw %}
-***
-
-| PATH PARAMETER | DESCRIPTION |
-| ---------------- | ------------------------- |
-| {% raw %}***{{wishlist_id}}***{% endraw %} | Unique identifier of the wishlist to retrieve the items of. [Create a wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html#create-a-wishlist) or [retrieve all wishlists](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-wishlists/managing-wishlists.html#retrieve-wishlists) to get it. |
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| ------------ | ----------- | ------- | -------------- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-| QUERY PARAMETER | DESCRIPTION | POSSIBLE VALUES |
-| ---------- | -------------------- | --------------------- |
-| include | Adds resource relationships to the request. |
wishlist-items
concrete-products
product-labels
concrete-product-availabilities
concrete-product-prices
merchants
|
-
-| REQUEST SAMPLE | USAGE |
-| ------------- | ------------ |
-| GET https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1 | Retrieve a wishlist with the `246591f8-4f30-55ce-8b17-8482859b4ac1` identifier. |
-| GET https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items | Retrieve the wishlist with the `246591f8-4f30-55ce-8b17-8482859b4ac1` identifier. Include wishlist items in the response. |
-| GET https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items,concrete-products | Retrieve the wishlist with the `246591f8-4f30-55ce-8b17-8482859b4ac1` identifier. Include wishlist items and respective concrete products in the response. |
-| GET https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items,concrete-products,product-labels | Retrieve the wishlist with the `246591f8-4f30-55ce-8b17-8482859b4ac1` identifier. Include wishlist items, respective concrete products and their product labels in the response. |
-| GET https://glue.mysprykershop.com/wishlists/bb7dbe75-d892-582f-b438-d7f6cbfd3fc4?include=wishlist-items,concrete-products,concrete-product-availabilities | Retrieve the wishlist with the `bb7dbe75-d892-582f-b438-d7f6cbfd3fc4`identifier. Include wishlist items, concrete products and concrete product availabilities in the response. |
-| GET https://glue.mysprykershop.com/wishlists/bb7dbe75-d892-582f-b438-d7f6cbfd3fc4?include=wishlist-items,concrete-products,concrete-product-prices | Retrieve the wishlist with the `bb7dbe75-d892-582f-b438-d7f6cbfd3fc4`identifier. Include wishlist items, concrete products, and their prices. |
-| GET https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items,concrete-products,product-offers | Retrieve the wishlist with the `13c813a3-8916-5444-9f1b-e4d8c56a085d`identifier. Include wishlist items, concrete products and product offers for these products. |
-| GET https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d?include=wishlist-items,concrete-products,product-offers,product-offer-availabilities | Retrieve the wishlist with the `13c813a3-8916-5444-9f1b-e4d8c56a085d`identifier. Include wishlist items and product offer availabilities. |
-| GET https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d?include=wishlist-items,concrete-products,product-offers,product-offer-prices | Retrieve the wishlist with the `13c813a3-8916-5444-9f1b-e4d8c56a085d`identifier. Include wishlist items and product offer prices. |
-| GET https://glue.mysprykershop.com/wishlists/57c96d55-8a37-5998-927f-7bb663b69094?include=wishlist-items,merchants | Retrieve the wishlist with the `57c96d55-8a37-5998-927f-7bb663b69094`identifier. Include wishlist items and merchant information. |
-
-
-
-### Response
-
-
-Response sample: retrieve a wishlist
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "246591f8-4f30-55ce-8b17-8482859b4ac1",
- "attributes": {
- "name": "My wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-02-24 13:52:34.582421",
- "updatedAt": "2021-02-24 13:52:34.582421"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1"
- }
- }
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items included
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "246591f8-4f30-55ce-8b17-8482859b4ac1",
- "attributes": {
- "name": "My wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-02-24 13:52:34.582421",
- "updatedAt": "2021-02-24 13:52:34.582421"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "020_21081478"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "wishlist-items",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1/wishlist-items/020_21081478"
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items and respective concrete products included
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "246591f8-4f30-55ce-8b17-8482859b4ac1",
- "attributes": {
- "name": "My wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-02-24 13:52:34.582421",
- "updatedAt": "2021-02-24 13:52:34.582421"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items,concrete-products"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "020_21081478"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-products",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Sony Cyber-shot DSC-W830",
- "description": "Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.",
- "attributes": {
- "hdmi": "no",
- "sensor_type": "CCD",
- "display": "TFT",
- "usb_version": "2",
- "brand": "Sony",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony Cyber-shot DSC-W830",
- "metaKeywords": "Sony,Entertainment Electronics",
- "metaDescription": "Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing i",
- "attributeNames": {
- "hdmi": "HDMI",
- "sensor_type": "Sensor type",
- "display": "Display",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/020_21081478"
- }
- },
- {
- "type": "wishlist-items",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1/wishlist-items/020_21081478"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "020_21081478"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items, respective concrete products, and product labels included
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "246591f8-4f30-55ce-8b17-8482859b4ac1",
- "attributes": {
- "name": "My wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-02-24 13:52:34.582421",
- "updatedAt": "2021-02-24 13:52:34.582421"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1?include=wishlist-items,concrete-products,product-labels"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "020_21081478"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-labels",
- "id": "5",
- "attributes": {
- "name": "SALE %",
- "isExclusive": false,
- "position": 3,
- "frontEndReference": "highlight"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-labels/5"
- }
- },
- {
- "type": "concrete-products",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "name": "Sony Cyber-shot DSC-W830",
- "description": "Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing it, and slip in your pocket. Shooting great photos and videos is easy with the W800. Buttons are positioned for ease of use, while a dedicated movie button makes shooting movies simple. The vivid 2.7-type Clear Photo LCD display screen lets you view your stills and play back movies with minimal effort. Whip out the W800 to capture crisp, smooth footage in an instant. At the press of a button, you can record blur-free 720 HD images with digital sound. Breathe new life into a picture by using built-in Picture Effect technology. There’s a range of modes to choose from – you don’t even have to download image-editing software.",
- "attributes": {
- "hdmi": "no",
- "sensor_type": "CCD",
- "display": "TFT",
- "usb_version": "2",
- "brand": "Sony",
- "color": "Black"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony Cyber-shot DSC-W830",
- "metaKeywords": "Sony,Entertainment Electronics",
- "metaDescription": "Styled for your pocket Precision photography meets the portability of a smartphone. The W800 is small enough to take great photos, look good while doing i",
- "attributeNames": {
- "hdmi": "HDMI",
- "sensor_type": "Sensor type",
- "display": "Display",
- "usb_version": "USB version",
- "brand": "Brand",
- "color": "Color"
- }
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/020_21081478"
- },
- "relationships": {
- "product-labels": {
- "data": [
- {
- "type": "product-labels",
- "id": "5"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "020_21081478",
- "attributes": {
- "sku": "020_21081478"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/246591f8-4f30-55ce-8b17-8482859b4ac1/wishlist-items/020_21081478"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "020_21081478"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items, concrete products and their availabilities
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "bb7dbe75-d892-582f-b438-d7f6cbfd3fc4",
- "attributes": {
- "name": "My_wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-07-13 14:49:39.635172",
- "updatedAt": "2021-07-13 14:49:39.635172"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/bb7dbe75-d892-582f-b438-d7f6cbfd3fc4"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "109_19416433"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-product-availabilities",
- "id": "109_19416433",
- "attributes": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/109_19416433/concrete-product-availabilities"
- }
- },
- {
- "type": "concrete-products",
- "id": "109_19416433",
- "attributes": {
- "sku": "109_19416433",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "109",
- "name": "Sony SW2 SmartWatch",
- "description": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.",
- "attributes": {
- "display_type": "LCD",
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "168 h",
- "brand": "Sony",
- "color": "Blue"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony SW2 SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on",
- "attributeNames": {
- "display_type": "Display type",
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/109_19416433"
- },
- "relationships": {
- "concrete-product-availabilities": {
- "data": [
- {
- "type": "concrete-product-availabilities",
- "id": "109_19416433"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "109_19416433",
- "attributes": {
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "id": "109_19416433",
- "sku": "109_19416433",
- "availability": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/bb7dbe75-d892-582f-b438-d7f6cbfd3fc4/wishlist-items/109_19416433"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "109_19416433"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items, concrete products and their prices
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "bb7dbe75-d892-582f-b438-d7f6cbfd3fc4",
- "attributes": {
- "name": "My_wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-07-13 14:49:39.635172",
- "updatedAt": "2021-07-13 14:49:39.635172"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/bb7dbe75-d892-582f-b438-d7f6cbfd3fc4"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "109_19416433"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "concrete-product-prices",
- "id": "109_19416433",
- "attributes": {
- "price": 12572,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 12572,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": []
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/109_19416433/concrete-product-prices"
- }
- },
- {
- "type": "concrete-products",
- "id": "109_19416433",
- "attributes": {
- "sku": "109_19416433",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "109",
- "name": "Sony SW2 SmartWatch",
- "description": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on top of everything. If you like to get out running, you can use SmartWatch as your phone remote. If it rains, you can keep on going. SmartWatch 2 can take the rain. If it is bright and sunny, SmartWatch 2 has an impressive sunlight-readable display. Take it anywhere. When you are using a wireless Bluetooth® headset for music, you can use SmartWatch 2 as a phone remote to make or receive calls. When a call comes in, you can see who’s calling in your SmartWatch display, press once to answer and enjoy hands-free calling at its easiest. You can also browse recent calls in your call log and use SmartWatch to initiate a call.",
- "attributes": {
- "display_type": "LCD",
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "168 h",
- "brand": "Sony",
- "color": "Blue"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony SW2 SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Anywhere. Any weather SmartWatch 2 is the wireless accessory that has something for everybody. If you are a busy communicator, you will appreciate being on",
- "attributeNames": {
- "display_type": "Display type",
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/109_19416433"
- },
- "relationships": {
- "concrete-product-prices": {
- "data": [
- {
- "type": "concrete-product-prices",
- "id": "109_19416433"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "109_19416433",
- "attributes": {
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "id": "109_19416433",
- "sku": "109_19416433",
- "availability": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/bb7dbe75-d892-582f-b438-d7f6cbfd3fc4/wishlist-items/109_19416433"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "109_19416433"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items, concrete products, and product offers
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "13c813a3-8916-5444-9f1b-e4d8c56a085d",
- "attributes": {
- "name": "My wish list",
- "numberOfItems": 3,
- "createdAt": "2021-07-15 08:55:22.109760",
- "updatedAt": "2021-07-15 08:55:22.109760"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d?include=wishlist-items,concrete-products,product-offers"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer59"
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer18"
- },
- {
- "type": "wishlist-items",
- "id": "111_12295890"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-offers",
- "id": "offer59",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000005",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer59"
- }
- },
- {
- "type": "product-offers",
- "id": "offer18",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000002",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer18"
- }
- },
- {
- "type": "concrete-products",
- "id": "011_30775359",
- "attributes": {
- "sku": "011_30775359",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "011",
- "name": "Canon IXUS 180",
- "description": "Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control and choose the perfect camera settings for you. Play with your creativity in stills or movies using a range of Creative Filters such as Fish Eye, Miniature and Toy Camera. Enjoy exceptional quality, detailed images ideal for creating stunning poster sized prints thanks to 20.0 Megapixels and DIGIC 4+ processing. An intelligent optical Image Stabilizer ensures sharp stills and steady movies in any situation, while the 6.8 cm (2.7”) LCD screen allows easy viewing and sharing.",
- "attributes": {
- "megapixel": "20 MP",
- "sensor_type": "CCD",
- "display": "LCD",
- "digital_zoom": "4 x",
- "brand": "Canon",
- "color": "Blue"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 180",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control",
- "attributeNames": {
- "megapixel": "Megapixel",
- "sensor_type": "Sensor type",
- "display": "Display",
- "digital_zoom": "Digital zoom",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/011_30775359"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer59"
- },
- {
- "type": "product-offers",
- "id": "offer18"
- },
- {
- "type": "product-offers",
- "id": "offer59"
- },
- {
- "type": "product-offers",
- "id": "offer18"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer59",
- "attributes": {
- "productOfferReference": "offer59",
- "merchantReference": "MER000001",
- "id": "011_30775359_offer59",
- "sku": "011_30775359",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "0.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 37881,
- "netAmount": 34093,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 32940,
- "netAmount": 29646,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/011_30775359_offer59"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "011_30775359"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer18",
- "attributes": {
- "productOfferReference": "offer18",
- "merchantReference": "MER000001",
- "id": "011_30775359_offer18",
- "sku": "011_30775359",
- "availability": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 39986,
- "netAmount": 35987,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 34770,
- "netAmount": 31293,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/011_30775359_offer18"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "011_30775359"
- }
- ]
- }
- }
- },
- {
- "type": "concrete-products",
- "id": "111_12295890",
- "attributes": {
- "sku": "111_12295890",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "111",
- "name": "Sony SmartWatch",
- "description": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your world’s just a tap, swipe or press away. Want to do more with your SmartWatch? Download compatible applications on Google Play™. And customise your SmartWatch to make it exclusively yours. Customise your SmartWatch with a 20mm wristband. Or wear its stylish wristband. You can even use it as a clip. This ultra-thin Android™ remote was designed to impress. An elegant Android watch that’ll keep you discreetly updated and your hands free.",
- "attributes": {
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "72 h",
- "display_type": "LCD",
- "brand": "Sony",
- "color": "Silver"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your ",
- "attributeNames": {
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "display_type": "Display type",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/111_12295890"
- }
- },
- {
- "type": "wishlist-items",
- "id": "111_12295890",
- "attributes": {
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "id": "111_12295890",
- "sku": "111_12295890",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "20.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 19568,
- "netAmount": 17611,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 22503,
- "netAmount": 20253,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 19568,
- "netAmount": 17611,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 22503,
- "netAmount": 20253,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/111_12295890"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "111_12295890"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items, concrete products, product offers, and product offer availabilities
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "13c813a3-8916-5444-9f1b-e4d8c56a085d",
- "attributes": {
- "name": "My wish list",
- "numberOfItems": 3,
- "createdAt": "2021-07-15 08:55:22.109760",
- "updatedAt": "2021-07-15 08:55:22.109760"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d?include=wishlist-items,concrete-products,product-offers,product-offer-availabilities"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer59"
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer18"
- },
- {
- "type": "wishlist-items",
- "id": "111_12295890"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-offer-availabilities",
- "id": "offer59",
- "attributes": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "0.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer59/product-offer-availabilities"
- }
- },
- {
- "type": "product-offers",
- "id": "offer59",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000005",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer59"
- }
- },
- {
- "type": "product-offer-availabilities",
- "id": "offer18",
- "attributes": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer18/product-offer-availabilities"
- }
- },
- {
- "type": "product-offers",
- "id": "offer18",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000002",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer18"
- }
- },
- {
- "type": "concrete-products",
- "id": "011_30775359",
- "attributes": {
- "sku": "011_30775359",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "011",
- "name": "Canon IXUS 180",
- "description": "Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control and choose the perfect camera settings for you. Play with your creativity in stills or movies using a range of Creative Filters such as Fish Eye, Miniature and Toy Camera. Enjoy exceptional quality, detailed images ideal for creating stunning poster sized prints thanks to 20.0 Megapixels and DIGIC 4+ processing. An intelligent optical Image Stabilizer ensures sharp stills and steady movies in any situation, while the 6.8 cm (2.7”) LCD screen allows easy viewing and sharing.",
- "attributes": {
- "megapixel": "20 MP",
- "sensor_type": "CCD",
- "display": "LCD",
- "digital_zoom": "4 x",
- "brand": "Canon",
- "color": "Blue"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 180",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control",
- "attributeNames": {
- "megapixel": "Megapixel",
- "sensor_type": "Sensor type",
- "display": "Display",
- "digital_zoom": "Digital zoom",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/011_30775359"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer59"
- },
- {
- "type": "product-offers",
- "id": "offer18"
- },
- {
- "type": "product-offers",
- "id": "offer59"
- },
- {
- "type": "product-offers",
- "id": "offer18"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer59",
- "attributes": {
- "productOfferReference": "offer59",
- "merchantReference": "MER000001",
- "id": "011_30775359_offer59",
- "sku": "011_30775359",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "0.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 37881,
- "netAmount": 34093,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 32940,
- "netAmount": 29646,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/011_30775359_offer59"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "011_30775359"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer18",
- "attributes": {
- "productOfferReference": "offer18",
- "merchantReference": "MER000001",
- "id": "011_30775359_offer18",
- "sku": "011_30775359",
- "availability": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 39986,
- "netAmount": 35987,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 34770,
- "netAmount": 31293,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/011_30775359_offer18"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "011_30775359"
- }
- ]
- }
- }
- },
- {
- "type": "concrete-products",
- "id": "111_12295890",
- "attributes": {
- "sku": "111_12295890",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "111",
- "name": "Sony SmartWatch",
- "description": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your world’s just a tap, swipe or press away. Want to do more with your SmartWatch? Download compatible applications on Google Play™. And customise your SmartWatch to make it exclusively yours. Customise your SmartWatch with a 20mm wristband. Or wear its stylish wristband. You can even use it as a clip. This ultra-thin Android™ remote was designed to impress. An elegant Android watch that’ll keep you discreetly updated and your hands free.",
- "attributes": {
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "72 h",
- "display_type": "LCD",
- "brand": "Sony",
- "color": "Silver"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your ",
- "attributeNames": {
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "display_type": "Display type",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/111_12295890"
- }
- },
- {
- "type": "wishlist-items",
- "id": "111_12295890",
- "attributes": {
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "id": "111_12295890",
- "sku": "111_12295890",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "20.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 19568,
- "netAmount": 17611,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 22503,
- "netAmount": 20253,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 19568,
- "netAmount": 17611,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 22503,
- "netAmount": 20253,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/111_12295890"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "111_12295890"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items, concrete products, product offers, and product offer prices
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "13c813a3-8916-5444-9f1b-e4d8c56a085d",
- "attributes": {
- "name": "My wish list",
- "numberOfItems": 3,
- "createdAt": "2021-07-15 08:55:22.109760",
- "updatedAt": "2021-07-15 08:55:22.109760"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d?include=wishlist-items,concrete-products,product-offers,product-offer-prices"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer59"
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer18"
- },
- {
- "type": "wishlist-items",
- "id": "111_12295890"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "product-offer-prices",
- "id": "offer59",
- "attributes": {
- "price": 32940,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 32940,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": []
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer59/product-offer-prices"
- }
- },
- {
- "type": "product-offers",
- "id": "offer59",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000005",
- "isDefault": true
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer59"
- }
- },
- {
- "type": "product-offer-prices",
- "id": "offer18",
- "attributes": {
- "price": 34770,
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "netAmount": null,
- "grossAmount": 34770,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- },
- "volumePrices": []
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer18/product-offer-prices"
- }
- },
- {
- "type": "product-offers",
- "id": "offer18",
- "attributes": {
- "merchantSku": null,
- "merchantReference": "MER000002",
- "isDefault": false
- },
- "links": {
- "self": "https://glue.mysprykershop.com/product-offers/offer18"
- }
- },
- {
- "type": "concrete-products",
- "id": "011_30775359",
- "attributes": {
- "sku": "011_30775359",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "011",
- "name": "Canon IXUS 180",
- "description": "Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control and choose the perfect camera settings for you. Play with your creativity in stills or movies using a range of Creative Filters such as Fish Eye, Miniature and Toy Camera. Enjoy exceptional quality, detailed images ideal for creating stunning poster sized prints thanks to 20.0 Megapixels and DIGIC 4+ processing. An intelligent optical Image Stabilizer ensures sharp stills and steady movies in any situation, while the 6.8 cm (2.7”) LCD screen allows easy viewing and sharing.",
- "attributes": {
- "megapixel": "20 MP",
- "sensor_type": "CCD",
- "display": "LCD",
- "digital_zoom": "4 x",
- "brand": "Canon",
- "color": "Blue"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Canon IXUS 180",
- "metaKeywords": "Canon,Entertainment Electronics",
- "metaDescription": "Effortless creativity Just point and shoot to capture fantastic photos or movies with one touch of the Auto Button, which allows Smart Auto to take control",
- "attributeNames": {
- "megapixel": "Megapixel",
- "sensor_type": "Sensor type",
- "display": "Display",
- "digital_zoom": "Digital zoom",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/011_30775359"
- },
- "relationships": {
- "product-offers": {
- "data": [
- {
- "type": "product-offers",
- "id": "offer59"
- },
- {
- "type": "product-offers",
- "id": "offer18"
- },
- {
- "type": "product-offers",
- "id": "offer59"
- },
- {
- "type": "product-offers",
- "id": "offer18"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer59",
- "attributes": {
- "productOfferReference": "offer59",
- "merchantReference": "MER000001",
- "id": "011_30775359_offer59",
- "sku": "011_30775359",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "0.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 37881,
- "netAmount": 34093,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 32940,
- "netAmount": 29646,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/011_30775359_offer59"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "011_30775359"
- }
- ]
- }
- }
- },
- {
- "type": "wishlist-items",
- "id": "011_30775359_offer18",
- "attributes": {
- "productOfferReference": "offer18",
- "merchantReference": "MER000001",
- "id": "011_30775359_offer18",
- "sku": "011_30775359",
- "availability": {
- "isNeverOutOfStock": false,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 39986,
- "netAmount": 35987,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 34770,
- "netAmount": 31293,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/011_30775359_offer18"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "011_30775359"
- }
- ]
- }
- }
- },
- {
- "type": "concrete-products",
- "id": "111_12295890",
- "attributes": {
- "sku": "111_12295890",
- "isDiscontinued": false,
- "discontinuedNote": null,
- "averageRating": null,
- "reviewCount": 0,
- "productAbstractSku": "111",
- "name": "Sony SmartWatch",
- "description": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your world’s just a tap, swipe or press away. Want to do more with your SmartWatch? Download compatible applications on Google Play™. And customise your SmartWatch to make it exclusively yours. Customise your SmartWatch with a 20mm wristband. Or wear its stylish wristband. You can even use it as a clip. This ultra-thin Android™ remote was designed to impress. An elegant Android watch that’ll keep you discreetly updated and your hands free.",
- "attributes": {
- "shape": "square",
- "bluetooth_version": "3",
- "battery_life": "72 h",
- "display_type": "LCD",
- "brand": "Sony",
- "color": "Silver"
- },
- "superAttributesDefinition": [
- "color"
- ],
- "metaTitle": "Sony SmartWatch",
- "metaKeywords": "Sony,Smart Electronics",
- "metaDescription": "Your world at your fingertips SmartWatch features an easy-to-use, ultra-responsive touch display. Finding your way around SmartWatch is super simple. Your ",
- "attributeNames": {
- "shape": "Shape",
- "bluetooth_version": "Blootooth version",
- "battery_life": "Battery life",
- "display_type": "Display type",
- "brand": "Brand",
- "color": "Color"
- },
- "productConfigurationInstance": null
- },
- "links": {
- "self": "https://glue.mysprykershop.com/concrete-products/111_12295890"
- }
- },
- {
- "type": "wishlist-items",
- "id": "111_12295890",
- "attributes": {
- "productOfferReference": null,
- "merchantReference": "MER000001",
- "id": "111_12295890",
- "sku": "111_12295890",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "20.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 19568,
- "netAmount": 17611,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 22503,
- "netAmount": 20253,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 19568,
- "netAmount": 17611,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 22503,
- "netAmount": 20253,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/13c813a3-8916-5444-9f1b-e4d8c56a085d/wishlist-items/111_12295890"
- },
- "relationships": {
- "concrete-products": {
- "data": [
- {
- "type": "concrete-products",
- "id": "111_12295890"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-
-Response sample: retrieve a wishlist with wishlist items and merchant information included
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "57c96d55-8a37-5998-927f-7bb663b69094",
- "attributes": {
- "name": "My_favourite_wishlist",
- "numberOfItems": 1,
- "createdAt": "2021-07-13 14:50:08.755124",
- "updatedAt": "2021-07-13 14:50:08.755124"
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/57c96d55-8a37-5998-927f-7bb663b69094"
- },
- "relationships": {
- "wishlist-items": {
- "data": [
- {
- "type": "wishlist-items",
- "id": "092_24495842_offer5"
- }
- ]
- }
- }
- },
- "included": [
- {
- "type": "merchants",
- "id": "MER000001",
- "attributes": {
- "merchantName": "Spryker",
- "merchantUrl": "/en/merchant/spryker",
- "contactPersonRole": "E-Commerce Manager",
- "contactPersonTitle": "Mr",
- "contactPersonFirstName": "Harald",
- "contactPersonLastName": "Schmidt",
- "contactPersonPhone": "+49 30 208498350",
- "logoUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-logo.png",
- "publicEmail": "info@spryker.com",
- "publicPhone": "+49 30 234567891",
- "description": "Spryker is the main merchant at the Demo Marketplace.",
- "bannerUrl": "https://d2s0ynfc62ej12.cloudfront.net/merchant/spryker-banner.png",
- "deliveryTime": "1-3 days",
- "faxNumber": "+49 30 234567800",
- "legalInformation": {
- "terms": "
General Terms
(1) This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
(2) We do not collect information from visitors of our site or other details to help you with your experience.
Using your Information
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
To personalize user's experience and to let us deliver the type of content and product offerings in which you are most interested.
Protecting visitor information
Our website is scanned on a regular basis for security holes and known vulnerabilities in order to make your visit to our site as safe as possible. Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
",
- "cancellationPolicy": "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day on which you acquire, or a third party other than the carrier and indicated by you acquires, physical possession of the last good. You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
- "imprint": "
Represented by Managing Directors: Alexander Graf, Boris Lokschin Register Court: Hamburg Register Number: HRB 134310
",
- "dataPrivacy": "Spryker Systems GmbH values the privacy of your personal data."
- },
- "categories": []
- },
- "links": {
- "self": "https://glue.mysprykershop.com/merchants/MER000001"
- }
- },
- {
- "type": "wishlist-items",
- "id": "092_24495842_offer5",
- "attributes": {
- "productOfferReference": "offer5",
- "merchantReference": "MER000001",
- "id": "092_24495842_offer5",
- "sku": "092_24495842",
- "availability": {
- "isNeverOutOfStock": true,
- "availability": true,
- "quantity": "10.0000000000"
- },
- "prices": [
- {
- "priceTypeName": "ORIGINAL",
- "grossAmount": 17459,
- "netAmount": 15713,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 7459,
- "netAmount": 5713,
- "currency": {
- "code": "EUR",
- "name": "Euro",
- "symbol": "€"
- }
- },
- {
- "priceTypeName": "DEFAULT",
- "grossAmount": 10000,
- "netAmount": 8070,
- "currency": {
- "code": "CHF",
- "name": "Swiss Franc",
- "symbol": "CHF"
- }
- }
- ]
- },
- "links": {
- "self": "https://glue.mysprykershop.com/wishlists/57c96d55-8a37-5998-927f-7bb663b69094/wishlist-items/092_24495842_offer5"
- },
- "relationships": {
- "merchants": {
- "data": [
- {
- "type": "merchants",
- "id": "MER000001"
- }
- ]
- }
- }
- }
- ]
-}
-```
-
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| ---------- | ----- | --------------- |
-| name | String | Wishlist name. |
-| numberOfItems | Integer | Number of items in the wishlist. |
-| createdAt | String | Creation date of the wishlist. |
-| updatedAt | String | Date when the wishlist was updated. |
-
-For the attributes of the included resources, see
-
-[Adding items to wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlist-items.html#add-an-item-to-a-wishlist)
-
-[Retrieving concrete products](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-concrete-products.html#concrete-products-response-attributes)
-
-[Retrieving concrete product availabilities](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-concrete-product-availability.html)
-
-[Retrieving concrete product prices](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-concrete-product-prices.html)
-
-[Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html)
-
-[Retrieving merchants](/docs/marketplace/dev/glue-api-guides/{{page.version}}/merchants/retrieving-merchants.html#merchants-response-attributes)
-
-## Edit a wishlist
-
-To edit a wishlist, send the request:
-
-***
-`PATCH` **/wishlists**
-***
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| ------ | ------ | ------ | -------------- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-Request sample: edit a wishlist
-
-`PATCH https://glue.mysprykershop.com/wishlists`
-
-The following sample changes the name of a wishlist.
-
-```json
-{
- "data": {
- "type": "wishlists",
- "id": "09264b7f-1894-58ed-81f4-d52d683e910a",
- "attributes": {
- "name": "birthday party"
- }
- }
- }
-```
-
-| ATTRIBUTE | TYPE | REQUIRED | DESCRIPTION |
-| ------ | ---- | ------- | ----------------------- |
-| id | string | ✓ | Unique identifier of the wishlist to update the name of. [Create a wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html#create-a-wishlist) or [retrieve all wishlists](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html) to get it. |
-| name | string | ✓ | New name of the wishlist. |
-
-### Response
-
-| ATTRIBUTE | TYPE | DESCRIPTION |
-| --------- | ---- | --------------- |
-| name | String | Name of the wishlist. |
-| numberOfItems | Integer | Number of items in the wishlist. |
-| createdAt | String | Creation date of the wishlist. |
-| updatedAt | String | Date when the wishlist was updated. |
-
-## Delete a wishlist
-
-To delete a wishlist, send the request:
-
-------
-
-`DELETE` **/wishlists/*{{wishlist_id}}***
-
-------
-
-| PATH PARAMETER | DESCRIPTION |
-| --------- | ------------------- |
-| ***{{wishlist_id}}*** | Unique identifier of the wishlist to delete. [Create a wishlist](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html#create-a-wishlist) or [retrieve all wishlists](/docs/marketplace/dev/glue-api-guides/{{page.version}}/wishlists/managing-wishlists.html) to get it. |
-
-### Request
-
-| HEADER KEY | HEADER VALUE | REQUIRED | DESCRIPTION |
-| ---------- | -------- | ----- | ----------------- |
-| Authorization | string | ✓ | Alphanumeric string that authorizes the customer to send requests to protected resources. Get it by [authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html). |
-
-Request sample:
-
-`DELETE https://glue.mysprykershop.com/wishlists/09264b7f-1894-58ed-81f4-d52d683e910a`
-
-### Response
-
-If the wishlist is deleted successfully, the endpoint returns the `204 No Content` status code.
-
-## Possible errors
-
-| CODE | REASON |
-| --- | ------------------------- |
-| 201 | Cannot find the wishlist. |
-| 202 | A wishlist with the same name already exists. |
-| 203 | Cannot create a wishlist. |
-| 204 | Cannot update the wishlist. |
-| 205 | Cannot remove the wishlist. |
-
-To view generic errors that originate from the Glue Application, see [Reference information: GlueApplication errors](/docs/scos/dev/glue-api-guides/{{page.version}}/reference-information-glueapplication-errors.html).
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/availability/availability-reference-information.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/availability/availability-reference-information.md
deleted file mode 100644
index 6a6f869c980..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/availability/availability-reference-information.md
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: "Availability: reference information"
-last_updated: Feb 02, 2021
-description: This document contains reference information for working with the Availability section in Back Office.
-template: back-office-user-guide-template
----
-
-This document includes the information you need to know when working with the **Availability** section in Back Office.
-
----
-
-## Overview page
-
-On the **Overview of Products Availability** page, you see the following:
-
-* The SKUs and names of the abstract products and SKU values are a hyperlink to this product’s **Edit** page.
-* The number of products in current stock and the number of reserved products (meaning ordered ones).
-* The identifier for the bundled product and those that are *never out of stock* (Yes/No values).
-
-{% info_block infoBox "Info" %}
-
-For multi-store projects, you can filter the products according to the store the product is available.
-
-{% endinfo_block %}
-
-{% info_block infoBox "Info" %}
-
-For the [Marketplace](/docs/marketplace/user/intro-to-spryker-marketplace/marketplace-concept.html) project, you can also filter the products according to the merchant the product belongs to.
-
-{% endinfo_block %}
-
-![merchants-switcher-on-availabilities](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Availability/availability-reference-information/merchants-switcher-on-availabilities.gif)
-
----
-
-## View product availability page
-
-On the **View Product Availability** page, you see two sections:
-
-* Abstract product availability
-* Variant availability
-
-The **Abstract Product availability** section is not modifiable. It only provides basic information. As the abstract product itself does not have any stock, the **Current Stock** value reflects the summarized value of all its variants.
-
-
-{% info_block infoBox "Info" %}
-
-The **Abstract Product** contains a drop-down list where you can select the store for which you need to view the availability of the product.
-
-{% endinfo_block %}
-
-{% info_block infoBox "Info" %}
-
-For the [Marketplace](/docs/marketplace/user/intro-to-spryker-marketplace/marketplace-concept.html) project, a merchant name is available for a specific product. The availability of a certain merchant warehouse is provided.
-
-{% endinfo_block %}
-
-Unlike the abstract product availability, the variant availability provides you with an option to edit stock. You invoke the edit stock flow from the **Actions** column. It also has the identifier of the product bundle.
-
-Both sections contain the following info:
-
-* The SKU and name of the abstract product/product variant.
-* The availability value, the number of products in the current stock, and the number of the reserved products (meaning the ordered ones).
-* The identifier for the *never out of stock* (Yes/No values).
-
----
-
-## Edit stock page
-
-The following table describes the attributes you see and enter on the **Edit Stock** page:
-
-| ATTRIBUTE | DESCRIPTION |
-|-|-|
-| Stock Type | Name of the corresponding warehouse. The field is auto-populated and is not editable. |
-| Quantity | Number of products available in the stock for a specific store and warehouse. |
-| Never out of stock | Checkbox to set the product to be always available in a specific store and warehouse. Meaning even if the quantity is set to 0, the product will still be available. This option is usually used for digital items, like gift cards, for example. |
-| Available in stores | This value is auto-populated according to your store setup and is not modifiable in UI. It just identifies for which store you define the product availability value. |
-
-## Availability calculation: example
-
-A good example of availability calculation is a product bundle.
-Let's say you have two products: a smartphone and three glass screen protectors for it. They are presented in the store as separate items but also included in a bundle.
-
-This means that a customer can either buy those separately from their product details pages or buy a "smartphone+3 glass screen protectors" bundle.
-
-Each product has its own stock and availability value if bought separately.
-But in the case of a bundle, the availability is calculated based on each item’s availability taking into account their *quantity in the bundle*.
-
-Even if each item is available on its own, but the availability does not meet the minimum quantity for a bundle (for example, there are only two glass screen protectors, but the bundle goes with three), then the whole bundle is *unavailable*.
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/creating-product-options.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/creating-product-options.md
deleted file mode 100644
index 3e9036f2e21..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/creating-product-options.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Creating product options
-last_updated: Apr 21, 2021
-description: Use this procedure to create Marketplace Product Optionsgroups and values in the Back Office.
-template: back-office-user-guide-template
----
-This document describes how to create Marketplace product options.
-
-## Prerequisites
-
-To start working with product options, go to **Catalog > Product Options**.
-
-There should be an existing tax set to apply it to the [product option group](/docs/marketplace/user/features/{{page.version}}/marketplace-product-options-feature-overview.html). For detailed instructions about creating tax sets, see [Managing tax sets](/docs/scos/user/back-office-user-guides/{{page.version}}/administration/tax-sets/managing-tax-sets.html).
-
-Each section in this article contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Creating a product option
-
-To create a product option, follow these steps:
-
-1. On the **Product option list** page, select **Create product option** in the top right corner.
- This opens the with **General Information** and **Products** tabs.
-2. On the **Create new Product Options** page, enter a **Group name translation key**.
-3. Select a **Tax set**.
-4. In the **Option Values** section, enter an **Option name translation key**.
-5. Enter a **SKU** or proceed with the auto-generated one.
-6. In the **Prices** section, enter **Gross price** and **Net price** for all the desired stores and currencies.
-7. Optional: To add one more product options value, select **Add option**, and repeat step 5.
-8. In the **Translation** section, enter **Group name** and **Option name** for all the locales.
-9. To save the changes, select **Save**.
- This refreshes the page with the success message displayed.
-10. [Assign products to the product option](#assigning-products-to-a-product-option).
-
-**Tips and tricks**
-* To remove an option value, next to the **Option name translation key** and **SKU** fields, click **Remove**.
-* To copy a **Group name** or **Option name** from one locale to another, select the **Copy** icon next to the desired value.
-
-### Reference information: Creating a product option
-
-The following table describes the attributes you enter and select while creating a product option.
-
-| ATTRIBUTE | DESCRIPTION |
-| --- | --- |
-| Group name translation key | Glossary key for the product option group. The format is `product.option.group.name.{your key}`. For example, `product.option.group.name.warranty`. |
-| Tax Set | Conditions under which the product option group is to be taxed. To learn how to create tax sets, see [Managing tax sets](/docs/scos/user/back-office-user-guides/{{page.version}}/administration/tax-sets/managing-tax-sets.html). |
-| Option name translation key | Glossary key for the product option value. The format is `product.option.{your key}`. For example, `product.option.warranty1`. |
-| SKU | Unique identifier for the product option value. This value is autogenerated based on the **Option name translation key**, and you can adjust it per your requirements.|
-| Gross price and Net price | Price values of the product option value for gross and net modes. Prices are integer values and, in the database, they are stored in their normalized form. For example, `4EUR` is stored as `400`. If you do not define a price for a product option value, it is considered *inactive* for that specific currency and price mode. If a price is `0`, it is considered *free of charge*.|
-| Group name | Option group name that's displayed on the Storefront. |
-| Option name | Option name that's displayed on the Storefront. |
-
-
-## Assigning products to a product option
-
-To assign products to a product option, follow these steps:
-1. On the **Edit product option** page, switch to the **Products** tab.
-2. Select the desired products.
-3. Select **Save**.
- This refreshes the page with the success message displayed.
-
-
-
-{% info_block infoBox "Activating product options" %}
-
-To display the product option on the Storefront, in the top right corner of the page, activate it by selecting **Activate** .
-
-{% endinfo_block %}
-
-**Tips and tricks**
-
-* To select all the products on the page, select **Deselect all on the page**. This is usually useful when you filter the products using the search field.
-* After selecting products, you can view the products to be assigned on the **Products to be assigned** subtab. To unselect a product from being assigned, select **Remove** next to the desired product.
-
-## Product option examples on the Storefront
-
-On the following example, the Warranty and Insurance are the product option groups:
-![Product option example](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Products/Products/Product+Options/Product+Options%3A+Reference+Information/product-option-example.png)
-
-And the values available in the drop-down lists are the product options:
-![Select an option](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Products/Products/Product+Options/Product+Options%3A+Reference+Information/select-option-drop-down.png)
-
-## Next steps
-
-[Managing product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html)
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/managing-product-options.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/managing-product-options.md
deleted file mode 100644
index 257bcfb516b..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/product-options/managing-product-options.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: Managing product options
-last_updated: Apr 21, 2021
-description: Use this document to manage product options in the Back Office.
-template: back-office-user-guide-template
----
-
-This document describes how to manage product options.
-
-## Prerequisites
-
-To start working with product options, go to **Catalog > Product Options**.
-
-
-Each section in this article contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-
-## Filtering product options by merchants
-
-You can view product options of all merchants or individual ones.
-
-To filter the product options by merchants, in the **Merchants** dropdown, select a merchant. The **Product options list** table will display only the product options of the selected merchant.
-
-## Viewing a product option
-
-To view a product option, select **View** next to the desired product option.
-
-## Editing general settings of a product option
-
-To edit general settings of a product option, follow these steps:
-1. Select **Edit** next to the product option you want to edit the general settings of.
-2. Update the desired settings.
-3. Select **Save**.
- This refreshes the page with the success message displayed.
-
-### Reference information: Editing general settings of a product option
-
-The following table describes the attributes you enter and select while editing product options.
-
-| ATTRIBUTE | DESCRIPTION |
-| --- | --- |
-| Group name translation key | Glossary key of the product option group. You can enter this value only when [creating product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html). |
-| Tax Set | Conditions under which the product option group is taxed. To learn how to create tax sets, see [Managing tax sets](/docs/scos/user/back-office-user-guides/{{page.version}}/administration/tax-sets/managing-tax-sets.html). |
-| Option name translation key | Glossary key for the product option value. You can enter this value only when [creating product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html). |
-| SKU | Unique identifier of the product option value. You can enter this value only when [creating product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html). |
-| Gross price and Net price | Price values of the product option value for gross and net modes. Prices are integer values and, in the database, they are stored in their normalized form. For example, `4EUR` is stored as `400`. If you do not define a price for a product option value, it is considered *inactive* for that specific currency and price mode. If a price is `0`, it is considered *free of charge*.|
-| Group name | Option group name that's displayed on the Storefront. |
-| Option name | Option name that's displayed on the Storefront. |
-
-
-## Assigning products to a product option
-
-To assign products to a product option, follow these steps:
-1. Select **Edit** next to the product option you want to assign product to.
-2. On the **Edit product option** page, switch to **Products** tab.
-3. Select the desired products.
-4. Select **Save**
- This refreshes the page with the success message displayed.
-
-**Tips and tricks**
-* To select all the products on the page, select **Deselect all on the page**. This is usually useful when you filter the products using the search field.
-* After selecting products, you can view the products to be assigned in the **Products to be assigned** subtab. To unselect a product from being assigned, select **Remove** next to the desired product.
-
-## Deassigning products from a product option
-
-To deassign products from a product option, follow these steps:
-1. Select **Edit** next to the product option you want to deassign product from.
-2. On the **Edit product option** page, switch to **Products > Assigned products** subtab.
-3. Clear the desired products.
-4. Select **Save**.
- This refreshes the page with the success message displayed.
-
-**Tips and tricks**
-* To clear all the products on the page, select **Deselect all on the page**. This is usually useful when you filter the products using the search field.
-* After clearing the products, you can view the products to be deassigned on the **Products to be deassigned** subtab. To unselect a product from being deassigned, select **Remove** next to the desired product.
-
-## Activating and deactivating a product option
-
-To activate a product option, select **Activate** next to the desired product option.
-
-To deactivate a product option, select **Dectivate** next to the desired product option.
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-product-reference-information.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-product-reference-information.md
deleted file mode 100644
index 8a32a8dcdac..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-product-reference-information.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: "Abstract product: reference information"
-last_updated: Apr 19, 2021
-description: This document contains reference information for creating and editing concrete and abstract products.
-template: back-office-user-guide-template
----
-
-## Create/edit abstract product
-
-The following tables describe the attributes that you use when creating and editing concrete and abstract products.
-
-{% info_block infoBox "Info" %}
-
-The set of tabs for the **Create** and **Edit** pages, as well as for abstract and concrete products, is different. Hence, the additional columns with identifiers are added for your convenience.
-
-{% endinfo_block %}
-
-### General tab
-
-| ATTRIBUTE | DESCRIPTION | CREATE ABSTRACT PRODUCT | UPDATE ABSTRACT PRODUCT |
-|-|-|-|-|
-| Store relation | Defines the store for which the product can be available. You can select multiple values. | Yes | Yes |
-| SKU Prefix | Number that you assign to the product will help track unique information related to that product. | Yes | Display Only |
-| Name | Name of your product that is displayed in the online store for your customers. | Yes | Yes |
-| Description | Description of the product that your customer sees in the online store. | Yes | Yes |
-| New from New to | Defines the period of time for which a dynamic label New will be assigned to the product. Either no dates can be selected, or both. | Yes | Yes |
-
-### Price & Stock tab
-
-| ATTRIBUTE | DESCRIPTION | CREATE ABSTRACT PRODUCT | UPDATE ABSTRACT PRODUCT |
-|-|-|-|-|
-| Merchant Price Dimension | **B2B Only** Allows selecting a merchant relation and setting up a specific price for a specific merchant. If the Default value is selected, the prices will be the same for everyone. The values available for selection derive from [Marketplace > Merchant Relations](/docs/scos/user/back-office-user-guides/{{page.version}}/marketplace/merchant-relations/edit-merchant-relations.html). Only one value can be selected. | Yes | Yes |
-| Gross price Net price | Price value for gross and net mode. The price you populate is inherited by all product variants you add during the abstract product creation. | Yes | Yes |
-| Default Original | Default prices are prices your customers will pay, whereas original prices are the "previous price" in case you want to display promotions. If you specify only a default price, it will be displayed just like a normal product price. However, if both prices are specified, the original one will appear crossed out in the shop. | Yes | Yes |
-| Add Product Volume Price Edit Product Volume Price | Once selected, the *Add volume price* (*Edit volume price*) page opens. This option lets you define specific prices for a specific quantity of products that a customer selects. It works only in the case of Default prices. The **Add Product Volume Price** button appears only when the gross and/or net prices for a store are set up beforehand and saved. *Edit Product Volume Price* appears only if the volume price has already been set up for a currency. | No | Yes |
-| Tax Set | Conditions under which a product is going to be taxed. The values available for selection derive from [Taxes > Tax Sets]/docs/scos/user/back-office-user-guides/{{page.version}}/administration/tax-sets/managing-tax-sets.html). Only one value can be selected. | Yes | Yes |
-
-### Variants tab
-
-{% info_block infoBox "Info" %}
-
-No values are available for selection when you create a product bundle. When you create a bundle, one product variant will be added by default.
-
-{% endinfo_block %}
-
-* *While creating* an abstract product, you see a list of super attributes that derive from [Catalog > Attributes](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/attributes/managing-product-attributes.html). You can select as many super attributes as you need and define from one to many values for them (those values will define the difference between the product variants). Please keep in mind that moving forward, you will be able to create product variants only based on the selected super attributes. To add more product variants in the future, add at least one super attribute and define at least one value for it.
-
-* *While editing the abstract product/product bundle*, you see a table that displays the product variants that exist for this abstract product. From this page, you can view, edit, and manage attributes [for the product variant](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/attributes/managing-product-attributes.html).
-
-### SEO tab
-
-| ATTRIBUTE | DESCRIPTION | CREATE ABSTRACT PRODUCT | UPDATE ABSTRACT PRODUCT |
-|-|-|-|-|
-| Title | Meta title for your product. | Yes | Yes |
-| Keywords | Meta keywords for your product. | Yes | Yes |
-| Description | Meta description for your product. | Yes | Yes |
-
-### Image tab
-
-| ATTRIBUTE | DESCRIPTION | CREATE ABSTRACT PRODUCT | UPDATE ABSTRACT PRODUCT |
-|-|-|-|-|
-| Image Set Name | Name of your image set. | Yes | Yes |
-| Small | Link of the image that is going to be used in the product catalogs. | Yes | Yes |
-| Large | Link to the image that is going to be used on the product details page. | Yes | Yes |
-| Sort Order | If you add several images to an active image set, specify the order in which they are to be shown in the frontend and backend using the *Sort Order* fields. The order of the images is defined by order of entered numbers where the image set with the sort order "0" is the first to be shown. | Yes | Yes |
-
-## Scheduled Prices tab
-
-On this tab, there is a table with the scheduled prices imported via a CSV file. The following information is available:
-
-* Currency, store, net, and gross price values.
-
-* *Start from* (included) and *Finish at* (included) values that identify a period of time when a specific price is going to be set for a product automatically.
-
-## View Abstract Product page
-On this page, you can view all the information entered while creating or editing an abstract product.
-
-{% info_block infoBox "Info" %}
-
-For the [Marketplace](/docs/marketplace/user/intro-to-spryker-marketplace/marketplace-concept.html) projects, you can check what merchant owns the product on this page.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/creating-abstract-products.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/creating-abstract-products.md
deleted file mode 100644
index 67a4d0ed9ba..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/creating-abstract-products.md
+++ /dev/null
@@ -1,149 +0,0 @@
----
-title: Creating abstract products
-last_updated: Jul 27, 2021
-description: This guide explains how to create abstract products in Marketplace.
-template: back-office-user-guide-template
----
-
-## Prerequisites
-
-To start working with products:
-1. To create product variants of abstract products, [create at least one super attribute](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/attributes/creating-product-attributes.html).
-2. Go to **Catalog > Products**.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-{% info_block warningBox "Warning" %}
-
-You can add super attributes to product variants only when creating an abstract product.
-
-{% endinfo_block %}
-
-{% info_block errorBox "Create at least one product variant" %}
-
-To be able to add product variants after creating an abstract product, add at least one product variant while creating the abstract product.
-
-{% endinfo_block %}
-
-
-## Defining general settings
-
-To create an abstract product:
-1. In the top right corner, click **+Create Product**.
-The **Create a Product** page opens.
-2. On the **General** tab, define general settings:
- 1. Select one or more **Store relations**.
- 2. In **SKU Prefix**, enter an SKU prefix.
- 3. In **Name** and **Description**, enter a name and description for all the locales.
- 4. Optional: Select **New from** and **New to** dates.
- 5. Click **Next >** and follow [Defining prices](#defining-prices).
- This opens the **Prices & Tax** tab.
-
-### Reference information: Defining general settings
-
-The following table describes the attributes you enter and select when defining general settings.
-
-| ATTRIBUTE | DESCRIPTION |
-| --- | --- |
-| Store relation | Defines the [stores](/docs/scos/dev/tutorials-and-howtos/howtos/howto-set-up-multiple-stores.html) the product will be available in. You can select multiple values. |
-| SKU Prefix | Unique product identifier that will be used to track unique information related to the product. |
-| Name | Name that will be displayed for the product on the Storefront. |
-| Description | Description that will be displayed for the product on the Storefront. |
-| New from New to | Defines the period of time for which:
A [dynamic product label](/docs/scos/user/features/{{page.version}}/product-labels-feature-overview.html) *New* will be assigned to the product.
The product will be assigned to the *New* [category](/docs/scos/user/features/{{page.version}}/category-management-feature-overview.html)
You can either select no dates or both. |
-
-
-## Defining prices
-
-On the **Prices & Tax** tab, define prices:
- 1. B2B Shop: Optional: To define prices for a merchant, select a **Merchant Price Dimension**.
- 2. Enter **DEFAULT** prices for all the desired locales and currencies.
- 3. Optional: To display promotions, enter **ORIGINAL** prices for the desired locales and currencies.
- 4. Select a **Tax Set**.
- 5. Select **Next >** and follow [Defining product variants](#defining-product-variants).
- This opens the **Variants** tab.
-
-
-### Reference information: Defining prices
-
-The following table describes the attributes you enter and select when defining prices.
-
-| ATTRIBUTE |DESCRIPTION |
-| --- | --- |
-|Merchant Price Dimension| B2B only Defines the [merchant](/docs/scos/user/features/{{page.version}}/merchant-custom-prices-feature-overview.html) the prices will apply to. If you select **Default prices**, the prices will apply to all customers. To [manage merchant relations](/docs/scos/user/back-office-user-guides/{{page.version}}/marketplace/merchant-relations/edit-merchant-relations.html) go to **Marketplace > Merchant Relations**. |
-| Gross price Net price | Gross and net value of the product. A gross prices is a price after tax. A net price is a price before tax. If a product variant of the abstract product does not have a price, it [inherits](/docs/marketplace/user/features/{{page.version}}/marketplace-product-feature-overview.html) the price you enter here. |
-|Default Original | Default price is the price a customer pays for the product. An original price is a price displayed as a strikethrough beside the default price on the Storefront. The original price is optional and is usually used to indicate a price change. |
-| Tax Set | Conditions under which the product will be taxed. To [manage tax sets](/docs/scos/user/back-office-user-guides/{{page.version}}/administration/tax-sets/managing-tax-sets.html), go to **Taxes** > **Tax Sets**.|
-
-## Defining product variants
-
-On the **Variants** tab, define product variants:
- 1. Select one or more super attributes that define your product variants.
- 2. In the field next to the super attribute you've selected, select one or more product attribute values.
- 3. Repeat the previous step until you select at least one value for each selected super attribute.
- 4. Select **Save** and follow [Defining meta information](#defining-meta-information).
- The page refreshes with the created product variants displayed in the table.
-
- ![Defining product variants](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+user+guide/Catalog/Products/Abstract+products/Creating+abstract+products/defining-product-variants.gif)
-
-### Reference information: Defining product variants
-
-On the **Variants** tab, you can see all the existing [super attributes](/docs/scos/user/features/{{page.version}}/product-feature-overview/product-attributes-overview.html#super-attributes). You can [create](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/attributes/creating-product-attributes.html) or [manage](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/attributes/managing-product-attributes.html) super attributes in **Catalog > Attributes**.
-
-You can select as many super attributes as you need and define one or more values for them. For each product attribute value you select, a product variant will be created. After creating the abstract product, you will be able to create new product variants based on the super attributes you select when creating the abstract product.
-
-## Defining meta information
-
-Optional: Add meta information:
-1. Switch to the **SEO** tab.
-2. Enter the following for the desired locales:
- * **Title**
- * **Keywords**
- * **Description**
-2. Select **Save** and follow [Adding images](#adding-images).
-
-### Reference information: Defining meta information
-
-The following table describes the attributes you enter and select when defining meta information.
-
-| ATTRIBUTE |DESCRIPTION |
-| --- | --- |
-|Title| Meta title that will be used for the abstract product.|
-|Keywords| Meta keywords that will be used for the abstract product. |
-|Description| Meta description that will be used for the abstract product.|
-
-
-## Adding images
-
-Optional: Add images for the product:
-1. Click on the **Image** tab.
-2. Select a locale you want to add images for.
-3. Select **Add image set**.
-4. Enter an **Image Set Name**.
-5. Repeat steps *2* and *3* until you add the desired number of image sets.
-6. In the desired image set, enter the following:
- * **Small Image URL**
- * **Large Image URL**
- * **Sort order**
-7. Optional: Select **Add image** and repeat the previous step until you add all the desired images for this locale.
-8. Repeat steps *1* to *6* until you add images for all the desired locales.
-9. Select **Save**.
-The page refreshes with the success message displayed.
-
-### Reference information: Adding images
-
-The following table describes the attributes you enter and select when adding images.
-
-| ATTRIBUTE |DESCRIPTION |
-| --- | --- |
-| *Default* locale | Images from this locale will be displayed for the product in the locales images are not added for. |
-| Image Set Name | Name of image set.|
-| Small | Link to the image that will be displayed for the product in product catalogs.|
-|Large| Link to the image that will be displayed for the product on the *Product details* page. |
-|Sort Order| Arrenges the images displayed for the product in an ascending order. The smalles number is `0`. |
-
-**Tips and tricks**
- To delete an image set with all its pictures, select **Delete image set**.
-
-## Next steps
-
-[Edit abstract products](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/products/abstract-products/editing-abstract-products.html)
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/editing-abstract-products.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/editing-abstract-products.md
deleted file mode 100644
index 11017fea86d..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/abstract-products/editing-abstract-products.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-title: Editing abstract products
-last_updated: Jul 27, 2021
-description: This guide explains how to edit abstract products in Marketplace.
-template: back-office-user-guide-template
----
-
-This document describes how to edit abstract products.
-
-## Prerequisites
-
-To start working with abstract products, go to **Catalog > Products**.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Editing general settings of an abstract product
-
-To edit general settings of an abstract product:
-
-1. Next to the product you want to edit, select **Edit**.
- This takes you to the **Edit Product Abstract [SKU]** page.
-2. On the **General** tab, update **Store relations**.
-3. Update **Name** and **Description** for the desired locales.
-4. Update **New from** and **New to** dates.
-5. Select **Save**.
-
-### Reference information: Editing general settings of an abstract product
-
-The following table describes the attributes you enter and select when editing general settings of an abstract product.
-
-| ATTRIBUTE | DESCRIPTION |
-| --- | --- |
-| Store relation | Defines the [stores](/docs/scos/dev/tutorials-and-howtos/howtos/howto-set-up-multiple-stores.html) the product is available in. You can select multiple values. |
-| SKU Prefix | Unique product identifier that helps to track unique information related to the product. |
-| Name | Name that's displayed for the product on the Storefront. |
-| Description | Description that's displayed for the product on the Storefront. |
-| New from New to | Defines the period of time for which:
A [dynamic product label](/docs/scos/user/features/{{page.version}}/product-labels-feature-overview.html) *New* is assigned to the product.
The product is assigned to the *New* [category](/docs/scos/user/features/{{page.version}}/category-management-feature-overview.html).
You can either select no dates or both. |
-
-## Editing prices of an abstract product
-
-To edit prices of an abstract product:
-
-1. Next to the product you want to edit, select **Edit**.
-2. On the **Edit Product Abstract [SKU]** page, click on the **Prices & Tax** tab.
-3. B2B Shop: Select a **Merchant Price Dimension**.
-4. Enter **DEFAULT** prices for the desired available locales and currencies.
-5. Optional: Enter **ORIGINAL** prices for the desired available locales and currencies.
-6. Select the **Tax Set**.
-7. Select **Save**.
-
-### Reference information: Editing prices of an abstract product
-
-The following table describes the attributes you enter and select when editing prices of an abstract product.
-
-| ATTRIBUTE | DESCRIPTION |
-| --- | --- |
-|Merchant Price Dimension| B2B only Defines the [merchant](/docs/scos/user/features/{{page.version}}/merchant-custom-prices-feature-overview.html) the prices apply to. If **Default prices** is selected, the prices apply to all customers. To [manage merchant relations](/docs/scos/user/back-office-user-guides/{{page.version}}/marketplace/merchant-relations/edit-merchant-relations.html) go to **Marketplace > Merchant Relations**. |
-| Gross price Net price | Gross and net value of the product. A gross prices is a price after tax. A net price is a price before tax. If a product variant of the abstract product does not have a price, it [inherits](/docs/marketplace/user/features/{{page.version}}/marketplace-product-feature-overview.html) the price you enter here. |
-|Default Original| A default price is the price a customer pays for the product. An original price is a price displayed as a strikethrough beside the default price on the Storefront. The original price is optional and is usually used to indicate a price change. |
-|Add Product Volume Price Edit Product Volume Price| This option lets you define the prices that are based on the quantity of products that a customer selects. Works only with the default prices. Add Product Volume Price appears only when the price for a currency was set up and saved. Edit Product Volume Price appears only what the volume price was already set up for a currency.||✓|
-|Tax Set|The conditions under which a product is going to be taxed. The values available for selection derive from **Taxes > Tax Sets** Only one value can be selected.|
-
-## Editing volume prices of an abstract product
-
-To edit volume prices of an abstract product:
-
-1. Next to the product you want to edit add volume prices of, select **Edit**.
-2. On the **Edit Product Abstract [SKU]** page, switch to the **Price & Tax** tab.
-3. Next to the store you want to edit volume prices for, select **> Edit Product Volume Price**.
-4. On the **Add volume prices** page, enter a **Qunatity**.
-5. Enter a **Gross price**.
-6. Optional: Enter a **Net price**.
-7. Optional: To add more volume prices than the number of the rows displayed on the page, select **Save and add more rows**.
-8. Repeat steps 4 to 7 until you edit all the desired volume prices.
-9. Select **Save and exit**. This opens the **Edit Product Abstract [SKU]** page with the success message displayed.
-
-
-
-## Editing product variants of an abstract product
-
-To edit a product variant, see [Editing product variants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/products/abstract-products/editing-abstract-products.html#editing-product-variants-of-an-abstract-product).
-To create a product variant, see [Creating product variants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/products/concrete-products/creating-product-variants.html).
-
-## Editing meta information of an abstract product
-
-To edit meta information:
-1. Next to the product you want to edit, select **Edit**.
-2. On the **Edit Product Abstract [SKU]** page, switch to the **SEO** tab.
-3. Update the following for the desired locales:
- * **Title**
- * **Keywords**
- * **Description**
-4. Select **Save**. The page refreshes with the success message displayed.
-
-### Reference information: Editing meta information of an abstract product
-
-The following table describes the attributes you enter and select when editing meta information of an abstract product.
-
-| ATTRIBUTE | DESCRIPTION |
-| --- | --- |
-|Title|Meta title for your product.|
-|Keywords|Meta keywords for your product.|
-|Description|Meta description for your product.|
-
-## Editing product images of an abstract product
-
-To edit product images:
-1. Next to the product you want to edit, select **Edit**.
-2. On the **Edit Product Abstract [SKU]** page, switch to the **Image** tab.
-3. Select a locale you want to update images for.
-4. Update images:
- * To add a new image set, select **Add image set**
- * To add a new image, select **Add image**.
- * To update an image, update the following:
- * **Small Image URL**
- * **Large Image URL**
- * **Sort order**
- * To delete large and small images, select **Delete image**.
- * To delete an image set with its images, select **Delete image set**.
-5. Repeat step *4* until you update images for all the desired locales.
-6. Select **Save**. The page refreshes with the success message displayed.
-
-### Reference information: Editing product images of an abstract product
-
-The following table describes the attributes you enter and select when editing product images of an abstract product.
-
-| ATTRIBUTE | DESCRIPTION |
-| --- | --- |
-|Image Set Name |Name of your image set.|
-|Small |Link of the image that is going to be used in the product catalogs.|
-|Large |Link to the image that is going to be used on the product details page.|
-|Sort Order |If you add several images to an active image set, specify the order in which they are to be shown in the frontend and backend using **Sort Order** fields. The order of images is defined by the order of entered numbers where the image set with sort order "0" is the first to be shown.|
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/concrete-products/creating-product-variants.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/concrete-products/creating-product-variants.md
deleted file mode 100644
index a3e72d7d334..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/concrete-products/creating-product-variants.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: Creating product variants
-last_updated: Jul 27, 2021
-description: This guide explains how to create product variants in Marketplace.
-template: back-office-user-guide-template
----
-
-This document describes how to add a product variant for an abstract product.
-
-## Prerequisites
-
-To create a product variant, navigate to **Catalog > Products** section.
-
-Review the reference information before you start, or look up the necessary information as you go through the process.
-
-## Creating a product variant
-
-To create a product variant:
-
-1. Next to the abstract product you want to create a variant for, select **Edit**.
-2. On the **Edit Abstract** page, select **Add Variant**.
-3. On the **General** tab, do the following:
- 1. Define a **SKU**:
- * Enter a **SKU**. OR
- * Select **Autogenerate SKU**.
- 2. Under **Super attributes**, define one or more super attributes:
- * Select a value.
- * Select **Use custom value** and, in the field the appears below, enter the value.
- 3. Add product name and description and select **Searchable** if you want your product to be searchable by its name in the online store.
- 4. Optional: Enter **Valid From** and **Valid To** dates to specify when the product should go online in the web-shop.
- 5. Go to the **Price & Stock** tab.
-4. On the **Price & Tax** tab, set prices and taxes for products:
- 1. To take the prices over from the abstract product, select **Use prices from abstract product**.
-
- {% info_block warningBox "Note" %}
-
- The merchant relation prices are inherited by Product Variants as well.
-
- {% endinfo_block %}
-
- 2. Otherwise, enter Original and eventually Default prices for the product for Gross and Net price modes.
- 3. **B2B only:** In **Merchant Price Dimension**, select the merchant relationship to define a special price per merchant relation.
- 4. Select **Quantity** for the product and then select **Never out of stock** if you want the product to never go out of stock.
-5. Optional: Click **Next** to go to **Image** to add images for the product and define the image order.
-6. Optional: Click **Next** of select the **Assign bundled products** tab to create a bundles product. For more information, see [Creating and managing product bundles](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/products/manage-abstract-products/creating-abstract-products-and-product-bundles.html).
-7. Click **Save**.
-The page is refreshed and you can see two additional tabs: *Discontinue* and* Product Alternatives*. See [Discontinuing products](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/products/manage-concrete-products/discontinuing-products.html) and [Adding product alternatives](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/products/manage-concrete-products/adding-product-alternatives.html) to know more.
-
-{% info_block errorBox "Important" %}
-
-To make sure your product will be shown and searchable in your online store, we highly recommend you to go through the checklist in [HowTo - Make a Product Searchable and Shown on the Storefront](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/howto-make-a-product-searchable-and-shown-on-the-storefront.html).
-
-{% endinfo_block %}
-
-### Reference information: Creating a product variant
-
-This section describes the attributes you enter and select when creating a product variant.
-
-#### General tab
-
-| ATTRIBUTE |DESCRIPTION | CREATE CONCRETE PRODUCT | UPDATE CONCRETE PRODUCT|
-| --- | --- | --- | --- |
-|Store relation | Defines the store for which the product can be available. You can select multiple values. | **No**|**No**|
-| SKU Prefix | A number that you assign to the product will help to track unique information related to that product. | **Yes**|**Display Only**|
-| Autogenerate SKU | Allows the system to autogenerate the SKU once you click **Save**. | **Yes**|**No**|
-| Super Attributes | This section is only available if you have added more than one super attribute and defined more than one value for it. For example, if you selected the **color** to be a super attribute and defined **green**, **white**, and **black**, you will see "**color**" in this section and a drop-down with the colors you defined. Only one value can be selected. |**Yes**|**No**|
-| Name | The name of your product that will be displayed in the online store for your customers. | | **Yes**|**Yes** |
-| Description | The description of the product that your customer sees in the online store. | **Yes** |**Yes** |
-| Searchable | A checkbox that defines if the concrete product can be searched via the Search function in the online store. If not selected, no values will be displayed when searching for this product. | **Yes** | **Yes**|
-| Valid from Valid to | Defines the period of time when the product is in active state. The **Valid from** date triggers the activation, while the **Valid to** date triggers the deactivation. Either no dates can be selected, or both. |**Yes** |**Yes** |
-
-
-#### Price & Stock tab
-
-| ATTRIBUTE |DESCRIPTION | CREATE CONCRETE PRODUCT | UPDATE CONCRETE PRODUCT|
-| --- | --- | --- | --- |
-|Use prices from abstract product|Once the checkbox is selected, the prices from the abstract product are taken over.|**Yes**|**No**|
-|Merchant Price Dimension|**B2B Only** The drop-down list that lets you select a merchant relation and set up a specific price for a specific merchant. If the Default value is selected, the prices will be the same for everyone. The values available for selection derive from **Merchants > Merchant Relations**. Only one value can be selected.|**Yes**|**Yes**|
-| Gross price Net price | The price value for gross and net mode. For concrete products, the prices are inherited from their abstract product and can be updated while editing the concrete product.|**Yes** |**Yes** |
-|Default Original|Default prices are the prices your customers will pay, whereas original prices are the "previous prices" in case you want to display promotions. If you specify only a default price, it will be displayed just like a normal product price. However, if both prices are specified, the original one will appear crossed out in the shop.|**Yes**|**Yes**|
-|Add Product Volume Price Edit Product Volume Price|Once selected, the Add volume price (Edit volume price) page opens. This option lets you define specific prices for a specific quantity of products that a customer selects. Works only in case of Default prices. **Add Product Volume Price** appears only when the price for a currency was set up and saved. **Edit Product Volume Price** appears only what the volume price was already set up for a currency.|**No**|**Yes**|
-|(Stock) Type|Display-only field that displays warehouses according to your store|**Yes**|**Yes**|
-|(Stock) Quantity|The number of items available in the warehouse.|**Yes**|**Yes**|
-|(Stock) Never out of stock|The checkbox that once selected will make the product always available to be purchased.|**Yes**|**Yes**|
-
-
-#### Image tab
-
-| ATTRIBUTE |DESCRIPTION | CREATE CONCRETE PRODUCT | UPDATE CONCRETE PRODUCT|
-| --- | --- | --- | --- |
-|Image Set Name|The name of your image set.|**Yes**|**Yes**|
-|Small|The link of the image that is going to be used in the product catalogs.|**Yes**|**Yes**|
-|Large|The link to the image that is going to be used on the product details page.|**Yes**|**Yes**|
-|Sort Order|If you add several images to an active image set, specify the order in which they are to be shown in the frontend and backend using Sort Order fields. The order of images is defined by the order of entered numbers where the image set with sort order "0" is the first to be shown.|**Yes**|**Yes**|
-
-#### Discontinue tab
-
-Available on the Edit page only.
-Once you select to discontinue the product, you can add a note about that on this tab.
-
-
-#### Product Alternatives tab
-
-The only field available is **Add Product Alternative by Name or SKU**. Here it is enough to enter three characters of a product name or SKU to see the autosuggested product list. From one to many values can be selected. If there is no need to set up an alternative product, you can skip this tab.
-
-**What's next?**
-
-Once you have set things up, you will most likely need to know what managing actions you can do with your products. See articles in the [Managing products](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/products/managing-products/managing-products.html) section.
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/managing-products/managing-products.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/managing-products/managing-products.md
deleted file mode 100644
index 0b61bee4e77..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/managing-products/managing-products.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Managing products
-last_updated: Jul 28, 2021
-description: This guide explains how to manage abstract and concrete products in Marketplace.
-template: back-office-user-guide-template
----
-
-This document describes how to manage abstract and concrete products.
-
-To start managing products, go to **Catalog > **Products**.
-
-## Activating a product
-
-The abstract product is inactive until at least one product variant is activated. You should understand that there is no option to activate
-
-To activate a product:
-1. Navigate to the product variant of the product that you want to activate: **Edit abstract product > Variant > Edit product variant**.
-2. Click **Activate** on the top of the **Edit Concrete Product** page.
-Starting now, the product is visible to the customers of your online store.
-
-{% info_block infoBox "Note" %}
-
-Each variant needs to be activated to be visible to your customers.
-
-{% endinfo_block %}
-
-**Tips and tricks**
- If you want to hide the product variant from your customers at some point of time, you just deactivate it using the same procedure described above. This deactivates only the product variant. The abstract product is active until at least one its variant is active.
-
-## Viewing a product
-
-To review the product details without actually editing them, do the following:
-1. In the **Actions** column of the abstract product you want to view, click **View**.
-2. On the **View Product** page, you can navigate to the view product variant, initiate the editing flow for it, or manage its attributes.
-
-**Tips and tricks**
- If you notice something you would like to change for your product, in the top right corner of the page, click **Edit**.
-
-### Filtering product options by merchants
-
-You can view product options of all merchants or individual ones.
-To filter the product options by merchants, in the **Merchants** dropdown, select a merchant. The **Product options list** table will display only the product options of the selected merchant.
-
-## Managing product attributes
-
-When you see the **Manage Attributes** option, keep in mind that you manage the attributes like brand but not the super attributes. Such attributes like brand do not define the product variants differentiation, meaning they are not used while defining the concrete products of an abstract product. They rather go to the details section on the product details page in your online store. You can manage attributes for both abstract and concrete products.
-
-{% info_block infoBox "Info" %}
-
-The attributes that you add are taken from the **Products > Attributes** section of the Back Office. So the attribute you want to define should exist in that section.
-
-{% endinfo_block %}
-
-To manage the product attributes:
-1. Select the **Manage Attributes** option for the concrete or abstract product in the **Actions** column or from the top right corner of the **Edit** page.
-2. On the **Manage Attributes for Product** page, start typing the first three letters of the attribute key.
-3. Select the suggested value and click **Add**.
-4. In the **Attributes** section, define the **Default** value for your attributes and specify the value for the **locales**.
-Repeat the procedure if needed.
-5. Once done, click **Save**.
-Check the **References** section to see the examples of how the attributes look like.
-
-**What's next?**
- Review the other articles in the **Products** section to know more about product management. Also, review the **References** section to learn more about the attributes you see, select, and enter on the product pages.
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/products-reference-information.md b/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/products-reference-information.md
deleted file mode 100644
index a30d5e3607d..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/catalog/products/products-reference-information.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: "Products: reference information"
-last_updated: Feb 02, 2021
-description: This document describes the attributes that you see and enter on different product's pages.
-template: back-office-user-guide-template
-
----
-
-This document describes the attributes that you see and enter on different product pages.
-
----
-
-## Products page
-
-On the **Products** page, you see the following:
-
-* Product ID (autogenerated), name, and SKU.
-* The tax set applied to this product.
-* The number of variants this product has.
-* The status of the product (active/inactive).
-* Product type (product, gift card, product bundle).
-* Stores where the product is available (in case you have multiple stores in your project).
-
-{% info_block infoBox "Info" %}
-
-For the [Marketplace](/docs/marketplace/user/intro-to-spryker-marketplace/marketplace-concept.html) project, you can also filter the products belonging to a certain Merchant:
-
-{% endinfo_block %}
-
-
-![merchants-switcher-on-products](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Marketplace/products/products-reference-information/merchants-switcher-on-products.gif)
-
-{% info_block infoBox "Info" %}
-
-Upon entering the page, all merchants are enabled by default.
-
-{% endinfo_block %}
-
----
-
-A set of the following examples will help you understand what your online store customers will see once you set up volume prices, product alternatives, original and default prices, and discontinue a product. You will also find an example of a product bundle.
-
----
-
-## Volume prices
-
-Let's say you have a product that you want to sell at a special price if a user wants to buy a specific number of the same product. For example, a Smartphone with a flash memory equals 16GB costs 25 Euros per item, but you have defined that if a user buys three items, the cost will be 23 Euros instead of 25.
-
-![volume-prices](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Products/Products/Managing+products/Products:+Reference+Information/Volume-prices.gif)
-
-## Discontinued products and their alternatives
-
-Let's say the Smartphone with a flash memory equals 16GB is no longer popular, and it is more efficient for you to discontinue it. But you need to propose some replacements for it to make sure that the user journey is successful. You discontinue this product variant and set up other products to be displayed as alternatives.
-
-![discontinued-and-alternative](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Products/Products/Managing+products/Products:+Reference+Information/Discontinued-and-Alternative.gif)
-
-## Product bundles
-
-Let's say you want to simplify the user journey and allow buying a bundle of products that are commonly used together (for example, pens, notebooks, copy paper, and other stationery). You create a bundle for that purpose.
-
-![bundle](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Products/Products/Managing+products/Products:+Reference+Information/Bundle.gif)
-
-## Default and original prices
-
-If you want to display the price difference to show what the price was before and how it changed, you add both, Default and Original prices. The default prices are displayed in the online store as a current price, while the original one is displayed strikethrough.
-
-![default-and-original-prices](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Products/Products/Managing+products/Products:+Reference+Information/default-and-original-prices.gif)
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchant-users.md b/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchant-users.md
deleted file mode 100644
index 60200c7337f..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchant-users.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: Managing merchant users
-last_updated: Apr 23, 2021
-description: This guide explains how Marketplace administrator can manage merchant users in the Back Office.
-template: back-office-user-guide-template
----
-
-A merchant user is a user that performs tasks on behalf of the merchant in the Merchant Portal. Marketplace administrator can manage merchant users in the Back Office.
-
----
-
-## Prerequisites
-
-To start managing merchant users:
-1. Navigate to the **Marketplace > Merchants**.
-2. Next to the merchant you want to create a merchant user for, click **Edit** in the **Actions** column. You are taken to the **Edit Merchant: [Merchant ID]** page.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Creating a merchant user
-
-{% info_block infoBox "Info" %}
-
-To create a merchant user, create a merchant first.
-
-{% endinfo_block %}
-
-To create a merchant user, do the following:
-
-1. On the **Edit Merchant [Merchant ID]** page, go to the **Users** tab.
-
-2. Click **+Add New User**.
-
-3. Fill in the required information.
-
-4. Click **Create**.
-
-By default, each merchant user obtains the role of Merchant Portal Administrator. To change it, [edit the Back Office](/docs/scos/user/back-office-user-guides/{{page.version}}/users/managing-users/editing-users.html) user record.
-
-### Reference information: Creating a merchant user
-
-This section contains the attributes description you see when creating a merchant user.
-
-#### Users tab
-
-On the **Users** tab, you see a table with all the merchant users available for the merchant. The following information is included in the table:
-* Merchant user ID
-* Email
-* First Name
-* Last Name
-* Merchant user status
-* Actions
-
-![merchant-users-page](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Marketplace/Merchants/merchant-users-page.png)
-
-#### Create Merchant user page
-
-The following table describes the attributes you enter and select when creating merchant users.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Email | Text field where you specify the email address of the merchant user. The email with the reset password instructions will be sent to this email address. | ✓ |
-| First name | Text field where you specify the first name of the merchant user. | ✓ |
-| Last name | Text field where you specify the last name of the merchant user. | ✓ |
-
-## Editing the merchant user
-
-To edit a merchant user, do the following:
-
-1. On the **Edit Merchant** page, on the **Users** tab, click **Edit** for a merchant user you want to edit.
-
-On the **Edit Merchant user** page, edit the merchant user details.
-
-### Reference information: Editing a merchant user
-
-The following table describes the attributes you enter and select when editing merchant users.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Email | Text field where you specify the email address of the merchant user. The email with the reset password instructions will be sent to this email address. | ✓ |
-| First name | Text field where you specify the first name of the merchant user. | ✓ |
-| Last name | Text field where you specify the last name of the merchant user. | ✓ |
-| Status | Drop-down menu where you can update the status of the merchant user. Can be: Active, Blocked, Deleted. | ✓ |
-
-## Activating and deactivating the merchant users
-
-Once the merchant user is created, they need to be activated in order to be able to access the Merchant Portal.
-
-{% info_block infoBox "Info" %}
-
-Make sure that the merchant is approved in the Back Office to be able to proceed with the merchant user activation. You will not be able to activate the merchant user if the merchant is denied.
-
-{% endinfo_block %}
-
-To activate the merchant user, click **Activate** in the **Actions** column of the **Merchant Users** page.
-
-Once the merchant user is activated, they receive the email message with the reset password instructions to the email address specified at the step of [merchant user creation](#creating-a-merchant-user).
-
-{% info_block infoBox "Info" %}
-
-To deactivate the merchant user, click **Deactivate** in the **Actions** column of the **Merchant Users** page.
-
-{% endinfo_block %}
-
-{% info_block infoBox "Info" %}
-
-The merchant user gets automatically deactivated when the merchant gets denied.
-
-{% endinfo_block %}
-
-Once the merchant user is created and activated, they can log in to the Merchant Portal.
-
-## Deleting merchant users
-
-If you do not need a merchant user anymore, you can delete it.
-
-To delete the merchant user, click **Delete** on the **Edit Merchant** page, on the **Users** tab.
-
-{% info_block infoBox "Info" %}
-
-In the current implementation, the **Delete** button only restricts the merchant user’s access to the Merchant Portal. However, you can change the behavior in your project.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchants.md b/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchants.md
deleted file mode 100644
index 3be608f32a2..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/merchants/managing-merchants.md
+++ /dev/null
@@ -1,235 +0,0 @@
----
-title: Managing merchants
-last_updated: Apr 23, 2021
-description: This guide explains how to create and manage merchant records on the Merchants page.
-template: back-office-user-guide-template
----
-
-On the **Merchants** page, you can manage the merchants' records and facilitate the merchant registration and approval process, as well as apply any changes to the existing merchants' records. This document describes the procedures of creating and managing merchant records.
-
----
-
-## Prerequisites
-
-To start managing merchants, navigate **Marketplace > Merchants**.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Creating merchants
-
-To create a merchant, do the following:
-
-1. On the **Merchants** page, in the top right corner, click **+Add Merchant**.
-2. Fill in the required information.
-3. Click **Save**.
-
-### Reference information: Creating merchants
-
-The following table describes the attributes you enter and select when creating merchants.
-
-
-#### General tab
-
-This tab contains the main merchant information.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Name | Text field where you specify the name of the merchant that you create. | ✓ |
-| Registration number | Text field where you specify the number assigned to the company at the point of registration. | |
-| Merchant Reference | Text field where you specify a unique identifier between the administrator's ERP and Spryker. | ✓ |
-| Email | Field where you specify the email address associated with the merchant. {% info_block warningBox "Note" %}The email address is unique, meaning one value cannot be used for several merchants. If the merchant with the same email already exists, the following message is displayed for the *Email* field when trying to save the record: "Email is already used."{% endinfo_block %} However, the email can be the same as the email of a Marketplace administrator that operates in the administration interface (Back Office). {% info_block warningBox "Note" %}This email will be used by a merchant to log in to the Merchant Portal{% endinfo_block %}. | ✓ |
-| Is Active | Checkbox that gets the merchant profile page on the Storefront online once checked. | |
-| Store Relation | List of stores where the merchant is present. | |
-| Merchant URL | Text field where, during editing, you can update the URL that is used to access the merchant profile. The profile URL is specified per locale. | ✓ |
-| Warehouses | Name of the Warehouse assigned to the merchant. For more details about the warehouses, see [Merchant Warehouse](/docs/marketplace/user/features/{{page.version}}/marketplace-inventory-management-feature-overview.html#marketplace-warehouse-management). | |
-
-#### Contact Person Details tab
-
-This tab contains information about the contact person. The contact person information is going to be used to create a **Merchant Admin User** who will be able to log in to **Merchant Portal**.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Title | Formal salutation for your contact person (for example, Mr, Ms, Mrs, Dr). There is no default value selected. | |
-| Role | Text field where you can define the role the contact person performs. | |
-| Phone | Text field where you can enter the phone number of the contact person. | |
-| First Name | Text field where you can specify the first name of the contact person. | ✓ |
-| Last Name | Text field where you can specify the last name of the contact person. | ✓ |
-
-#### Merchant Profile tab
-
-This tab includes the public information about the merchant that is displayed in the Storefront).
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Public Email | Text field where you specify the business/public email address for the merchant. | |
-| Public Phone | Text field where you specify the merchant's public phone number. | |
-| Fax Number | Text field where you specify the merchant's fax number. | |
-| Logo URL | Text field where you can specify the logo URL for the merchant profile. | |
-| Description | Text field where you can add a description for the merchant for a locale. | |
-| Average Delivery Time | Text field where you specify the average time during which the order will be shipped for a locale. | |
-| Banner URL | Text field where you can add a link to the merchant's banner for a locale. | |
-| Country | Drop-down list where you specify the country of the merchant's business address. There is no value selected by default. | |
-| Street | Text field where you specify the street of the merchant's business address. | |
-| Number | Text field where you can specify the number included in the merchant's business address. | |
-| Zip Code | Text field where you specify the ZIP code of the merchant's business address. | |
-| City | Text field where you specify the city of the merchant's business address. | |
-| Addition to Address | Text field where you can specify any additional information included in the merchant's business address. | |
-| Longitude | Text field that will be used to identify the merchant location. | |
-| Latitude | Text field that will be used to identify the merchant location. | |
-
-#### Legal Information tab
-
-This tab contains legal information that is displayed on the **Merchant Profile** page in the Storefront.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Cancellation Policy | Standard WYSIWYG editor with text formatting options where you specify the cancellation policy for the merchant for a locale. | |
-| Data Privacy | Standard WYSIWYG editor with text formatting options where you specify the data privacy statement for a locale. | |
-| Imprint | Standard WYSIWYG editor with text formatting options where you specify imprint information for a locale. | |
-| Terms and Conditions | Standard WYSIWYG editor with text formatting options where you specify the terms and conditions for the merchant for a locale. | |
-
-#### Users tab
-
-This tab contains information about creating and editing [merchant users](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html) for the merchant.
-
-{% info_block infoBox "Info" %}
-
-To restrict access to the Merchant Portal, on the **Merchants** page, in **Actions**, you can create merchant users only after the merchant is created. During the merchant creation process, this tab exists, but all the actions are disabled."
-
-{% endinfo_block %}
-
-## Editing merchants
-
-To edit a merchant, do the following:
-
-1. On the **Merchants** page, in the **Actions** column, for a merchant you want to edit, click **Edit**.
-2. On the **Edit Merchant** page, edit the merchant details.
-3. To save the changes, click **Save**.
-
-### Reference information: Editing merchants
-
-The following table describes the attributes you enter and select when editing merchants.
-
-#### Overview of Merchants page
-
-On the **Overview of Merchants** page, you see a table with all the merchants. The following information is included in the table:
-* Merchant ID
-* Merchant Name
-* Approval status. For more details about the statuses a merchant profile may have, check the [merchant statuses](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses) section.
-* Status (active/inactive). For more details about the statuses a merchant profile may have, check the [merchant statuses](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses) section.
-* Stores
-* Actions
-
-![approving-and-denying-merchants](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Marketplace/Merchants/merchants-page.png)
-
-
-By default, the table is sorted by the merchant Id value.
-
-You can sort the table by other values (Name and Status) using the respective sort icon in the needed column.
-
-
-#### General tab
-
-This tab contains the main merchant information.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Name | Text field where you specify the name of the merchant that you edit. | ✓ |
-| Registration number | Text field where you specify the number assigned to the company at the point of registration. | |
-| Merchant Reference | Text field where you specify a unique identifier between the administrator's ERP and Spryker. | ✓ |
-| Email | Field where you specify the email address associated with the merchant. {% info_block warningBox "Note" %}The email address is unique, meaning one value cannot be used for several merchants. If the merchant with the same email already exists, the following message is displayed for the *Email* field when trying to save the record: "Email is already used."{% endinfo_block %} However, the email can be the same as the email of a Marketplace administrator that operates in the administration interface (Back Office). {% info_block warningBox "Note" %}This email will be used by a merchant to log in to the Merchant Portal"{% endinfo_block %}. | ✓ |
-| Is Active | Checkbox that gets the merchant profile page on the Storefront online once checked. | |
-| Store Relation | List of stores where the merchant is present. | |
-| Merchant URL | Text field where, during editing, you can update the URL that is used to access the merchant profile. The profile URL is specified per locale. | ✓ |
-| Warehouses | Name of the Warehouse assigned to the merchant. For more details about the warehouses, see [Merchant Warehouse](/docs/marketplace/user/features/{{page.version}}/marketplace-inventory-management-feature-overview.html#marketplace-warehouse-management). | |
-
-#### Contact Person Details tab
-
-This tab contains information about the contact person. The contact person information is going to be used to create a **Merchant Admin User** who will be able to log in to Merchant Portal.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Title | Formal salutation for your contact person (for example, Mr, Ms, Mrs, Dr). There is no default value selected. | |
-| Role | Text field where you can define the role the contact person performs. | |
-| Phone | Text field where you can enter or change the phone number of the contact person. | |
-| First Name | Text field where you can specify the first name of the contact person. | ✓ |
-| Last Name | Text field where you can specify the last name of the contact person. | ✓ |
-
-#### Merchant Profile tab
-
-This tab includes the public information about the merchant that is displayed in the Storefront).
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Public Email | Text field where you specify the business/public email address for the merchant. | |
-| Public Phone | Text field where you specify the merchant's public phone number. | |
-| Fax Number | Text field where you specify the merchant's fax number. | |
-| Logo URL | Text field where you can specify the logo URL for the merchant profile. | |
-| Description | Text field where you can add a description for the merchant for a locale. | |
-| Average Delivery Time | Text field where you specify the average time during which the order is shipped for a locale. | |
-| Banner URL | Text field where you can add a link to the merchant's banner for a locale. | |
-| Country | Drop-down list where you specify the country of the merchant's business address. There is no value selected by default. | |
-| Street | Text field where you specify the street of the merchant's business address. | |
-| Number | Text field where you can specify the number included in the merchant's business address. | |
-| Zip Code | Text field where you specify the ZIP code of the merchant's business address. | |
-| City | Text field where you specify the city of the merchant's business address. | |
-| Addition to Address | Text field where you can specify any additional information included in the merchant's business address. | |
-| Longitude | Text field that is used to identify the merchant location. | |
-| Latitude | Text field that is used to identify the merchant location. | |
-
-#### Legal Information tab
-
-This tab contains legal information that is displayed on the **Merchant Profile** page in the Storefront.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Cancellation Policy | Standard WYSIWYG editor with text formatting options where you specify the cancellation policy for the merchant for a locale. | |
-| Data Privacy | Standard WYSIWYG editor with text formatting options where you specify the data privacy statement for a locale. | |
-| Imprint | Standard WYSIWYG editor with text formatting options where you specify imprint information for a locale. | |
-| Terms and Conditions | Standard WYSIWYG editor with text formatting options where you specify the terms and conditions for the merchant for a locale. | |
-
-#### Users tab
-
-This tab contains information about creating and editing [merchant users](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html) for the merchant.
-
-{% info_block infoBox "Info" %}
-
-To restrict access to the Merchant Portal, on the **Merchants** page, in **Actions**, you can create merchant users only after the merchant is created. During the merchant creation process, this tab exists, but all the actions are disabled.
-
-{% endinfo_block %}
-
-## Approving and denying merchants
-
-Merchant approval is the process when a Marketplace administrator changes the status of the merchant record according to the flow described in the [Merchant statuses](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses) section. After the initial merchant registration, the status is always set to **Waiting for Approval** and is subject to change by a Marketplace administrator after their review. To approve the merchant, click **Approve Access** in the **Actions** column of the **Merchants** page.
-
-{% info_block infoBox "Info" %}
-
-To restrict access to the Merchant Portal, on the **Merchants** page, in the **Actions** column, click **Deny Access**.
-
-{% endinfo_block %}
-
-![approving-and-denying-merchants](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Marketplace/Merchants/approving-and-denying-merchants.png)
-
-## Activating and deactivating merchants
-
-Activating or deactivating the merchant indicates whether the merchant profile page, product offers, and marketplace products are available in the Storefront or not. To activate the merchant, click **Activate** in the *Actions* column of the *Merchants* page.
-
-{% info_block infoBox "Info" %}
-
-You can deactivate the merchant by clicking Deactivate on the **Merchants** page in the **Actions** column.
-
-{% endinfo_block %}
-
-![activating-and-deactivating-merchants](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Marketplace/Merchants/activating-mechants.png)
-
-{% info_block infoBox "Note" %}
-
-You can not delete merchants, you can only deactivate them.
-
-{% endinfo_block %}
-
-**What's next?**
-
-Once you have the merchant record available in the system, you can proceed with creating a merchant user to log in to the Merchant Portal.
-
-To know how to create those, see the [Managing merchant users](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchant-users.html).
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/offers/managing-merchant-product-offers.md b/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/offers/managing-merchant-product-offers.md
deleted file mode 100644
index f2e140bc5a1..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/offers/managing-merchant-product-offers.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: Managing merchant product offers
-last_updated: Apr 19, 2021
-description: This document describes how to view and manage merchant product offers in the Back Office.
-template: back-office-user-guide-template
----
-
-This document describes how to view and manage [merchant product offers](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html) in the Back Office.
-
-## Prerequisites
-
-To start working with offers, go to **Marketplace > Offers**.
-
-These instructions assume that there is an existing offer created by the Merchant in the Merchant Portal.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Approving or denying offers
-
-Only approved and active offers are available for purchase on the Storefront.
-
-To approve an offer, on the **Offers** page, in the **Actions** column, click **Approve** next to the offer you want to approve.
-
-You can deny the offer by clicking **Deny** on the **Offers** page in the **Actions** column.
-
-**Tips and tricks**
-
-You can sort by offers belonging to a certain Merchant:
-
-![filter-offers-by-merchant](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Marketplace/offers/offers/filter-offers-by-merchant.gif)
-
-### Reference information: Approving or denying offers
-
-On the **Offers** page, there is a table with all the offers available in the Marketplace. The table includes:
-
-* Offer ID
-* Reference
-* Merchant
-* SKU
-* Name
-* Status
-* Visibility
-* Stores
-* Actions
-
-By default, the table is sorted by the **Offer ID** value.
-
-You can sort the table by other values (*Name* and *Status*) using the sorting icon in the needed column.
-
-![sort-by-other-values](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/Back+Office+User+Guides/Marketplace/offers/offers-reference-information/back-office-offers.png)
-
-## Viewing an offer
-
-To view an offer, on the **Offers** page, in the **Actions** column, next to the offer you want to view, click **View**.
-
-### Reference information: Viewing an offers
-
-The following table describes the attributes on the **View Offer: _[Offer Reference]_** page:
-
-| SECTION | ATTRIBUTE | DESCRIPTION |
-|-|-|-|
-| Offer | Reference | Unique identifier of the merchant product offer in the system. |
-| | Status | Current status of the offer. Can be:
waiting for approval
approved
denied
For details about the statuses flow, see [Product offer status](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html#product-offer-status). |
-| | Visibility | Visibility state of the offer. Can be
active
inactive
For details about the visibility flow, see [Product offer status](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html#product-offer-status). |
-| | Stores | Stores for which the offer is assigned. |
-| Product | SKU | SKU of the product. |
-| | Type | Type of the item. |
-| | Name | Name of the product for every locale. |
-| | Description | Description of the product for every locale. |
-| Merchant | Merchant | Name of the merchant who owns the product. |
-| | Merchant SKU | Product SKU of this offer in the Merchant system. |
-| Price | | Table with the default and volume prices defined for the product offer in NET and GROSS mode. |
-| Stock | | Stock for product offers in every store. |
-
-
-## Related articles
-
-[Merchant Product Offer feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html)
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/orders/managing-marketplace-orders.md b/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/orders/managing-marketplace-orders.md
deleted file mode 100644
index cc6bccee8a1..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/marketplace/orders/managing-marketplace-orders.md
+++ /dev/null
@@ -1,341 +0,0 @@
----
-title: Managing marketplace orders
-last_updated: Jul 15, 2021
-description: This document describes how to manage marketplace orders in the Back Office.
-template: back-office-user-guide-template
----
-
-This document describes how to manage marketplace orders.
-
-## Prerequisites
-
-To start managing marketplace orders, navigate to **Marketplace > Orders**.
-
-The instructions assume that there is an existing order with the *New* status.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Viewing marketplace orders
-
-To view a marketplace order, in the **List of orders** table, next to the order you want to check, click **View**.
-You are taken to the **View Order: _[Order ID]_** page.
-
-![view-marketplace-orders](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Back+Office+user+guides/Marketplace/Orders/Managing+marketplace+orders/view-marketplace-orders.gif)
-
-Every marketplace order contains information about the merchant orders it is split into.
-
-### Reference information: Viewing marketplace orders
-
-This section holds reference information related to viewing marketplace orders.
-
-#### Orders page
-
-The last created order goes on top of the table by default. However, you can sort the table by the order number, order reference, date of creation, customer emails, or the number of items ordered.
-
-On the **Orders** page, you see the following:
-* Order number, reference, and the creation date.
-* Customer name and email.
-* Order state, the grand total of the order, and the number of items ordered.
-* Actions that you can do on this page.
-
-By default, the last created order goes on top of the table. However, you can sort and search **List of orders**.
-
-All columns with headers having arrows in **List of orders** are sortable.
-
-**Actions column**
- All the order management options that you can invoke from the **Actions** column in List of orders are described in the following table.
-
-| ACTION | DESCRIPTION |
-|---|---|
-| View | Takes you to the **View Order: _[Return ID]_** page. Here, you can find all the information about the chosen order. |
-| Claim | Takes you to the **Create reclamation** page, where you can [create a reclamation](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/orders/managing-marketplace-orders.html#claiming-marketplace-orders) for the order. |
-
-**View Order: _[Order ID]_**
- The following table describes the attributes on the **View Order: _[Order ID]_** page when you view an order.
-
-| SECTION | ATTRIBUTE | DESCRIPTION |
-|---|---|---|
-| Order Overview | | Section with the general information about the order. |
-| | Order reference | Reference number of the order. |
-| | Order date | Date when the order was placed. |
-| | Unique Product Quantity | Number of unique products in the order. |
-| | Totals | Contains information about the order totals. |
-| | Subtotal | Subtotal of the order. |
-| | Grand Total | Grand total of the order. |
-| | Total taxes | Total tax amount. |
-| | Refund total | Available refundable amount for the order. |
-| | Trigger all matching states inside this order | Action button for changing the available states for all the items in the order. For details, see [Changing marketplace order states](#changing-marketplace-order-states). |
-| Custom Order Reference | | Custom number that can be added to the order. |
-| Customer | | Section with the information about the customer who has submitted the order. |
-| | Reference | Unique reference of the customer in the system. The reference is clickable and leads to the *[View Customer](/docs/scos/user/back-office-user-guides/{{page.version}}/customer/customers/view-customers.html)* page. |
-| | Name | Name of the customer. |
-| | Email | Customer’s email address. |
-| | Previous orders count | Number of orders the customer has submitted. |
-| | Billing address | Address that is used for billing purposes. |
-| Merchant orders | | Section with details about every merchant order with its products and Shipment information. |
-| | Fulfilled by Merchant | Contains the name of the Merchant this order belongs to. |
-| | Order Reference | Merchant order reference. |
-| | Delivery Address | Address used for delivery. |
-| | Delivery Method | Delivery method chosen for the shipment. |
-| | Shipping Method | Method used to ship the order. |
-| | Shipping Costs | Price for shipping service. |
-| | Request delivery date | Requested delivery date. |
-| | Trigger all matching states of order inside this shipment | Action button for changing the available states for all the items in the shipment. For details, see [Changing marketplace order states](#changing-marketplace-order-states). |
-| Cart Notes | | Section where the cart notes added by the customer are displayed (if there are any). |
-| Returns | | Section with information related to returns (if there are any). |
-| Comments to Order | | Section with comments added to the order by the customer when submitting it. |
-| Bundle Items Cart Notes | | Section with the notes for the bundled items. |
-| Payments | | Section with the information about payment performed y the customer (payment provider, payment method, and the amount paid). |
-| Gift cards | | Section with the information about the gift cards. |
-| Discounts & Vouchers | | Section with the information about discounts and vouchers applied to the order. |
-| Refunds | | Section with information about refunds issued. |
-| Order Source | | Source of the order. |
-| Comments | | Section for the Back Office users to add comments to the order. These comments are not visible to the customer. |
-
-## Changing marketplace order states
-
-To change the state of several items in the order:
-
-1. In the **List of orders** table, in the **Actions** column, click **View** next to the order you want to change the state of.
-You are taken to the **View Order: _[Order ID]_** page.
-2. In the **Trigger all matching states inside this order** section, click **the next available state**. For details about the available states, see [Marketplace and Merchant state machines feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html).
-The page refreshes to show the message about the successful state change. The order will obtain the updated state. In the **Trigger all matching states inside this order** section, you can see the **Cancel** button.
-3. Repeat step 2 until you get the desired order state.
-
-To change the state of the order items in a shipment:
-
-1. In **List of orders**, click **View** next to the order possessing the items you want to change the state of.
-You are taken to the **View Order: _[Order ID]_** page.
-2. Scroll down to the desired shipment.
-3. Select the checkbox next to the products you want to change the state of.
-4. In the **Trigger all matching states of order inside this shipment** section, click **the next available state**. For details about the available states, see [Marketplace and Merchant state machines feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html).
-The page refreshes to show the message about the successful state change. In the **Trigger all matching states of order inside this shipment** section of the modified shipment, you can see the updated state.
-5. Repeat step 4 until you get the desired shipment state.
-
-To change the state of an item in the merchant order:
-
-1. In **List of orders**, click **View** next to the order possessing the items you want to change the state of.
-You are taken to the **View Order: _[Order ID]_** page.
-2. Scroll down to the desired item.
-3. In the **Trigger event** column next to the desired product, click **the next available state**. For details about the available states, see [Marketplace and Merchant state machines feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html).
-The page refreshes to show the message about the successful state change. In the **Trigger event** column next to the product, you can see the **Cancel** button.
-
-### Reference information: Changing marketplace order states
-
-You can set different states for your order by clicking the action buttons. The following describes the triggers you can call:
-
-| ORDER STATE | DESCRIPTION |
-|---|---|
-| Pay | Click this button once you receive the payment for the order from your customer. |
-| Cancel | Click this button to cancel the order on the customer’s behalf. |
-| Close | Click this button when your customer has successfully received the ordered items and is satisfied with their quality. |
-| Refund | Click this button in case of a refund. |
-| Return | Click this button if the customer returns you either all or several items from the order. |
-
-Marketplace order states flow:
-
-* **New**—the initial order state.
-* **Canceled**—the state of the order after it is canceled by the customer on the Storefront or by a Back Office user.
-* **Sent to Merchant**—the state of the order when the payment is made and the marketplace order was successfully split into the merchant orders. The corresponding merchant got notified about the new order.
-* When you select **Pay**, the order state becomes *Paid*. After a while, the status of the order changes to *Sent to Merchant*.
-* When you select **Cancel**, the order state becomes *Canceled*.
-* When you select **Close**, the order state becomes *Closed*.
-* If the customer returns the ordered items: when you select **Return**, the state becomes *Waiting for return*. The merchant needs to execute the return in the Merchant Portal.
-* Once the return is executed for the merchant order in the Merchant Portal, the state becomes *Refunded*.
-
-**Tips & tricks**
- To change the state of all the items inside a shipment at once, in the **Trigger all matching states of order inside this shipment** section of the corresponding shipment, click **the next available state**.
-
-For reference information about the **Orders** and **View Order: _[Order ID]_** pages, on this page, see:
-
-* [Orders page](#orders-page)
-* [View Order: [Order ID](#view-order-order-id)
-
-
-## Creating a marketplace return
-
-{% info_block warningBox "Note" %}
-
-To be able to create a return, your marketplace state machine should have the return subprocess set up.
-
-{% endinfo_block %}
-
-If an order item is **[returnable](/docs/marketplace/user/features/{{page.version}}/marketplace-return-management-feature-overview.html)**, you can create a return for it.
-
-To create a return:
-
-1. On the **View Order: _[Order ID]_** page, click **Return** in the top right corner. This opens the **Create Return** page.
-2. On the **Create Return** page, select the items you want to return and optionally the return reason for the items. The following return reasons are provided out of the box:
- * Damaged
- * Wrong item
- * No longer needed
- * Custom reason
-
-{% info_block infoBox "Info" %}
-
-The products from one merchant can be returned at a time.
-
-{% endinfo_block %}
-
-3. Click **Create return**. This creates the return and takes you to the **Overview of Return _[Return reference]_** page, where you can change the return states. For details about the return states you can trigger, see Marketplace return item states.
-
-{% info_block infoBox "Info" %}
-
-You can create returns for the items that are in Shipped or Delivered states only.
-
-{% endinfo_block %}
-
-
-### Reference information: Creating a marketplace return
-
-| SECTION | ATTRIBUTE | DESCRIPTION |
-|---|---|---|
-| General information | | |
-| | Order reference | Reference of the order the return will be created for. Takes you to the View Order: [Order ID] page, where you can view and manage the order. |
-| Select Items to Return | | |
-| | Fulfilled by merchant | Name of the merchant the item belongs to. Takes to the *Edit Merchant: [Merchant ID]* page, where you can view and edit information about this merchant. |
-| | Merchant Order Reference | Reference of the merchant order in the system. |
-| | Product | List of all items included in the return. |
-| | Quantity | Product quantity. |
-| | Price | Product price. |
-| | Total | Total amount paid for the item. |
-| | Return policy | Return policy an item is controlled by. |
-| | State | Return state for the item. |
-
-Once a return has been created, it acquires the *Waiting for return* state. You can trigger the following states for the returns on the **Overview of Returns [Return ID]** page.
- For more details, see [Marketplace and merchant state machines feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html).
-
- | RETURN STATE | DESCRIPTION |
-|---|---|
-| execute-return | Select this state if you accept the return. When triggering this state, the return status is changed to *Returned*. |
-| refund | Select this state if you have refunded the returned items. When triggering this state, the return status is changed to *Refunded*. |
-| cancel-return | You can trigger this state after the *Waiting for return* state. Select this state if either customer changed their mind and doesn’t want to make the return anymore, or you cancel the return due to the return policy, or for other reasons. When triggering this state, the return status is changed to *Canceled*. |
-| ship-return | You can trigger this state after the *Cancel* return state. Select this state if you shipped the canceled return back to the customer. The return status is changed to *Shipped to customer*. |
-| delivery-return | You can trigger this state after the *Shipped to customer*. Select this state if the return has been delivered to the customer. The return status is changed to *Delivered*. |
-| close | You can trigger this state after the *Delivered* state. Select this state to close the return. The return status is changed to *Closed*. |
-
-## Viewing the returns for marketplace orders
-
-If returns have been created for a marketplace order, they are displayed on the **View Order: _[Order ID]_** page, in the **Returns** section.
-
-To view details about a return, navigate to the **Returns** page, and in the **Actions** column of the **List of Returns** table, click **View**.
-This takes you to the **Overview of Return: [Return ID]** page.
-For information about how you can manage the returns on this page, see Managing marketplace returns.
-
-### Reference information: Viewing the returns for marketplace orders
-
-The following tables describe the attributes on the **Overview of Return: _[Return reference]_** page when you view a return.
-
-![reference-information-marketplace-return-back-office](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Back+Office+user+guides/Marketplace/Orders/Managing+marketplace+orders/reference-information-marketplace-return-back-office.png)
-
-#### Returned items section
-
-The returned items section displays information about the returned items.
-
-| ATTRIBUTE | DESCRIPTION |
-|---|---|
-| Product | List of all items included in the return. |
-| Quantity | Product quantity. |
-| Price | Product price. |
-| Total | Total amount paid for the item. |
-| State | Return state for the item. |
-| Trigger event | List of the events to trigger for the return. |
-| Trigger all matching states | States that you can trigger for all items in the return at once. |
-
-#### Total section
-
-The **Total** section displays the total amount of items to be returned.
-
-| ATTRIBUTE | DESCRIPTION |
-|---|---|
-| Order Reference | Reference number of the order. |
-| Return Reference | Reference number of the return. |
-| Return Date | Date when the return was created. |
-| Returned Items | Number of items to be returned. |
-| State | State of the return. |
-
-#### Marketplace section
-
-| TTRIBUTE | DESCRIPTION |
-|---|---|
-| Merchant Order References | Merchant order reference number. |
-| Merchant | Name of the merchant that sold the item. |
-
-#### Customer section
-
-| ATTRIBUTE | DESCRIPTION |
-|---|---|
-| Customer reference | Reference of the customer. |
-| Name | Customer name. |
-| Email | Customer’s email address. |
-
-## Editing a Custom Order Reference for a marketplace order
-
-To edit a custom order reference:
-
-1. In the **List of orders** table, next to the order you want to update the custom order reference of, click **View**.
-2. In the **Custom Order Reference** section of the **View Order: _[Order ID]_** page, click **Edit Reference**.
-3. Update the custom order reference.
-4. Click **Save**.
-
-![edit-a-custom-order-reference-for-a-marketplace-order](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Back+Office+user+guides/Marketplace/Orders/Managing+marketplace+orders/edit-a-custom-order-reference-for-a-marketplace-order.png)
-
-**Tips and tricks**
- To remove the custom order reference, clear the Custom Order Reference field and click **Save**.
-
-## Claiming marketplace orders
-
-To claim a marketplace order:
-
-1. On the **Overview of Orders** page, click **Claim** next to the order you want to create a reclamation for.
-2. On the **Create reclamation** page, select one or more products you want to create the reclamation for.
-3. Click **Create Reclamation**.
- The page refreshes to show the success message about reclamation creation.
-
-**Tips and tricks**
- Claiming an order does not change the state of the order or the items inside the order. When a reclamation is created, a sales team member processes the order manually.
-
-### Reference information: Create reclamation page
-
-| ATTRIBUTE | DESCRIPTION |
-|---|---|
-| Product | Contains information about the product: the product image, name, SKU, color. Clicking the product name takes you to the **View Product Abstract: _[Product ID]_** page. |
-| Unit Price (GROSS_MODE) | Item price without taxes. |
-| Item total | Total amount paid for the item. |
-| State | Current state of the item. Clicking the state shows the state machine diagram. |
-
-## Commenting on marketplace orders
-
-To comment on the marketplace order:
-
-1. Click **View** next to the order you want to comment on.
-2. On the **View Order: _[Order ID]_** page, scroll down to the **Comments** section.
-3. Enter the comment in the **Message** field.
-4. Click **Send Message**.
-The page refreshes to show the success message about comment creation. Your message is displayed in the **Comments** section.
-
-**Tips and tricks**
-
-* To send an email to a customer, on the **Overview of Orders** page, click the hyperlinked customer email in the Email column.
-* To view customer details:
- * On the **Overview of Orders** page, click the hyperlinked customer name in the **Customer Full Name** column.
- * On the **View Order** page, scroll down to the **Customer** section and click the hyperlinked **Reference**.
-
-## Editing a billing address in the marketplace order
-
-To edit a billing address:
-1. Next to the order you want to edit the billing address of, click **View**.
-2. On the **View Order** page, scroll down to the **Customer** section.
-3. Under the **Billing address**, click **Edit**. The **Edit Address for Order** page opens.
-4. Make the updates and click **Save**.
-
-### Reference information: Editing a billing address in the marketplace order
-
-| ATTRIBUTE | DESCRIPTION |
-|---|---|
-| Salutation First Name Middle name Last Name | Customer's salutation. If the other person is the point of contact for this new address, you need to populate the fields with the respective data. If the customer is the same, populate the fields with the same values. |
-| Email Country Address line 1 Address line 2 | Fields where you enter the email and address information of the customer. |
-| Company City Zip Code Po box | Customer's company, city, zip code, and post office box number. |
-| Phone Cell phone | Customer's phone numbers. |
-| Description | Description of the order. |
-| Comment | Any specific comment regarding the customer or customer address (for example, "*This address is going to be used only if the order costs less than 900 euros.*"). |
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-orders.md b/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-orders.md
deleted file mode 100644
index d0d8662a059..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-orders.md
+++ /dev/null
@@ -1,261 +0,0 @@
----
-title: Managing main merchant orders
-last_updated: Jul 22, 2021
-description: This guide explains how to manage main merchant orders in the Back Office.
-template: back-office-user-guide-template
----
-
-*My Orders* is a dedicated page for managing the orders that customers completed from the [main merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html) (Marketplace owner) within the Marketplace.
-
-## Prerequisites
-
-To start managing merchant orders for the [main merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html), navigate to **Sales > My orders**.
-
-The instructions assume that there is an existing order with the *New* status.
-
-Each section in this article contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Viewing main merchant orders
-
-To view the [main merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html) orders, in the **List of Orders** table, click **View** next to the order you want to check.
-This takes you to the **Merchant Order Overview** page.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Back+Office+user+guides/Sales/main-merchant-order-back-office.png)
-
-### Reference information: Viewing main merchant orders
-
-This section holds reference information related to viewing the [main merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html) orders.
-
-#### Overview of Orders page
-
-By default, the last created order goes on top of the table. However, you can sort the table by the order number, order reference, created date, customer emails, or the number of items ordered.
-
-On the **Overview of Orders** page, you see the following:
-
-- Merchant order reference
-- Marketplace order reference, where the merchant order belongs
-- Creation date
-- Customer name and email
-- Order state, the grand total of the order, and the number of items ordered
-- Actions that you can do on this page
-
-By default, the last created order goes on top of the table. However, you can sort and search the **List of Orders** table.
-
-All columns with headers having arrows in **List of Orders** are sortable.
-
-##### Actions column
-
-All the order management options that you can invoke from the **Actions** column in **List of Orders** are described in the following table.
-
-| ACTION | DESCRIPTION |
-| --------- | --------------- |
-| View | Takes you to the *Merchant Order Overview* page. Here, you can find all the information about the chosen order. |
-
-#### Merchant Order Overview page
-
-The following table describes the attributes on the **View Order _[Order ID]_** page when you *view* an order.
-
-
-
-
-
SECTION
-
ATTRIBUTE
-
DESCRIPTION
-
-
-
-
-
Order Overview
-
-
Section with the general information about the order.
-
-
-
Merchant Order reference
-
Reference number of the merchant order.
-
-
-
Marketplace Order Reference
-
Reference number of the marketplace order where the merchant order belongs.
Section where the cart notes added by the customer are displayed (if any).
-
-
-
Discounts & Vouchers
-
-
Section with the information about discounts and vouchers applied to the order.
-
-
-
-
-## Changing main merchant order states
-
-To change the state of the order items in a shipment:
-1. In the **List of Orders** table, next to the order with items you want to change the state of, click **View**. This takes you to the **Merchant Order Overview** page.
-2. Scroll down to the desired shipment.
-3. Select the checkbox next to the products you want to change the state of.
-4. In the **Trigger all matching states of order inside this shipment** section, click **the next available state**. For details about the available states, see [Reference information: Changing main merchant order states](/docs/marketplace/user/back-office-user-guides/{{page.version}}/sales/managing-main-merchant-orders.html#reference-information-changing-main-merchant-order-states).
- The page refreshes to show the message about the successful state change. In the **Trigger all matching states of order inside this shipment** section of the modified shipment, you can see the updated state.
-5. Repeat step 4 until you get the desired shipment state.
-
-### Reference information: Changing main merchant order states
-
-You can set different states for your order by clicking the action buttons. The following table describes the triggers you can call:
-
-| MAIN MERCHANT ORDER ITEM STATE | DESCRIPTION |
-| ----------------------- | --------------------- |
-| Send to distribution | Choose this state once you receive the payment for the order from your customer. |
-| Cancel | Choose this state to cancel the order on the customer’s behalf. |
-| Confirm at center | Choose this state when the order is confirmed at the distribution center. |
-| Ship | Choose this state when the order is shipped to the customer. |
-| Deliver | Choose this state when the order reached the customer. |
-| Refund | Choose this state in case of a refund. |
-
-## Creating a shipment for the main merchant order
-
-
-
-You can create a new shipment for the merchant orders where there is more than one merchant order item.
-
-You can create a new shipment for one or several merchant order items. To create a new shipment:
-
-1. In the **List of Orders** table, next to the order you want to edit the shipment of, click **View**.
-2. In the **Merchant Order Items** section of the **Merchant Order Overview** page, click **Create Shipment**.
-3. Fill in all the required fields.
-4. Click **Save**.
-
-### Reference information: Creating a shipment for the main merchant order
-
-The following table describes the attributes you enter and select when creating or editing customer’s shipment details.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-| ----------------------- | ---------------- | ----------- |
-| Delivery Address | Dropdown menu where you can select the delivery address. By default, *New Address* is selected. | |
-| Salutation | Salutation to use when addressing the customer. | ✓ |
-| First Name | Customer's first name. | ✓ |
-| Middle name | Customer's middle name. | |
-| Last name | Customer's last name. | ✓ |
-| Email | Customer’s email address. | ✓ |
-| Country | Drop-down menu with the list of countries to select. | ✓ |
-| Address 1 | 1st line of the customer's address. | ✓ |
-| Address 2 | 2nd line of the customer's address. | ✓ |
-| Company | Customer’s company name. | |
-| City | Customer’s city. | ✓ |
-| ZIP code | ZIP code. | ✓ |
-| Phone | Customer’s phone number. | |
-| Cell Phone | Customer’s cell phone number. | |
-| Description | Description of the shipping address. | |
-| Comment | Comment to the shipping address. | |
-| Shipment method | Drop-down menu with the list of all the available shipment methods in the system. You can select only one. | ✓ |
-| Requested delivery date | Date by which the order should be delivered. | |
-| Order items inside this shipment | Check the order items you create or edit the shipment for. | ✓ |
-
-## Editing main merchant shipment
-
-You can edit the existing details for the shipment in the Back Office. To do that:
-
-1. In the **List of Orders** table, click **View** next to the order you want to edit the shipment of.
-2. In the **Merchant Order Items** section of the **Merchant Order Overview** page, click **Edit Shipment**. This takes you to the **Edit shipment for Order: _[Order ID]_** page.
-3. Update the main merchant shipment.
-4. Click **Save**.
-
-For reference information, on this page, see [Reference information: Creating a shipment for the main merchant order](/docs/marketplace/user/back-office-user-guides/{{page.version}}/sales/managing-main-merchant-orders.html#reference-information-creating-a-shipment-for-the-main-merchant-order).
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-returns.md b/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-returns.md
deleted file mode 100644
index 5e47b55b0be..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-main-merchant-returns.md
+++ /dev/null
@@ -1,142 +0,0 @@
----
-title: Managing main merchant returns
-last_updated: Aug 09, 2021
-description: This guide explains how to manage main merchant returns in the Back Office.
-template: back-office-user-guide-template
----
-
-**My Returns** lets you manage the returns as follows:
-
-- Create a return for the customer.
-- Set the return states.
-- Print the return slip.
-
-## Prerequisites
-
-To start managing the returns for the [main merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html), navigate to **Sales > My Returns**.
-
-Each section contains reference information. Make sure to review it before you start or look up the necessary information as you go through the process.
-
-## Viewing returns for the main merchant
-
-To view details about a return, in the **Actions** column of the return, click **View**.
-
-This takes you to the **Overview of Return: _[Return reference]_** page, where you can view the return details, set the return statuses, and [print the return slip](#printing-a-main-merchant-return-slip).
-
-## Setting the main merchant return states
-
-To set and track the return statuses, you trigger the return states.
-
-To trigger the return states:
-
-1. On the **Returns** page, click **View** in the **Actions** column. This takes you to the **Return Overview _[Return reference]_**.
-2. In the **Trigger all matching state section** of the **Overview of Return: _[Return reference]_** page, click the necessary state. The return state changes, and the new states that you can trigger appear. For information about the return item states and the flow, see Main merchant return item states.
-
-
-
-**Info**
-
-The triggered return states are reflected in the Customer Account on the Storefront, informing customers about the statuses of their returns.
-
-------
-
-**Tips and tricks**
-
-To trigger the return states for all the items in the return, click the states at the **Trigger all matching states** field. To trigger the return states for individual items of the return, trigger the states in the **Trigger event** column for the necessary items.
-
-------
-
-### Reference information: Setting the main merchant return states
-
-This section holds reference information related to setting the marketplace return states.
-
-#### My Returns page
-
-On the **Returns** page, you see the following:
-
-- Return ID
-- Return reference
-- Marketplace order reference
-- Returned Products (number of the sales order items that were returned)
-- Return Date
-- State
-- Actions
-
-By default, the last created return goes on top of the table. However, you can sort and search the **List of Returns** table.
-
-All columns with headers having arrows in the **My Returns** table are sortable.
-
-##### Actions column
-
-All the return management options that you can invoke from the **Actions** column on the **My Returns** page are described in the following table.
-
-| ACTION | DESCRIPTION |
-| --------- | ---------- |
-| View | Takes you to the **Overview of Return: _[Return reference]_** page. Here, you can find all the information about the chosen review. |
-| Print Slip | Takes you to the print version of the return slip. |
-
-#### Overview of Return: [Return Reference] page
-
-The following tables describe the attributes on the **Overview of Return: _[Return reference]_** page when you view a return.
-
-##### Returned items section
-
-The returned items section displays information about the returned items.
-
-| ATTRIBUTE | DESCRIPTION |
-| -------------------- | ----------- |
-| Product | List of all items included in the return. |
-| Quantity | Product quantity. |
-| Price | Product price. |
-| Total | Total amount paid for the item. |
-| State | Return state for the item. For more details, see [Main merchant return states](#main-merchant-return-item-states). |
-| Trigger event | List of the events to trigger for the return. |
-| Trigger all matching states | States that you can trigger for all items in the return at once. |
-
-##### Total section
-
-The Total section displays the total amount of items to be returned.
-
-##### General information section
-
-| ATTRIBUTE | DESCRIPTION |
-| ------------------------- | ------------------------------------ |
-| Order Reference | Reference number of the main merchant order. |
-| Marketplace order reference | Reference number of the marketplace order. |
-| Return Reference | Reference number of the return. |
-| Return Date | Date when the return was created. |
-| Returned Items | Number of items to be returned. |
-| State | State of the return. |
-
-##### Customer section
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------- | -------------------- |
-| Customer reference | Reference of the customer. |
-| Name | Customer name. |
-| Email | Customer’s email address. |
-
-##### Main merchant return item states
-
-You can trigger the following states for the returns on the **Overview of Return: _[Return reference]_** page:
-
-
-| RETURN STATE | DESCRIPTION |
-| ----------------- | ----------------------- |
-| waiting for return | Initial status of the return. |
-| Execute return | Select this state when you want to perform the return. When triggering this state, the return status is changed to *returned*. |
-| Refund | Select this state when you want to refund the returned item. When triggering this state, the return status is changed to *refunded*. |
-| Cancel return | Select this state when you want to cancel the submitted return. When triggering this state, the return status is changed to *return canceled*. |
-| Send return back to customer | Select this state when you shipped the returned item back to the customer. When triggering this state, the return status is changed to *shipped to customer*. |
-| Deliver return | Select this state when the return was delivered to customer. When triggering this state, the return status is changed to *delivered*. |
-
-## Printing a main merchant return slip
-
-For all returns, irrespective of their statuses, you can print the automatically generated [return slip](/docs/marketplace/user/features/{{page.version}}/marketplace-return-management-feature-overview.html#marketplace-return-slip).
-
-To print the return slip, take one of the following steps:
-
-- In the **Actions** column on the **My Returns** page, click **Print slip**.
-- On the **Overview of Return: _[Return reference]_** page, click **Print Return Slip**.
-
-Any of these steps take you to the page with the print version of the return slip.
diff --git a/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-marketplace-returns.md b/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-marketplace-returns.md
deleted file mode 100644
index 9cb3739a524..00000000000
--- a/docs/marketplace/user/back-office-user-guides/202108.0/sales/managing-marketplace-returns.md
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: Managing marketplace returns
-last_updated: Aug 09, 2021
-description: This guide explains how to manage marketplace returns in the Back Office.
-template: back-office-user-guide-template
----
-
-After a [marketplace return](/docs/marketplace/user/features/{{page.version}}/marketplace-return-management-feature-overview.html) has been created by a Back Office user or by a [shop user](/docs/marketplace/user/features/{{page.version}}/marketplace-return-management-feature-overview.html#marketplace-return-management-on-the-storefront), it appears on the **Sales > Returns** page. On this page, you can manage the returns as follows:
-- Set the return states.
-- Print the return slip.
-
-## Prerequisites
-
-To start managing the marketplace returns, navigate to **Sales* > Returns**.
-
-Review the reference information before you start, or look up the necessary information as you go through the process.
-
-## Setting the marketplace return states
-
-You can close the marketplace returns fulfilled by the merchant in the Merchant Portal.
-
-To set and track the return statuses, you trigger the return states.
-
-To trigger the return states:
-
-1. On the **Returns** page, in the **Actions** column, click **View**. This takes you to the **Overview of Return: _[Return reference]_**.
-2. In the **Trigger all matching state section** of the **Overview of Return: _[Return reference]_** page, click the necessary state. The return state changes, and the new states that you can trigger appear. For information about the return item states and the flow, see [Marketplace return item states](#marketplace-return-item-states).
-
- {% info_block infoBox "Info" %}
-
-The triggered return states are reflected in the Customer Account on the Storefront, informing customers about the statuses of their returns.
-
- {% endinfo_block %}
-
-**Tips and tricks**
- To trigger the return states for all the items in the return, click the states at the **Trigger all matching states** field. To trigger the return states for individual items of the return, trigger the states in the **Trigger event** column for the necessary items.
-
-------
-
-### Reference information: Setting the marketplace return states
-
-This section holds reference information related to setting the marketplace return states.
-
-#### List of Returns page
-
-On the **Returns** page, you see the following:
-- Return ID
-- Return reference
-- Order reference
-- Returned Products (number of the sales order items that were returned)
-- Return Date
-- State
-- Actions
-
-By default, the last created return goes on top of the table. However, you can sort and search the list of returns.
-
-All columns with headers having arrows in the **List of Returns** table are sortable.
-
-##### Actions column
-
-All the return management options that you can invoke from the **Actions** column on the **List of Returns** page are described in the following table.
-
-| ACTION | DESCRIPTION |
-| --------- | ------------ |
-| View | Takes you to the *Overview of Return: [Return reference]* page. Here, you can find all the information about the chosen review. |
-| Print Slip | Takes you to the print version of the return slip. |
-
-#### Overview of Return: [Return Reference] page
-
-The following table describes the attributes on the **Overview of Return: _[Return reference]_** page when you view a return.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Back+Office+user+guides/Sales/marketplace-return-back-office.png)
-
-##### Returned items section
-
-The returned items section displays information about the returned items.
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------------- | ------------------------------ |
-| Product | List of all items included in the return. |
-| Quantity | Product quantity. |
-| Price | Product price. |
-| Total | Total amount paid for the item. |
-| State | Return state for the item. |
-| Trigger event | List of the events to trigger for the return. |
-| Trigger all matching states | States that you can trigger for all items in the return at once. |
-
-##### Marketplace return item states
-
-You can trigger the following states for the returns on the **Overview of Returns [Return ID]** page:
-
-| RETURN STATE | DESCRIPTION |
-| ---------------------- | ------------------------------------- |
-| close | Select this state when you want to close the completed return. When triggering this state, the return status is changed to *Closed*. |
-| Deliver return back to customer | Select this state when you shipped the returned item back to the customer. When triggering this state, the return status is changed to *Delivered*. |
-| Refund | Select this state if you have refunded the returned items. When triggering this state, the return status is changed to *Refunded***.** |
-
-##### Total section
-
-The **Total** section displays the total amount of items to be returned.
-
-##### General information section
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------- | -------------------------------- |
-| Order Reference | Reference number of the order. |
-| Return Reference | Reference number of the return. |
-| Return Date | Date when the return was created. |
-| Returned Items | Number of items to be returned. |
-| State | State of the return. |
-
-##### Marketplace section
-
-| ATTRIBUTE | DESCRIPTION |
-| ---------------------- | -------------------------------------- |
-| Merchant Order References | Merchant order reference number. |
-| Merchant | Name of the merchant that sold the item. |
-
-##### Customer section
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------- | ----------------------- |
-| Customer reference | Reference of the customer. |
-| Name | Customer name. |
-| Email | Customer’s email address. |
-
-## Printing a marketplace return slip
-
-For all returns, irrespective of their statuses, you can print the automatically generated [return slip](/docs/marketplace/user/back-office-user-guides/{{page.version}}/sales/managing-marketplace-returns.html#marketplace-return-item-states).
-
-To print the return slip:
-- In the **Actions** column on the **List of Returns** page, click **Print slip**.
-- On the **Return Overview _[Return reference]_** page, click **Print Return Slip**.
-
-This takes you to the page with the print version of the return slip.
-
-For reference information about **the List of Returns** and **Return Overview _[Return reference]_** pages, on this page, see [List of Returns](#list-of-returns-page) and [Overview [Return reference](#list-of-returns-page), respectively.
diff --git a/docs/marketplace/user/features/202108.0/index.md b/docs/marketplace/user/features/202108.0/index.md
deleted file mode 100644
index 6883b5ab4a6..00000000000
--- a/docs/marketplace/user/features/202108.0/index.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Features overview
-description: The feature guides provide details about features available in the Spryker Marketplace.
-template: concept-topic-template
----
-The Marketplace feature guides provide details about features available in the Spryker Marketplace. The feature guides highlight functional abilities, business values, and use-case examples of the features. This information might be useful for:
-
-- Business owners
-- Product owners
-- Anyone looking to learn more about the Spryker features or add new functionality to a Spryker-based project
diff --git a/docs/marketplace/user/features/202108.0/marketplace-cart-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-cart-feature-overview.md
deleted file mode 100644
index 432ca95cca5..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-cart-feature-overview.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Marketplace Cart feature overview
-description: This document contains concept information for the Marketplace Cart Notes feature.
-template: concept-topic-template
-redirect_from:
- - docs/marketplace/user/features/page.version/marketplace-cart-notes-feature-overview.html
----
-
-The *Marketplace Cart* feature lets you include a "Notes" field on the cart page. Buyers can add notes to a particular item or the whole cart, for example, some special instructions about preparing and delivering an order.
-
-Cart and item notes on the Storefront:
-
-![Marketplace Cart Notes on the Storefront](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Cart+Notes/mp-cart-notes-on-the-storefront.png)
-
-Item notes in the Merchant Portal:
-
-![Items notes in the Merchant Portal](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Cart+Notes/mp-item-notes-merchant-portal.png)
-
-The Marketplace administrator can see the special request in the [order details section of the Back Office](/docs/marketplace/user/back-office-user-guides/{{page.version}}/sales/managing-main-merchant-orders.html#merchant-order-overview-page):
-
-![Cart Notes in Back Office](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Shopping+Cart/Cart+Notes/cart-notes-admin.png)
-
-## Current constraints
-
-In a situation where the same product variants are added to the cart with different notes, the variants get merged with the same note.
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Cart feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-cart-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-inventory-management-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-inventory-management-feature-overview.md
deleted file mode 100644
index f84e252f00d..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-inventory-management-feature-overview.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: Marketplace Inventory Management feature overview
-description: This document contains concept information for the Marketplace Products feature.
-template: concept-topic-template
----
-
-The *Marketplace Inventory Management* feature enables maintaining stock and availability of merchant products and product offers that are sold in the Marketplace.
-In the context of inventory management, the *warehouse* is the physical place where your products are stored, and stock is the number of products available in the warehouse.
-
-## Marketplace warehouse management
-
-When a merchant is created, the corresponding warehouse is created for this merchant. The warehouse name is composed of the following parts: `merchant name` + `merchant reference` + `warehouse` + `index` (starting with 1, 2).
-
-{% info_block infoBox "Example" %}
-
-"Spryker MER000001 Warehouse 1" where `Spryker` is the merchant name, `MER000001` is a merchant reference, and the index is `1` as it is the first warehouse created.
-
-{% endinfo_block %}
-
-A warehouse can be assigned to a single store or shared between several stores. For details about how you can manage warehouses and stores in the Back Office, see [Managing warehouses](/docs/scos/user/back-office-user-guides/{{page.version}}/administration/warehouses/managing-warehouses.html).
-
-## Marketplace stock management
-
-The stock for product offers is defined in the corresponding merchant warehouse. The stock does not reflect the actual availability of products, as not all the items available in stock are available for sale. For example, when there are pending orders with offers, these order items are *reserved*, so they are not available for ordering, even if they are physically on hand.
-
-Merchants can define product offer stock in the Merchant Portal. For details, see [Managing product offers](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/offers/managing-product-offers.html).
-
-Also, you can do the following using the data import:
-* Manage stock of product offers for a merchant by importing the product offer and stock data separately: [File details: product_offer_stock.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-product-offer-stock.csv.html).
-* Define stock when importing the product offer data: [File details: combined_merchant_product_offer.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-combined-merchant-product-offer.csv.html).
-* Import merchant stock data: [File details: merchant_stock.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-stock.csv.html).
-* Import stock of merchant products: [File details: product_stock.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/stocks/file-details-product-stock.csv.html).
-
-## Marketplace availability management
-
-The difference between the current quantity of items in stock and the quantity of these items in the pending orders is called the *availability* of products.
-
-Product offer availability calculation differs from the calculation of concrete products availability:
-
-| CONCRETE PRODUCT AVAILABILITY | PRODUCT OFFER AVAILABILITY |
-| --------------------- | ------------------------ |
-| Formula: Concrete product availability = Concrete product quantity - Concrete product reservations | Formula: Offer availability = Offer quantity - Offer reservations |
-
-Offer availability is considered on the Storefront:
-* On the product details page: While adding the offer to cart.
-* On the cart page: The product stays in the cart if the attached offer is not available anymore, and a hint is shown.
-* During the checkout: When clicking **Buy now**, the availability is rechecked.
-
-{% info_block infoBox "Example" %}
-
-Let's assume that a merchant has defined quantity 10 for product offer 1. A customer adds 8 items of the product offer 1 to cart and later updates the quantity to 12. In such a situation, the availability of the product offer 1 is checked, and the customer is notified to update the quantity of the product offer to the available number to proceed with the purchase.
-
-{% endinfo_block %}
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Inventory Management feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-inventory-management-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
-
-## Related Business User documents
-
-| MERCHANT PORTAL USER GUIDES | BACK OFFICE USER GUIDES |
-| --------------------------- | ----------------------- |
-| [Managing product offers](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/offers/managing-product-offers.html) | |[Create warehouses](/docs/scos/user/back-office-user-guides/{{page.version}}/administration/warehouses/create-warehouses.html) | [Edit warehouses](/docs/scos/user/back-office-user-guides/{{page.version}}/administration/warehouses/edit-warehouses.html) |
diff --git a/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/main-merchant-concept.md b/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/main-merchant-concept.md
deleted file mode 100644
index 13978242c0d..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/main-merchant-concept.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: Main merchant concept
-description: This document contains concept information for the main merchant in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-The Spryker Marketplace platform offers sales opportunities to everyone. To help support the [Enterprise Marketplace](/docs/marketplace/user/intro-to-spryker-marketplace/marketplace-concept.html) model, not only the 3rd party merchants but also the company owner of the Marketplace store can sell their products and offers online. We call this company the *main merchant*.
-
-Thus, the main merchant acts as a common [marketplace merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html) having all its characteristics.
-
-## Main merchant orders and returns
-
-Being both a [marketplace operator](/docs/marketplace/user/intro-to-spryker-marketplace/marketplace-personas.html) and a seller and already performing tasks in the Back Office, the main merchant manages their [merchant orders](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html) also in the Back Office. For details, see [Managing main merchant orders](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/orders/managing-merchant-orders.html).
-
-## Main merchant state machine
-
-To manage merchant orders of the main merchant, the *main merchant state machine* exists. Out of the box, the main merchant state machine provides the following states:
-- Created
-- New
-- Canceled
-- Left the merchant location
-- Arrived at the distribution center
-- Shipped
-- Delivered
-- Closed
-
-The workflow of the main merchant state machine is schematically displayed in the following diagram:
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Merchant/Main+merchant+concept/main-merchant-state-machine-new.png)
-
-## Main merchant returns
-
-If the [Marketplace Return Management](/docs/marketplace/user/features/{{page.version}}/marketplace-return-management-feature-overview.html) feature is integrated into the project, the main merchant state machine obtains an additional return subprocess, and the flow looks like this:
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Merchant/Main+merchant+concept/marketplace-main-merchant-return-process.png)
diff --git a/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.md
deleted file mode 100644
index 7e0169b6b6a..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: Marketplace Merchant feature overview
-description: This document contains concept information for the Merchants feature in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-A *merchant* is a seller of goods or services, either a business or a private person working in the Marketplace environment. Merchants manage their business in the *Merchant Portal*. The *Merchant Portal* lets merchants upload and manage merchant products and [offers](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html), define prices and stock, fulfill orders, and edit merchant profile information. Merchant can have employees who can access the Merchant Portal and perform actions on the merchant's behalf there. These employees are referred to as [*merchant users*](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html).
-
-Merchant is the core entity of the Spryker Marketplace and the second main entity after customers since the Marketplace connects the buying customers and the selling customers.
-Every merchant in the Spryker Marketplace has a unique identifier in the system called *Merchant SKU*.
-You can [create merchants in the Back Office](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#creating-merchants) or [import merchants](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant.csv.html).
-
-{% info_block infoBox "Note" %}
-
-After you create a merchant, you can not delete it completely. You can only [deactivate](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#activating-and-deactivating-merchants) the merchant.
-
-{% endinfo_block %}
-
-## Merchant statuses
-
-The Marketplace administrator manages merchants and sets their statuses in the Back Office. Merchant statuses define the level of access of the specific merchant to:
-
-* The Merchant Portal:
- * *Waiting for approval*. Once the merchant record is created, this status is applied.
- * *Approved*. Once the record is approved, the merchant receives an email with the password information required to access the Merchant Portal. When the merchant is approved, merchant users can log in and create offers and products in the Merchant Portal.
- * *Denied*. A Marketplace administrator can deny access to the approved merchant. If denied, the merchant cannot log in to the Merchant Portal.
-
-
-
-* The merchant profile page, product offers and marketplace products on the Storefront:
- * *Active*. This status can be set only for the approved merchants. It indicates that the merchant's profile page is online, and the merchant can create offers and products. A merchant can also create offers and products and manage their sales activity.
- * *Inactive*. This status indicates that the merchant's profile page, products, and offers are offline. It is the default status for the created merchant. With this status, the merchant can not perform their selling online.
-
-
-| STATUS | MERCHANT PORTAL ACCESS | STOREFRONT PROFILE PAGE, OFFERS, AND PRODUCTS |
-| --- | --- | --- |
-| Waiting For Approval | ✗ | N/A |
-| Approved | ✓ | N/A |
-| Denied | ✗ | N/A |
-| Active | N/A | ✓ |
-| Inactive | N/A | ✗ |
-
-For details about how to change the merchant statuses and activate or deactivate merchants in the Back Office, see [approving and denying merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#approving-and-denying-merchants) and [activating and deactivating merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#activating-and-deactivating-merchants).
-
-{% info_block infoBox "Info" %}
-
-Whenever a merchant is denied, all the users (/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html) of this merchant get deactivated. Upon re-approval, the merchant users must be manually activated one by one.
-
-{% endinfo_block %}
-
-Schematically, the merchant status change flow looks like this:
-
-![Merchant status flow](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/merchant-status-flow.png)
-
-## Merchant category
-
-You can group merchants by categories to make your working process more efficient and simplify merchants' search for customers. For details, see [Merchant Category](/docs/marketplace/user/features/{{page.version}}/merchant-category-feature-overview.html).
-
-## Merchants on the Storefront
-
-### Merchant profile
-
-On the Storefront, customers can check the relevant merchant information on the **Merchant Profile** page.
-
-{% info_block infoBox "Note" %}
-
-The merchant profile page is available only if the merchant is [Active](#merchant-statuses).
-
-{% endinfo_block %}
-
-The information for a merchant profile can be defined:
-
-* By the Marketplace administrator in the Back Office when [creating merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#creating-merchants) or [editing merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#editing-merchants).
-* By importing the merchant profile data. For more information, see [File details: merchant_profile.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile.csv.html) and [File details: merchant_profile_address.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-profile-address.csv.html).
-* By the merchant in the Merchant Portal:
-![Merchant profile page](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/merchant-profile-page.png)
-
-![Viewing merchant profile](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/view-merchant-profile.gif)
-
-
-### Merchant opening hours
-
-To make the selling activity efficient, merchants can provide their working schedule that will display to buyers on the Storefront. For details, see [Merchant Opening Hours feature overview](/docs/marketplace/user/features/{{page.version}}/merchant-opening-hours-feature-overview.html).
-
-### Merchant links on the Storefront pages
-
-Marketplace Storefront lets buyers check what merchants are the owners of the offers and products the customers are buying. The respective merchant names with the link to the merchant profile page are available:
-
-* On the product detail page
-
-![Merchant link on the PDP](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/merchant-link-on-pdp.png)
-
-* On the cart page
-
-![Merchant link on the cart page](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/merchant-link-on-the-cart-page.png)
-
-* On the summary checkout page
-
-![Merchant link on the summary checkout page](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/merchant-link-on-summary-page.png)
-
-* On the order details page
-
-![Merchant link on the order details page](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/merchant-link-on-order-details.png)
-
-### Searching and filtering by merchant name
-
-In the Spryker Marketplace, you can search for the products sold by a specific merchant by entering the merchant name in the search field. The search results contain the marketplace products and/or the abstract products the merchant product offers are related to. The search suggestions and the auto-completion functionality provide the marketplace products and offers by the merchant name.
-![Search by merchant name](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/search-by-merchant-name.gif)
-
-In the catalog and search results pages, there is the merchant multi-select filter. This filter lets shoppers see only the products with the product offers belonging to the selected merchant. For more details about filters available in the Spryker Commerce O, see [Standard Filters](/docs/scos/user/features/{{page.version}}/search-feature-overview/standard-filters-overview.html) documentation.
-
-![Merchant search filter](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Merchants/Merchants+feature+overview/merchant-filter.gif)
-
-
-If the merchant is not active, their products and offers are not displayed in the search suggestions, search results, and the merchant filter.
-
-## Next steps
-
-Learn about [merchant users](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html)
-
-## Related Business User documents
-
-|FEATURE OVERVIEWS |MERCHANT PORTAL USER GUIDES |BACK OFFICE USER GUIDES |
-|---------|---------|---------|
-|[Merchant users overview](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html) | [Editing merchant's profile details](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/profile/editing-merchants-profile-details.html) |[Managing merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html)|
-|[Main merchant concept](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html)| | [Managing merchant users](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchant-users.html)|
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Merchant feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-merchant-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/merchant-users-overview.md b/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/merchant-users-overview.md
deleted file mode 100644
index 076c24e8bdb..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-merchant-feature-overview/merchant-users-overview.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: Merchant users overview
-description: This document contains concept information for The Merchant users feature in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-The merchant concept presupposes having employees with access to the Merchant Portal that will perform various actions on behalf of the merchants. To enable that, the *merchant user* entity is introduced.
-From the technical point of view, Merchant Portal is a subset of modules in Zed functioning separately from the Back Office application. As in the Back Office, there are users performing different types of actions (they are further on called *Back Office users*); the Merchant Portal has merchant users that function similarly within a merchant account.
-
-{% info_block infoBox "Example" %}
-
-For example, there can be a person responsible only for creating and managing product offers; the other person takes care of shipping merchant orders to their buyers. It means that two merchant users need to be created for these purposes.
-
-{% endinfo_block %}
-
-To add merchant users for a merchant, the merchant must be created first. When the merchant record exists, a Marketplace administrator can set up one or several merchant users to manage the merchant account.
-
-The merchant users concept follows certain rules:
-
-* Every merchant user has a unique email address in the system.
-* A merchant user belongs to one merchant, and the same merchant user can't be assigned to two or more merchants.
-
-## Merchant user statuses
-
-The following table explains all the statuses that may apply to a merchant user.
-
-
-| STATUS | DESCRIPTION |
-| --- | --- |
-| Active | When the merchant user has the `Active` status, it means that the merchant is approved, the merchant user account is activated, the email with reset password instructions has been sent, and the merchant user has access to the Merchant Portal. |
-| Deactivated | Access to the Merchant Portal is revoked for a deactivated merchant user. A merchant user can be deactivated when:
A merchant or Marketplace administrator deactivates the merchant user.
The merchant to whom the merchant user belongs has been [denied](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses).
|
-| Deleted | Access to the Merchant Portal is revoked for the deleted merchant user. In the current implementation, both statuses `Deactivated` and `Deleted` have the same functionality—they restrict access to the Merchant Portal. However, this can be changed and adapted on the project level. |
-
-## Merchant user access
-
-Both merchant and typical Back Office users have a common entry point, but the login URLs to the Back Office and Merchant Portal are different. The exemplary login link to the Merchant Portal is `https://os.de.marketplace.demo-spryker.com/security-merchant-portal-gui/login`.
-
-To log in to the Merchant Portal, both a merchant and merchant user need to be activated in the Back Office.
-
-{% info_block infoBox "Info" %}
-
-If a merchant is [denied](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-statuses), all their merchant users get deactivated automatically. If the merchant is re-approved again, their merchant users need to be re-activated one by one manually.
-
-{% endinfo_block %}
-
-Upon entering the Merchant Portal, a separate area with a different navigation menu is displayed to a merchant user.
-Merchant users have access only to the information related to their organization through the Merchant Portal application (profile, products, offers, orders); that is, merchant users have their own area and do not access the Back Office.
-
-## Merchant user workflow
-
-1. A Marketplace administrator creates a merchant and approves it.
-2. When the merchant is approved, corresponding merchant users can be created in **Back Office > Merchant > Users**.
-3. After the merchant user is created, they need to be [activated](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchant-users.html#activating-and-deactivating-the-merchant-users) to log in to the Merchant Portal.
-4. The "Reset Password" email is sent to the activated merchant user.
-5. After the password is reset, the merchant user can log in to the Merchant Portal.
diff --git a/docs/marketplace/user/features/202108.0/marketplace-merchant-portal-product-offer-management-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-merchant-portal-product-offer-management-feature-overview.md
deleted file mode 100644
index b61b1278951..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-merchant-portal-product-offer-management-feature-overview.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Marketplace Merchant Portal Product Offer Management feature overview
-description: This document describes product offer management in the Merchant Portal.
-template: concept-topic-template
----
-
-In a marketplace environment, merchants manage [product offers](/docs/marketplace/user/features/{{page.version}}/marketplace-product-offer-feature-overview.html) in the Merchant Portal.
-
-
-## Managing product offers
-
-Merchants create product offers based on the products that exist in the marketplace. When creating an offer, they can see full information about products, including the number of existing offers for each of them.
-
-One merchant can create multiple offers for the same product. When creating product offers, the number of product offers for a product includes their own existing product offers.
-
-Merchants define the following settings when creating product offers:
-
-|SETTING|DESCRIPTION|
-|---|---|
-| Status| Active or Inactive. |
-| Merchnat SKU | Unique identifier of the offer in the merchants' system. |
-| Stores| Spryker Marketplace is a multi-store environment, and merchants can define which stores to display their offers in. |
-|Stock | Offer's own stock that's not dependent on the respective product's stock. |
-|Prices | Product offers support all types of Spryker Commerce OS prices: [volume](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html), [default and original](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html). |
-| Validity dates | Defines the period when an offer is displayed on the Storefront. Even if the respective product is no longer available, the offer can still be displayed. |
-
-
-
-## Related Business User documents
-
-|MERCHANT PORTAL USER GUIDES |BACK OFFICE USER GUIDES |
-|---------|---------|
-| [Managing product offers](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/offers/managing-product-offers.html) |[Managing merchant product offers](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/offers/managing-merchant-product-offers.html)|
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Merchant Portal Product Offer Management feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-merchant-portal-product-offer-management-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.md b/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.md
deleted file mode 100644
index f75e4f641d7..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-title: Marketplace and merchant state machines interaction
-description: This document contains details about how the Marketplace and merchant state machines interact with each other in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-When viewed independently of each other, the Marketplace and Merchant State Machines workflows look like this:
-
-Marketplace State Machine workflow:
-![Marketplace state machine workflow](https://confluence-connect.gliffy.net/embed/image/f0eb1f48-ae89-47ca-8f48-42e37c63f4ba.png)
-
-Merchant State Machine workflow:
-![Merchant state machine workflow](https://confluence-connect.gliffy.net/embed/image/b938441d-1a4a-4fe3-903d-580965b1bfea.png?utm_medium=live&utm_source=custom)
-
-In this article, we'll look into the process of how Marketplace and merchant state machines interfere and check what statuses are displayed in the Back Office to a Marketplace administrator, in the Merchant Portal to a merchant, and on the Storefront to a buyer.
-
-## Order item’s status progress: New
-The process starts when a customer places an order. The Marketplace order obtains state *New*.
-![State: New](https://confluence-connect.gliffy.net/embed/image/630bbd7b-66ee-475f-9d79-50a258b994b2.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ------------------------ | -------------- | ------------------- |
-| Marketplace administrator | Back Office | New |
-| Merchant | Merchant Portal | N/A |
-| Customer | Storefront | Confirmed / Accepted |
-
-## Order item’s status progress: Paid
-Once the Marketplace administrator receives the payment, the state of the marketplace order item becomes *Paid*. The event could be triggered automatically when the payment was made in the marketplace system, or the payment confirmation is uploaded with data importers or manually in other circumstances.
-
-![Order item’s status progress: Paid](https://confluence-connect.gliffy.net/embed/image/98582508-84a7-4fc5-ad6e-73ace5772daa.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ------------------------ | -------------- | ---------- |
-| Marketplace administrator | Back Office | Paid |
-| Merchant | Merchant Portal | N/A |
-| Customer | Storefront | In Progress |
-
-## Order item’s status progress: Canceled
-After the payment has been made, the customer can still cancel the order during the period outlined by the Marketplace policies. The Marketplace provides the customer with a button on the Storefront to carry out that action. When the customer cancels the order, the state of the marketplace order item becomes *Canceled*.
-
-{% info_block infoBox "Note" %}
-
-The Marketplace administrator can also cancel the order under exceptional circumstances.
-
-{% endinfo_block %}
-
-
-
-
-![Order item’s status progress: Canceled](https://confluence-connect.gliffy.net/embed/image/d6ceb379-7990-4bf1-b2d4-a46a80230d58.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ------------------------ | -------------- | --------- |
-| Marketplace administrator | Back Office | Canceled |
-| Merchant | Merchant Portal | N/A |
-| Customer | Storefront | Canceled |
-
-## Order item’s status progress: Refunded
-When the order is canceled after the payment has been made, the Marketplace administrator has to refund the payment for the canceled order to the customer in full or partially. Once the refund has been made, the state of the Marketplace order item becomes *Refunded*. After issuing the refund, the Marketplace policies set time to elapse before the state of the order is automatically transferred to *Closed*.
-
-![Order item’s status progress: Refunded](https://confluence-connect.gliffy.net/embed/image/fafabe65-1339-48d7-88b3-b83bf54ccf09.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ------------------------ | -------------- | --------- |
-| Marketplace administrator | Back Office | Refunded |
-| Merchant | Merchant Portal | N/A |
-| Customer | Storefront | Refunded |
-
-## Order item’s status progress: Sent to Merchant
-When the system has payment confirmation, it performs the operations to split the marketplace order into one or several merchant orders. The state of the marketplace order item becomes *Sent to Merchant*. The merchant orders are created, and each of the items that they contain shows a state according to each Merchant’s state machine. The first state is *New*.
-
-![Order item’s status progress: Sent to Merchant](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Order+Management/sent-to-merchant.png)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ----------------- | -------------- | --------- |
-| Marketplace administrator | Back Office | Sent to Merchant |
-| Merchant | Merchant Portal | New |
-| Customer | Storefront | In Progress |
-
-## Order item’s status progress: Canceled by Merchant
-Merchant can cancel the order for various reasons. The state of the merchant order item, in this case, will change to *Canceled by Merchant*. The Marketplace administrator also sees the updated state in the Back Office.
-
-![Order item’s status progress: Canceled by Merchant](https://confluence-connect.gliffy.net/embed/image/c141bb84-9abe-48c7-8ca4-5ea508435480.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ----------- | -------------- | --------- |
-| Marketplace administrator | Back Office | Canceled |
-| Merchant | Merchant Portal | Canceled by Merchant|
-| Customer | Storefront | Canceled |
-
-## Order item’s status progress: Shipped by Merchant
-The merchant ships the item to the customer's address. To input this information on Merchant Portal, the merchant triggers the event manually (the **Shipped** action button) or by importing of the new state via a CSV file. The item’s state on the merchant state machine moves to *Shipped*. The Marketplace administrator also needs to make use of this info. They need to see that the item was also shipped in the Marketplace state machine.
-
-![Order Item’s Status Progress: Shipped by Merchant](https://confluence-connect.gliffy.net/embed/image/6cea2d2f-1797-47ba-8a99-938aef05fc90.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ------------- | -------------- | --------- |
-| Marketplace administrator | Back Office | Shipped by Merchant |
-| Merchant | Merchant Portal | Shipped |
-| Customer | Storefront | Shipped Expected by \ |
-
-## Order item’s status progress: Delivered
-After the shipment, the merchant tracks the delivery with the shipment carrier. When the item is delivered, the carrier notifies the merchant. The merchant triggers the *Deliver* event manually (**Delivered** action button) or automatically by uploading a CSV with the new state to the Merchant Portal. The Marketplace administrator also needs to be aware of this information. The state is also updated on the Marketplace state machine.
-
-![Order item’s status progress: Delivered](https://confluence-connect.gliffy.net/embed/image/04b08764-f5c4-4de7-9725-b12557e2ea61.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION | STATUS |
-| ------------- | -------------- | --------- |
-| Marketplace administrator | Back Office | Delivered |
-| Merchant | Merchant Portal | Delivered |
-| Customer | Storefront | Delivered on \ |
-
-## Order item’s status progress: Closed
-Marketplace applies a series of policies that let customers return items during a given period of time. When that period expires, the marketplace order item gets the *Closed* state. The Merchant administrator must also be aware of that expiration, and the state closed is also used on the Merchant state machine for the item.
-
-![Order item’s status progress: Closed](https://confluence-connect.gliffy.net/embed/image/d4583bab-dda6-4ecc-bd92-94388f5e8710.png?utm_medium=live&utm_source=custom)
-
-The following table provides an overview of the statuses that are displayed at this step:
-
-| ROLE | APPLICATION| STATUS |
-| --------- | ------------- | --------------- |
-| Marketplace administrator | Back Office | Delivered |
-| Merchant | Merchant Portal | Delivered |
-| Customer | Storefront | Delivered on \ |
diff --git a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.md b/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.md
deleted file mode 100644
index 37c9c487a86..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: Marketplace and merchant state machines overview
-description: This document contains concept information about the Marketplace and merchant state machines in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-The basic concept of state machines allows creating a patterned behavior and automation for complicated processes defined by the business, for example, order processes.
-With the help of the state machine, a business owner can coordinate the process of changing the statuses of orders and order items according to the business logic.
-To provide the algorithm of dealing with orders for Marketplace administrators and merchants simultaneously, there are multiple state machine templates. These templates help the Marketplace owners to make the order management process flexible and corresponding to the business logic. As the process of managing marketplace orders is different from that of managing the merchant orders, there are two separate state machine engine templates: *Marketplace state machine* and *Merchant state machine*.
-
-{% info_block infoBox "Info" %}
-
-You can set up as many state machines as you need and let your Marketplace administrator decide which state machine to use for specific payment methods or countries and stores with different processes. You can also set up different merchant state machines to apply to different merchants according to their processes.
-
-{% endinfo_block %}
-
-![Marketplace and merchant state machines](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+order+management/Marketplace+and+merchant+state+machines+overview/Marketplace-Merchant+state+machine+schema.png)
-
-## Marketplace state machine
-
-The Marketplace can have one or several state machines assigned to the marketplace orders. Marketplace State Machine processes marketplace order items.
-Our exemplary Marketplace state machine provides the following states:
-
-* New
-* Paid
-* Canceled
-* Refunded
-* Sent to Merchant
-* Shipped by Merchant
-* Delivered
-* Closed
-
-To learn more about states, see [State Machine Fundamentals](/docs/scos/dev/best-practices/state-machine-cookbook/state-machine-cookbook-state-machine-fundamentals.html).
-
-{% info_block warningBox "Note" %}
-
-You can set up the states according to your business requirements.
-The status of the Marketplace order is an aggregated state of the Marketplace order items.
-
-{% endinfo_block %}
-
-
-
-Marketplace state machine flow
-
-![Merchant state machine](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+and+Merchant+State+Machines+feature+overview/marketplace-state-machine.png)
-
-
-
-### Marketplace state machine in the Back Office
-
-Marketplace administrators manage the orders in the Back Office. For details, see [Managing marketplace orders](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/orders/managing-marketplace-orders.html). In the Back Office, the Marketplace administrators can change the state of the marketplace order by triggering the states. However, they can do that only if there are manually executable events related to the marketplace order items. Triggering the states executes the corresponding event and moves the marketplace order item to the next state. There can be multiple triggering buttons corresponding to several items in the marketplace order. When you click one of those buttons, only the items with such a manually executable event execute it. The rest stay in the same state and need their trigger to be performed to move to the next state.
-
-If there are no manually executable events applicable to any of the items, there is no button to click in the Back Office interface. In this case, the action is performed automatically.
-
-## Merchant state machine
-The Marketplace administrator can define one or several state machines for merchants:
-* One as the default, which applies automatically to merchant order items in every merchant order.
-* Another state machine for a specific merchant.
-
-Merchant state machine processes merchant order items and works in parallel with the Marketplace state machine.
-The status of the merchant order is aggregated from the merchant order item statuses. The merchant order status gets properly updated when the state of the items changes.
-Our exemplary merchant state machine provides the following states:
-1. New
-2. Canceled by merchant
-3. Shipped
-4. Delivered
-5. Closed
-
-
-
-Merchant state machine flow
-
-![Merchant state machine](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+and+Merchant+State+Machines+feature+overview/merchant-state-machine.png)
-
-
-
-## Next steps
-
-[Learn how the marketplace and merchant state machines interact with each other](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.html)
diff --git a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.md
deleted file mode 100644
index c5007bcc7b8..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Marketplace Order Management feature overview
-description: This document contains concept information for the Marketplace order feature in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-When a customer places an order on the Marketplace, the *Marketplace order* is created in the system. Compared to a regular order in Spryker Commerce OS, the Marketplace order contains information about merchants and one or several [merchant orders](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html). Thus, the Marketplace order represents a list of items a customer has bought from one or multiple merchants in a single order.
-
-![Marketplace order](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+order+feature+overview/marketplace-order.png)
-
-Each Marketplace order has a set of properties such as order number, order summary, payment information, date, state, shipping methods, and others.
-
-For example, let’s consider the case when a customer purchased four items from three different merchants in one order.
-From the customer perspective, the Marketplace order is a single order with products from one or multiple merchants:
-
-![Marketplace order structure](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+order+management/Marketplace+Order+Management+feature+overview/Marketplace+Order+schema.png)
-
-The items in the Marketplace order are grouped by merchant and split into different shipments automatically by default. However, you can change this behavior on the project level according to your business requirements. During the checkout, customers can check how many shipments to expect and select different delivery addresses or methods based on their items. To learn more about multiple shipments, see the [Split Delivery feature overview](/docs/scos/user/features/{{page.version}}/order-management-feature-overview/split-delivery-overview.html).
-
-As the Marketplace order contains details about offers and products a customer has bought from multiple merchants, the Marketplace order list with the related information is only available to the Marketplace administrator in the Back Office. See [Managing marketplace orders](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/orders/managing-marketplace-orders.html) for details about how Marketplace administrators can manage Marketplace orders in the Back Office. Each [merchant order](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html) can be accessed and managed by the relevant merchant in the Merchant Portal.See [Managing merchant orders](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/orders/managing-merchant-orders.html) for details about how merchants can manage their orders in the Merchant Portal.
-
-![Merchant order in the Merchant Portal](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+order+feature+overview/merchant-order-in-merchant-portal.png)
-
-## Marketplace and merchant order states machines
-You can coordinate the Marketplace and merchant orders processing by triggering the state machine events.
-
-For details about the Marketplace and merchant order state machines, see [Marketplace and merchant state machines](/docs/marketplace/user/features/{{page.version}}//marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html).
-
-For details about how the two state machines interact, see [Marketplace and merchant state machine interactions](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.html).
-
-## Marketplace order calculation
-By default, calculations for the Marketplace order items are performed using the item price (product offer price or the price inherited from the concrete or abstract product), their totals, subtotal aggregation, and tax information.
-
-The Marketplace order contains all the [totals from the Merchant orders](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html) and is defined by the following formula:
-
-{% info_block infoBox "Info" %}
-
-Marketplace Sales Order Total = ∑ Merchant Order Totals + ∑ Marketplace Sales Order Expense Totals.
-
-{% endinfo_block %}
-
-At the same time, each Marketplace Order Total includes the sum of the respective Merchant Order Totals, for example:
-
-* Marketplace Sales Order Subtotal = Merchant Order Subtotal 1 + Merchant Order Subtotal 2 + Merchant Order Subtotal n.
-* Marketplace Sales Order Discount Total = ∑ Discount Totals included in all Merchant Orders. Check [Marketplace Promotions and Discounts feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-promotions-and-discounts-feature-overview.html) to learn how the discounts are calculated.
-* Marketplace Sales Order Tax Total= ∑ Merchant Order Tax Totals.
-* Marketplace Sales Order Grand Total = ∑ Merchant Order Grand Totals.
-* Marketplace Sales Order Refund Total = ∑ Merchant Order Refund Totals.
-* Marketplace Sales Order Canceled Total = ∑ Merchant Order Canceled Totals.
-
-The sum of Merchant Order Expense Totals may not equal the Marketplace Sales Order Expense Total, as the Marketplace order itself may have additional expenses or fees that do not relate to Merchant orders.
-
-![Marketplace order calculation](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+order+feature+overview/marketplace-order-calculation.png)
-
-### Rounding
-Rounding rules for a regular SCOS sales order also apply to the Marketplace order. The rules imply:
-
-* The rounding is performed on the third decimal number.
-* If the number you are rounding is followed by 5, 6, 7, 8, or 9, round the number up. Example: The number 325.78721 will be rounded to 325.79.
-* If the number you are rounding is followed by 0, 1, 2, 3, or 4, round the number down. Example: The number 62.5347 will be rounded to 62.53.
-
-{% info_block warningBox "Warning" %}
-
-In some cases, due to rounding, the amounts of Marketplace order totals can differ from the amounts of the Merchant order totals in a matter of a cent or less. You can modify the behavior by changing the rounding algorithms on the project level.
-
-{% endinfo_block %}
-
-## Next steps
-* [Learn about the merchant orders](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html)
-* [Learn about the Marketplace and merchant state machines](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html)
-
-## Related Business User documents
-
-|FEATURE OVERVIEWS |MERCHANT PORTAL USER GUIDES |BACK OFFICE USER GUIDES |
-|---------|---------|---------|
-|[Merchant order overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html) |[Managing merchant orders](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/orders/managing-merchant-orders.html) | [Managing main merchant orders](/docs/marketplace/user/back-office-user-guides/{{page.version}}/sales/managing-main-merchant-orders.html)|
-|[Marketplace and merchant state machines overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html) | | |
-|[Marketplace and merchant state machines interaction](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.html) | | |
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Order Management feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-overview.md b/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-overview.md
deleted file mode 100644
index 4094bc34751..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/marketplace-order-overview.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Marketplace Order Management feature overview
-description: This document contains concept information for the Marketplace order feature in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-When a customer places an order on the Marketplace, the *Marketplace order* is created in the system. The Marketplace order, in comparison to a regular order in Spryker Commerce OS, contains information about merchants and one or several [merchant orders](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html). Thus, the Marketplace order represents a list of items a customer has bought from one or multiple merchants in a single order.
-
-![Marketplace order](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+order+feature+overview/marketplace-order.png)
-
-Each Marketplace order has a set of properties such as order number, order summary, payment information, date, state, shipping methods, and others.
-
-For example, let’s consider the case when a customer purchased 4 items from 3 different merchants in 1 order.
-From the customer perspective, the Marketplace order is a single order with products from one or multiple merchants:
-
-![Marketplace order structure](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+order+management/Marketplace+Order+Management+feature+overview/Marketplace+Order+schema.png)
-
-The items in the Marketplace order are grouped by merchant and split into different shipments automatically by default. However, you can change this behavior on the project level according to your business requirements. During the checkout, customers can check how many shipments to expect and select different delivery addresses or methods based on their items. To learn more about multiple shipments, the see [Split Delivery feature overview](/docs/scos/user/features/{{page.version}}/order-management-feature-overview/split-delivery-overview.html).
-
-As the Marketplace order contains details about offers and products a customer has bought from multiple merchants, the Marketplace order list with the related information is only available to the Marketplace administrator in the Back Office. Each [merchant order](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html) can be accessed and managed by the relevant merchant in the Merchant Portal.
-
-![Merchant order in the Merchant Portal](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+order+feature+overview/merchant-order-in-merchant-portal.png)
-
-## Marketplace and merchant order states machines
-You can coordinate the Marketplace and merchant orders processing by triggering the state machine events.
-
-For details about the Marketplace and merchant order state machines, see [Marketplace and merchant state machines](/docs/marketplace/user/features/{{page.version}}//marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html).
-
-For details about how the two state machines interact with each other, see [Marketplace and merchant state machine interactions](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.html).
-
-## Marketplace order calculation
-By default, calculations for the Marketplace order items are performed using the item price (product offer price or the price inherited from the concrete or abstract product), their totals, subtotal aggregation, and tax information.
-
-The Marketplace order contains all the [totals from the Merchant orders](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html) and is defined by the following formula:
-
-{% info_block infoBox "Info" %}
-
-Marketplace Sales Order Total = ∑ Merchant Order Totals + ∑ Marketplace Sales Order Expense Totals
-
-{% endinfo_block %}
-
-At the same time, each Marketplace Order Total includes the sum of the respective Merchant Order Totals, for example:
-
-* Marketplace Sales Order Subtotal = Merchant Order Subtotal 1 + Merchant Order Subtotal 2 + Merchant Order Subtotal n.
-* Marketplace Sales Order Discount Total = ∑ Discount Totals included in all Merchant Orders. Check [Marketplace Promotions and Discounts feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-promotions-and-discounts-feature-overview.html) to learn how the discounts are calculated.
-* Marketplace Sales Order Tax Total= ∑ Merchant Order Tax Totals.
-* Marketplace Sales Order Grand Total = ∑ Merchant Order Grand Totals.
-* Marketplace Sales Order Refund Total = ∑ Merchant Order Refund Totals.
-* Marketplace Sales Order Canceled Total = ∑ Merchant Order Canceled Totals.
-
-The sum of Merchant Order Expense Totals may not equal the Marketplace Sales Order Expense Total, as the Marketplace order itself may have additional expenses or fees that do not relate to Merchant orders.
-
-![Marketplace order calculation](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Marketplace+and+Merchant+orders/Marketplace+order+feature+overview/marketplace-order-calculation.png)
-
-### Rounding
-Rounding rules for a regular SCOS sales order also apply to the Marketplace order. The rules imply:
-
-* The rounding is performed on the third decimal number.
-* If the number you are rounding is followed by 5, 6, 7, 8, or 9, round the number up. Example: The number 325.78721 will be rounded to 325.79.
-* If the number you are rounding is followed by 0, 1, 2, 3, or 4, round the number down. Example: The number 62.5347 will be rounded to 62.53.
-
-{% info_block warningBox "Warning" %}
-
-In some cases, due to rounding, the amounts of Marketplace order totals can differ from the amounts of the Merchant order totals in a matter of a cent or less. You can modify the behavior by changing the rounding algorithms on the project level.
-
-{% endinfo_block %}
-
-## Next steps
-* [Learn about the merchant orders](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html)
-* [Learn about the Marketplace and merchant state machines](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html)
-
-## Related Business User documents
-
-|FEATURE OVERVIEWS |MERCHANT PORTAL USER GUIDES |BACK OFFICE USER GUIDES |
-|---------|---------|---------|
-|[Merchant order overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/merchant-order-overview.html) |[Managing merchant orders](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/orders/managing-merchant-orders.html) | |
-|[Marketplace and merchant state machines overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html) | | |
-|[Marketplace and merchant state machines interaction](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-interaction.html) | | |
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Order Management feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-order-management-feature-walkthrough/marketplace-order-management-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/merchant-order-overview.md b/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/merchant-order-overview.md
deleted file mode 100644
index a6dab64a7b6..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-order-management-feature-overview/merchant-order-overview.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: Merchant order overview
-description: This document contains concept information for the Merchant order feature in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-In the marketplace, when a buyer goes through checkout, the [Marketplace order](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.html) is created. Such an order can contain offers and products from different merchants. The part of the order that belongs to a certain merchant is called *merchant order*. The merchant order created in the system after the Marketplace order has been placed. Thus, each merchant order contains at least one item from the Marketplace order.
-
-![Merchant order](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+order+management/Marketplace+Order+Management+feature+overview/Merchant+Order+overview/Merchant+Order+schema.png)
-
-
-
-## Merchant order calculation
-
-A merchant order consists of merchant order items, which are items (products) purchased by a customer. All the calculations for merchant order items are performed using the product offer, merchant products price, and *merchant order totals*. These are the [initial totals](/docs/scos/dev/feature-walkthroughs/{{page.version}}/cart-feature-walkthrough/calculation-3-0.html) that are calculated according to the product offer purchased:
-
-| TOTAL | DESCRIPTION |
-| -------- | -------------- |
-| Canceled total | Amount to be returned in case the order was canceled. `Canceled total = Merchant Order grand total - Merchant Order expense total` |
-| Discount total | Total discount amount. |
-| Merchant Order grand total | Total amount the customer needs to pay after the discounts have been applied. |
-| Merchant Order expense total | Total expenses amount (for example, shipping). |
-| Merchant Order refund total | Total refundable amount. |
-| Merchant Order subtotal | Total amount before taxes and discounts. |
-| Merchant Order tax total | Total tax amount from the grand total. |
-| Marketplace Operator fees total | Total amount of fees paid to the Marketplace administrator. |
-
-The rounding logic for the calculations is the same as the one used for the Marketplace order. For details, see [Rounding in the Marketplace Order feature overview](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.html#rounding).
diff --git a/docs/marketplace/user/features/202108.0/marketplace-product-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-product-feature-overview.md
deleted file mode 100644
index e7539da3be0..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-product-feature-overview.md
+++ /dev/null
@@ -1,85 +0,0 @@
----
-title: Marketplace Product feature overview
-description: This document contains concept information for the Marketplace Products feature.
-template: concept-topic-template
----
-
-In the Marketplace, products that a merchant owns are referred to as *marketplace products*. Besides creating offers for products of other merchants or the ones that the Marketplace administrator suggests, a merchant can also create their own unique products. These products possess the same characteristics the usual abstract and concrete products have, but in addition, every such product has merchant-related information such as merchant reference. Merchants can [create their products in the Merchant Portal](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/creating-marketplace-abstract-product.html) or [import the marketplace products data](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product.csv.html), or merchants manage stock and set prices for their products in the Merchant Portal. For details, see [Managing marketplace abstract products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html).
-
-Merchants can let other merchants create offers for their unique products. This possibility is defined with the help of the `is_shared` parameter of the [marketplace product data importer](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product.csv.html).
-
-## Marketplace products on the Storefront
-
-The marketplace products are displayed on the Storefront when the following conditions are met:
-
-1. The product status is *Active*.
-2. The merchant who owns the product is [*Active*](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#activating-and-deactivating-merchants).
-3. The product visibility state is *Online*.
-4. The product is defined for the current store.
-5. The product has stock or is always in stock.
-6. The current day is within the range of the product validity dates.
-
-### Marketplace product on the product details page
-
-Marketplace product appears on top of the **Sold by** list together with the product offers from other merchants. For a buyer, it doesn't matter whether they are buying a product offer or a marketplace product; however, in the system, different entities are defined.
-
-Product price on top of the product details page is taken from the marketplace product or the product offer. It depends on the option selected in the **Sold by** field.
-
-![marketplace product on PDP](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+product/merchant-product-on-pdp.png)
-
-The marketplace product is also displayed with the **Sold By** field defining the merchant on the following pages:
-
-- Cart page
-- Wishlist
-- Shipment page of the Checkout
-- Summary page of the Checkout
-- Order Details of the customer account
-
-![marketplace product on PDP](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+product/add-merchant-product-to-wl-and-from-wh-to-cart.gif)
-
-
-### Searching and filtering marketplace products
-
-When the merchant name is entered in the catalog search, not only the offers but also the products belonging to this merchant are displayed. By selecting a merchant name in the filter, products from this merchant are also displayed.
-
-![Search for marketplace products](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+product/search-for-products-by-name-and-sku.gif)
-
-
-## Marketplace products in the Back Office
-
-Before new marketplace products become visible on the Storefront, they must be [activated either by the merchant](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html#activating-and-deactivating-a-concrete-product) in the Merchant Portal or [by the Marketplace administrator in the Back Office](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/products/managing-products/managing-products.html#activating-a-product).
-
-A Marketplace administrator can filter the products belonging to certain merchants in the Back Office.
-
-![merchants-switcher-on-products](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+product/filter-merchant-productsby-merchant-back-office.gif)
-
-Also, Marketplace administrators can edit products, if needed, and create products when acting as the [main merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html).
-
-
-## Marketplace products in the Merchant Portal
-
-Merchants [create](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/creating-marketplace-concrete-product.html) and [manage their products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html) in the Merchant Portal. They can [define prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-prices.html), stock, and [attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html) for their products.
-
-## Related Business User documents
-
-| MERCHANT PORTAL USER GUIDES | BACK OFFICE USER GUIDES |
-| -------------------- | ----------------------- |
-| [Creating marketplace abstract products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html) | |
-| [Creating marketplace concrete products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/creating-marketplace-concrete-product.html) | |
-| [Managing marketplace abstract products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html) | [Editing abstract products](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/products/abstract-products/editing-abstract-products.html) |
-| [Managing marketplace concrete products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html)| [Editing a product variant](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/products/abstract-products/editing-abstract-products.html) |
-| [Managing marketplace abstract product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-prices.html) | |
-| [Managing marketplace concrete product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-prices.html) | |
-| [Managing marketplace abstract product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-image-sets.html) | |
-| [Managing marketplace concrete product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-products-image-sets.html) | |
-| [Managing marketplace abstract product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html) | |
-| [Managing marketplace concrete product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-attributes.html) | |
-| [Managing marketplace abstract product meta information](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-meta-information.html) | |
-| | |
-
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Products feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
\ No newline at end of file
diff --git a/docs/marketplace/user/features/202108.0/marketplace-product-offer-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-product-offer-feature-overview.md
deleted file mode 100644
index 6a53452e1c8..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-product-offer-feature-overview.md
+++ /dev/null
@@ -1,144 +0,0 @@
----
-title: Marketplace Product Offer feature overview
-description: This document contains concept information for the Product offers feature in the Spryker Commerce OS.
-template: concept-topic-template
----
-
-The *Product Offer* entity is created when multiple merchants need to sell the same product on the Marketplace.
-
-A product offer is created per concrete product and contains product-specific information, information about the merchant selling this product, and the offer price. Any concrete product can have one or many offers from different merchants. Therefore, a unique *product offer reference* is defined per each product offer and is used to identify the offer in the system. Offer reference is mandatory and can only be defined once.
-
-Merchants can [create product offers](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/offers/managing-product-offers.html#creating-a-product-offer) in the Merchant Portal or [import the product offers](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-offer.csv.html).
-
- Marketplace administrators can view and approve or deny merchants' product offers in the Back Office. For details, see [Managing merchant product offers](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/offers/managing-merchant-product-offers.html).
-
- Every merchant can have multiple offers for the same concrete product. However, a product offer is related to a single merchant and cannot be shared between other merchants:
-
-![Multiple product offers per product](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Products+and+offers/Product+offer+feature+overview/product-offers-per-product.png)
-
-![Product offers on PDP](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Products+and+offers/Product+offer+feature+overview/product-offers-on-pdp.png)
-
-{% info_block infoBox "Note" %}
-
-You can retrieve product offer details via Glue API. For details, see [Retrieving product offers](/docs/marketplace/dev/glue-api-guides/{{page.version}}/product-offers/retrieving-product-offers.html) and [Retrieving product offers for a concrete product](/docs/marketplace/dev/glue-api-guides/{{page.version}}/concrete-products/retrieving-product-offers-of-concrete-products.html).
-
-{% endinfo_block %}
-
-## Product offer structure
-To define the visibility of a product offer on the Storefront, the following details are attached to the product offer entity:
-
-| OFFER PARAMETER | DESCRIPTION |
-| ------------------- | ----------------------------- |
-| Concrete product SKU | Defines the concrete product the offer is created for. |
-| Merchant SKU | Lets the merchant identify the product offer in the ERP system. |
-| Offer Reference | Unique ID that helps to identify the product offer in the Marketplace. Offer reference is mandatory. |
-| Store | Defines the store where the product offer is available. |
-| Price | Lets the merchant set their price for the offer. {% info_block infoBox "Info" %} You can also set [volume prices](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html) for a product offer. For now, you can only [import volume prices for product offers](/docs/marketplace/dev/data-import/{{page.version}}/file-details-price-product-offer.csv.html). {% endinfo_block %} |
-| Stock | Lets the merchant define stock for the product offer. The stock can be reserved and available. |
-| Status | Approval status:
Approval status (Waiting for approval, Approved, Denied).
Visibility: Visibility (Active, Inactive).
|
-| Validity Dates | Specifies the period during which the product offer is visible on the Storefront. Concrete product validity dates have higher priority over the Offer validity dates. |
-
-
-## Product offer status
-Product offer status defines whether the offer is active and displayed on the Storefront. Based on this, the product offer may have offer approval status and visibility status.
-
-### Offer approval status
-
-* *Waiting for Approval*: Default status that is applied to the offer after it has been created.
-
-* *Approved*: The approved offer can be displayed on the Storefront. Only the Marketplace administrator can approve the offer. For details about how a Marketplace administrator can approve offers in the Back Office, see [Approving or denying offers](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/offers/managing-merchant-product-offers.html#approving-or-denying-offers).
-
-* *Denied*: If the offer is denied, it cannot be displayed on the Storefront. Only the Marketplace administrator can deny the offer. For details about how a Marketplace administrator can deny offers in the Back Office, see [Approving or denying offers](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/offers/managing-merchant-product-offers.html#approving-or-denying-offers).
-
-### Visibility
-
-* *Active*: When an offer is active, it is displayed on the Storefront. Either merchant or Marketplace administrator can make the offer active.
-
-* *Inactive*: When an offer is inactive, it is not displayed on the Storefront. Either merchant or Marketplace administrator can make the offer inactive.
-
-![Offer approval flow](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Products+and+offers/Product+offer+feature+overview/offer-approval-flow.png)
-
-## Product offer price
-
-On the product detail page, a customer sees a list of product offers from one or several merchants. Each offer has its own price. This price is represented as the *product offer price* price dimension.
-The product offer prices support:
-
-* Mode (Net/Gross)
-* Volume
-* Store
-* Currency
-
-Product offer price follows the [concrete product price inheritance model](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html#price-inheritance). So if the Merchant doesn't set a price in the offer, it is taken from the concrete product. Otherwise, the product offer price has a higher priority and substitutes the concrete product price if it is indicated. If at least one price is defined for the offer (for example, original), it is valid for this offer even if the concrete product has a default price (sales price), but the offer does not. For details about price types, see [Price types](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html#price-inheritance).
-
-Merchants can define product offer prices in the Merchant Portal when they [create product offers](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/offers/managing-product-offers.html#creating-a-product-offer) or [import product offer prices](/docs/marketplace/dev/data-import/{{page.version}}/file-details-price-product-offer.csv.html).
-
-## Product offer stores
-
-A merchant product offer is defined per store. Merchants set their own prices per store for the product offer.
-However, defining the right store for the product offer affects its visibility. When setting the stores for the product offer, merchants need to pay attention to the stores where their abstract products are available.
-The following table illustrates the logic according to which the product offer is displayed in the Storefront.
-
-| Characteristics | DE | AT | US |
-| ----------------------------------------- | ---- | ---- | ---- |
-| Store where the abstract product is added | ✓ | ✓ | x |
-| Store where the product offer is added | x | ✓ | ✓ |
-| Is product offer visible? | no | yes | no |
-
-Merchants can define product offer stores in the Merchant Portal when they create [product offers](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/offers/managing-product-offers.html), or [import the product offer store](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-offer-store.csv.html).
-
-## Product offers on the Storefront
-
-Merchant product offer with all the related offer information is visible on the product detail page, and further on the shopping cart page and checkout pages when the following conditions are met:
-
-1. The merchant who owns the offer is [*Active*](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#activating-and-deactivating-merchants).
-2. The product offer status is:
- - Approved
- - Active
-3. The product offer is defined for the current store.
-4. The current store is defined for the provided offer.
-5. The current day is within the range of the product offer validity dates.
-
-The decision of whether the product offer can be purchased depends on the offer availability. But availability has no influence on offer visibility on the Storefront.
-
-### Product offers on the product details page
-
-All available product offers are listed in the *Sold by* area of the product details page. The offers are sorted by price from the lowest to the highest. An offer with the lowest price is selected by default if there are multiple offers for the product.
-
-![Product offers on product details page](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Products+and+offers/Product+offer+feature+overview/product-offers-on-pdp.gif)
-
-### Product offers in the shopping cart
-
-Offers from different merchants are added as separate cart items, each with its quantity. You can add a note to the offer on the cart page.
-A customer can review the merchant information by clicking the link in the *Sold By* hint.
-
-![Product offers in cart](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Products+and+offers/Product+offer+feature+overview/add-offers-to-cart.gif)
-
-### Product offers during checkout
-
-During the checkout, offers from the same merchant are grouped for delivery so that the customer can always know how many shipments to expect and the merchants can smoothly fulfill the orders.
-
-![Product offers during checkout](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Products+and+offers/Product+offer+feature+overview/product-offers-during-checkout.gif)
-
-### Product offers in the wishlist
-
-Customers can add product offers to a wishlist for future purchase. Merchant information is kept for the offer when it is added to a wishlist. Further, customers can add the offer from the wishlist to cart.
-
-![Product offers in wishlist](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Marketplace/Products+and+offers/Product+offer+feature+overview/add-product-offer-to-wl-and-from-wl-to-cart.gif)
-
-## Current constraints
-
-* B2B Merchant-specific prices do not work with product offer prices.
-* All cart-related B2B features (for example, Quick Order, RFQ, Approval Process) will be supported later.
-* Availability Notification is not supported.
-
-## Related Business User documents
-
-| MERCHANT PORTAL USER GUIDES |BACK OFFICE USER GUIDES |
-|---------|---------|
-| [Managing product offers](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/offers/managing-product-offers.html) |[Managing merchant product offers](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/offers/managing-merchant-product-offers.html)|
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Product Offer feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}//marketplace-product-offer-feature-walkthrough/marketplace-product-offer-feature-walkthrough.html) and [Marketplace Product Offer Prices feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-offer-prices-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-product-options-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-product-options-feature-overview.md
deleted file mode 100644
index 6335871405e..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-product-options-feature-overview.md
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: Marketplace Product Options feature overview
-description: The Marketplace Product Options feature lets merchants and Marketplace administrators create product option groups.
-template: concept-topic-template
----
-
-With the *Marketplace Product Options* feature, merchants and Marketplace administrators can create *product options* for marketplace products.
-
-Product options are product additions that a customer can select on the product detail page before adding the product to the cart. For example, the product options can be gift wrappings for products, insurance, or warranty. Product options do not have stock but an SKU linked to product abstracts. Thus, you cannot purchase them without buying a corresponding product.
-
-Each product option is defined by the following:
-
-* Product option group name
-* Tax set assigned on the product option group
-* Option value
-* Translation
-
-A *product option group* holds all available options or *option values* that buyers select. For example, you can have the *Warranty* product option group and create *1-year warranty* and *2-year warranty* values for it.
-
-{% info_block infoBox "Info" %}
-
-Currently, you can create and manage general product options via the Back Office. However, you can only import merchant product options.
-
-* For details about how you can create product options in the Back Office, see [Creating a product option](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html).
-* For details about how you can manage the product options in the Back Office, see [Managing product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html).
-* For details about how you can import merchant product options, see [File details: merchant product option group](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-option-group.csv.html).
-
-{% endinfo_block %}
-
-## Marketplace product options approval statuses
-
-Product option groups created by merchants can have the following statuses:
-
-* *Waiting for approval*: The product option group was created by a merchant and waits for the Marketplace administrator's approval. This is the default status assigned to all Marketplace product options that do not have a different approval status set.
-* *Approved*: The product option group was approved by the Marketplace administrator. Merchants can use it for their products and offers, so if it is [active](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html#activating-a-product-option), the product option is displayed on the Storefront.
-* *Denied*: The Marketplace administrator rejected the product option, and merchants cannot use it for their products and offers. If they still use it, it will not be applied and will not be displayed on the Storefront.
-
-
-Currently, you can only import the Marketplace options approval statuses. For details, see [File details: merchant product option group](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-product-option-group.csv.html).
-
-## Marketplace product options in the Back Office
-In the Back Office, a Marketplace administrator can:
-* [create general product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html);
-* [manage general product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html);
-* [view product options for all or individual merchants](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/managing-product-options.html#filtering-product-options-by-merchants).
-
-## Marketplace product options on the Storefront
-
-On the product detail page, the product option group (1) is displayed as a drop-down list with its option values (2).
-
-![Product options on the Storefront](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+product+options/product-options-on-the-storefront.png)
-
-The merchant product option groups are displayed on the Storefront only when:
-* The product option group status is [active](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html#activating-a-product-option).
-* The product option group approval status is [approved](#marketplace-product-options-approval-statuses).
-
-After a merchant creates a product option group and assigns it to their products, the product option group is displayed for all the offers of the products, including offers of other merchants. For example, in the following image, the Video King merchant's offer is selected, but the Spryker merchant's product option group is still displayed:
-
-![Marketplace product options on the Storefront](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+product+options/merchant-prodcut-options-on-the-storefront.png)
-
-## Marketplace product options in the Merchant Portal
-
-In the Merchant Portal, the product options are displayed on the order details page as part of the order:
-
-
-
-## Current constraints
-
-Currently, the feature has the following functional constraints which are going to be resolved in the future:
-
-* Product option values of a product option group can be only from one merchant.
-* Product options of a merchant can be used with all offers from all merchants.
-* There is no Back Office UI for approving or denying merchant product options.
-* [Glue API](/docs/scos/dev/glue-api-guides/{{page.version}}/glue-rest-api.html) does not support merchant product option groups and values.
-* Merchants can not create and manage product option groups and values in the Merchant Portal.
-
-## Related Business User documents
-
-|BACK OFFICE USER GUIDES |
-|---------|
-| [Creating a product option](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html)
-| [Managing product options](/docs/marketplace/user/back-office-user-guides/{{page.version}}/catalog/product-options/creating-product-options.html)|
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Product Options feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-product-options-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-promotions-and-discounts-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-promotions-and-discounts-feature-overview.md
deleted file mode 100644
index 6bb13f6416f..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-promotions-and-discounts-feature-overview.md
+++ /dev/null
@@ -1,228 +0,0 @@
----
-title: Marketplace Promotions and Discounts feature overview
-description: This document contains concept information for the Marketplace Promotions and Discounts feature.
-template: concept-topic-template
-lust_udpated: Jul 17, 2023
-related:
- - title: Discount
- link: docs/marketplace/dev/feature-walkthroughs/page.version/marketplace-promotions-and-discounts-feature-walkthrough.html
----
-
-The *Marketplace Promotions and Discounts* feature ensures that discounts are applied to orders.
-
-There are two discount types:
-
-* Voucher
-* Cart rule
-
-A product catalog manager selects a discount type when [creating a discount](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html).
-
-{% info_block warningBox "Warning" %}
-
-In current implementation, it is impossible to create cart rules or vouchers based on any merchant parameters, such as merchant or product offer. However, it is still possible to create cart rules and vouchers for the marketplace products. See [Create discounts](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html) for more details.
-
-{% endinfo_block %}
-
-Based on the business logic, discounts can be applied in the following ways:
-
-* The discount is applied to the whole Marketplace order. In such a scenario, the discount is distributed among all the merchant orders and calculated according to the total volume of each of the items.
-
-![Merchant discount 1](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Order+Management/mp-discount-1.png)
-
-* The discount is related to a single product item in the Marketplace order. In this case, the whole discount is assigned only to the merchant order that contains the discounted item.
-
-![Merchant discount 2](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Order+Management/mp-discount-2.png)
-
-
-## Voucher
-
-A *Voucher* is a discount that applies when a customer enters an active voucher code on the *Cart* page.
-![Cart voucher](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Promotions+and+Discounts+feature+overview/voucher-storefront.png)
-
-Once the customer clicks **Redeem code**, the page refreshes to show the discount name, discount value, and available actions: **Remove** and **Clear all**. The **Clear all** action disables all the applied discounts. The **Remove** action disables a single discount.
-![Cart voucher applied](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Promotions+and+Discounts+feature+overview/voucher-cart.png)
-
-Multiple voucher codes can be generated for a single voucher. The code has a **Max number of uses** value which defines how many times the code can be redeemed.
-
-You can enter codes manually or use the code generator in the Back Office.
-![Generate codes](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/generate_codes.png)
-
-To learn how a product catalog manager can create a voucher in the Back Office, see [Creating a voucher](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html).
-
-## Cart Rule
-
-A *cart rule* is a discount that applies to cart once all the [decision rules](#decision-rule) linked to the cart rule are fulfilled.
-
-
-The cart rule is applied automatically. If the decision rules of a discount are fulfilled, the customer can see the discount upon entering the cart. Unlike with [vouchers](#voucher), the **Clear all** and **Remove** actions are not displayed.
-![Cart rule](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Promotions+and+Discounts+feature+overview/cart-rule-storefront.png)
-
-To learn how a product catalog manager can create a cart rule in the Back Office, see [Create discounts](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html).
-
-### Decision rule
-A decision rule is a condition assigned to a discount that should be fulfilled for the discount to be applied.
-
-A discount can have one or more decision rules. Find an exemplary combination below:
-
-| Parameter | RELATION OPERATOR | VALUE |
-| --- | --- | --- |
-| total-quantity | equal | 3 |
-| day-of-week| equal | 5 |
-
-In this case, the discount is applied if the cart contains three items and the purchase is made on the fifth day of the week (Friday).
-
-Multiple decision rules form a query. A query is a request for information based on the defined parameters. In the Discount feature, a query requests information from a cart to check if it is eligible for the discount. By specifying decision rules, you define the parameters of the query.
-
-In the Back Office, a product catalog manager creates decision rules in a Query Builder. The decision rules created in the Query Builder are transformed into a single query.
-
-The decision rules from the previous example look as follows in the Query Builder:
-
-
-
-You can switch between Query Builder and Plain query modes to see how the specified decision rules look in either of them.
-
-
-Decision rules are combined with *AND* and *OR* combination operators. With the AND operator, all the rules should be fulfilled for the discount to be applied. With the OR operator, at least one of them should be fulfilled for the discount to be applied.
-
-
-In the following example, for the discount to be applied, a cart should contain three items, and the purchase should be made on Wednesday.
-![AND operator](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/and-operator.png)
-
-In the following example, for the discount to be applied, a cart should contain three items, or the purchase should be made on Wednesday.
-![OR operator](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/or-operator.png)
-
-{% info_block infoBox "Info" %}
-
-When rules are combined by the OR operator, they do not exclude each other. If a cart fulfills both such rules, the discount is still applied.
-
-{% endinfo_block %}
-
-
-#### Decision rule group
-
-A rule group is a separate set of rules with its own combination operator.
-
-![Decision rule group](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+%26+Discounts/Discount/Discount+Feature+Overview/decision-rule-group.png)
-
-With the rule groups, you can build multiple levels of rule hierarchy. When a cart is evaluated against the rules, it is evaluated on all the levels of the hierarchy. On each level, there can be both rules and rule groups.
-
-![Decision rule hierarchy](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+%26+Discounts/Discount/Discount+Feature+Overview/decision-rule-hierarchy.png)
-
-When a cart is evaluated on a level that has a rule and a rule group, the rule group is treated as a single rule. The following diagram shows how a cart is evaluated against the rules on the previous screenshot.
-
-### Discount threshold
-A *threshold* is a minimum number of items in the cart that should fulfill all the specified decision rules for the discount to be applied.
-The default value is *1* . It means that a discount is applied if at least one item fulfills the discount's decision rules.
-
-In the following example, the discount is applied if there are four items with the Intel Core processor in the cart.
-![Threshold](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/threshold.png)
-
-
-## Discount application
-
-Discount application is a discount configuration option that defines the products to which a discount is applied.
-
-The Marketplace discounts are applied based on the query string.
-
-The *query string* is a discount application type that uses [decision rules](#decision-rule) to dynamically define what products a discount applies to.
-
-The discount in the following example applies to white products.
-
-![Query collection](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/collection-query.png)
-
-The product selection based on the query string is dynamic:
-* If at some point, the color attribute of a product changes from white to anything else, the product is no longer eligible to be discounted.
-* If at some point, a product receives the white color attribute, it becomes eligible for the discount.
-
-
-## Discount calculation
-
-Calculation defines the value to be deducted from a product's original price. There are two types of discount calculation:
-
-* Calculator percentage
-* Calculator fixed
-
-{% info_block infoBox "Info" %}
-
-With the calculator fixed type, the currency of the respective shop is used for calculation.
-
-{% endinfo_block %}
-
-See examples in the following table.
-
-| PRODUCT PRICE | CALCULATION TYPE | AMOUNT | DISCOUNT APPLIED | PRICE TO PAY |
-| --- | --- | --- | --- | --- |
-| €50 | Calculator percentage | 10 | €5 | €45 |
-| €50 | Calculator fixed | 10 | €10 | €40 |
-
-A product catalog manager defines calculation when [creating a voucher](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html) or [Create discounts](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html).
-![Discount calculation](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/discount_calculation.png)
-
-## Discount exclusiveness
-
-Discount exclusiveness defines if a discount value of a discount can be combined with the discount value of other discounts in a single order.
-
-A product catalog manager defines calculation when [creating a voucher](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html) or [Create discounts](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html).
-![Exclusive discount](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/exclusivity.png)
-
-### Exclusive discount
-
-An exclusive discount is a discount that, when applied to a cart, discards all the other discounts applied to it. If a cart is eligible for multiple exclusive discounts, the highest-value discount is applied.
-
-In the following example, a cart with the order total amount of €100 contains the following discounts.
-
-| DISCOUNT NAME | DISCOUNT AMOUNT | DISCOUNT TYPE | EXCLUSIVENESS | DISCOUNTED AMOUNT |
-| --- | --- | --- | --- | --- |
-| D1 | 15 | Calculator percentage | Exclusive | €15 |
-|D2|5| Calculator fixed | Exclusive | €5 |
-|D3|10| Calculator percentage | Non-exclusive | €10 |
-
-The discount exclusivity is resolved as follows:
-1. The discounts D1 and D2 are exclusive, so the non-exclusive discount D3 is discarded.
-2. The discount D1 provides more free value than the discount D2.
-3. As a result, the discount D1 is applied.
-
-
-### Non-exclusive discount
-
-A non-exclusive discount is a discount that can be combined with other non-exclusive discounts in a single order.
-
-In the following example, a cart with the order total amount of €30 contains the following discounts.
-
-| DISCOUNT NAME | DISCOUNT AMOUNT | DISCOUNT TYPE | EXCLUSIVENESS | DISCOUNTED AMOUNT |
-| --- | --- | --- | --- | --- |
-| D1 | 15 | Calculator percentage | Non-exclusive | €15 |
-| D2 | 5 | Calculator fixed | Non-exclusive | €5 |
-| D3 | 10 |Calculator percentage | Non-exclusive | €10 |
-
-As all the discounts are non-exclusive, they are applied together.
-
-## Discount validity interval
-
-A *validity interval* is a time period during which a discount is active and can be applied.
-
-
-If a cart is eligible for a discount outside of its validity interval, the cart rule is not applied. If a customer enters a voucher code outside of its validity interval, they get a "Your voucher code is invalid." message.
-
-
-A product catalog manager defines calculation when [creating a discount](/docs/scos/user/back-office-user-guides/{{page.version}}/merchandising/discount/create-discounts.html).
-![Validity interval](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Promotions+&+Discounts/Discount/Discount+Feature+Overview/validity-interval.png)
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Promotions and Discounts feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-promotions-and-discounts-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-return-management-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-return-management-feature-overview.md
deleted file mode 100644
index 92284b6d0a6..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-return-management-feature-overview.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: Marketplace Return Management feature overview
-description: This document contains concept information for the Marketplace Return Management feature.
-template: concept-topic-template
----
-
-*Marketplace Return Management* feature lets you create and manage returns for a merchant order in a Spryker Marketplace Demo Shop.
-
-Once an order has been shipped, the registered buyer or a Back Office user can initiate a return of the whole marketplace order or its individual items. For information about what items can be returned, see [Returnable items and a return policy](/docs/scos/user/features/{{page.version}}/return-management-feature-overview/return-management-feature-overview.html#returnable-items-and-a-return-policy). For information about how a Back Office user can create returns, see [Managing marketplace orders](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/orders/managing-marketplace-orders.html).
-
-
-{% info_block warningBox "Note" %}
-
-You can also create and manage returns via Glue API. For details, see [Managing the returns](/docs/marketplace/dev/glue-api-guides/{{page.version}}/managing-the-returns.html).
-
-{% endinfo_block %}
-
-## Marketplace return items states
-
-The return items can have the following states in the Marketplace Order Management System (Marketplace OMS):
-* *Waiting for return*: a buyer created a return, but a merchant user has not confirmed it in the Merchant Portal yet.
-* *Returned*: the return has been received and confirmed by the merchant user.
-* *Refunded*: A merchant user has made a refund for the returned items.
-* *Return Canceled*: the return has been canceled by a merchant user because of the return policy or for any other reason.
-* *Shipped to customer*: the canceled return has been shipped back to the buyer.
-* *Delivered*: the buyer has received the shipped return.
-
-The relation of the sales order items statuses and the return states is as follows:
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Return+Management/marketplace-merchant-return-process.png)
-
-## Marketplace return slip
-
-Buyers and Back Office users (Marketplace administrator and [main merchant](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/main-merchant-concept.html)) can have a paper version of the return by printing the automatically generated *return slip*. The return slip contains:
-* The return and marketplace sales order references.
-* Details about the returnable marketplace sales order items.
-* A barcode generated based on the return reference.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Return+Management/marketplace-return-slip.png)
-
-## Marketplace Return Management on the Storefront
-
-The registered buyers can return entire orders or individual merchant order items as soon as they have been delivered to them. When returning, the buyers can select or enter a return reason.
-
-The guest users can not initiate returns of their orders, as the return management is done via the Customer Account on the Storefront. Returns of the guest orders can be initiated only via the Back Office by the Back Office user.
-
-{% info_block infoBox "Info" %}
-
-One return can include products only from one merchant.
-
-{% endinfo_block %}
-
-Once a return request has been submitted, it acquires the *Waiting for return* state. The return states change as the merchant [processes the return](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/orders/managing-marketplace-orders.html#creating-a-marketplace-return). For details about the return states, see [Return items states](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/orders/managing-marketplace-orders.html#reference-information-creating-a-marketplace-return).
-
-All the returns created by the buyer or by the Back Office user for the buyer are listed on the *Returns* page in the *Customer Account*. From here, the buyer can view the return details and print the return slip.
-
-The following figure shows how to create a return, view its details, and print a slip:
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Return+Management/create-a-return-marketplace.gif)
-
-## Marketplace Return Management in the Back Office
-
-A Back Office user can create returns for the [returnable items](/docs/scos/user/features/{{page.version}}/return-management-feature-overview/return-management-feature-overview.html#returnable-items-and-a-return-policy) from the order details page of the Back Office. For details, see [Back Office user guide: Managing orders](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/orders/managing-marketplace-orders.html). Also, a Back Office user can view returns, close fulfilled returns, print a return slip, and cancel returns.
-
-## Marketplace Return Management in the Merchant Portal
-
-Merchants process their returns in the Merchant Portal. For details about how to manage the merchant returns, see [Merchant Portal guide: Managing merchant orders ](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/orders/managing-merchant-orders.html).
-
-## Related Business User documents
-
-| MERCHANT PORTAL USER GUIDES | BACK OFFICE USER GUIDES |
-| --- | --- |
-| [Managing merchant returns](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/orders/managing-merchant-orders.html#managing-merchant-returns) | [Managing marketplace returns](/docs/marketplace/user/back-office-user-guides/{{page.version}}/sales/managing-marketplace-returns.html) |
-| | [Managing main merchant returns](/docs/marketplace/user/back-office-user-guides/{{page.version}}/sales/managing-main-merchant-returns.html) |
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Return Management feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-return-management-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-shipment-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-shipment-feature-overview.md
deleted file mode 100644
index f706d26c7f2..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-shipment-feature-overview.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: Marketplace Shipment feature overview
-description: This document contains concept information for the Marketplace Shipment feature.
-template: concept-topic-template
----
-
-The *Marketplace Shipment* feature allows splitting the [marketplace order](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-order-management-feature-overview.html) into different shipments based on merchants who will process them.
-
-A *shipment* is a set of two or more products combined by the same delivery address.
-
-With the Marketplace Shipment feature, every merchant can define delivery price and expected delivery time, tax sets, and availability of the delivery method per store. Thus, a [marketplace order](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-order-overview.html) has multiple delivery methods from different merchants.
-
-## Marketplace Shipment on the Storefront
-In the *Address* checkout step, buyers can define a common delivery address where all the shipments are to be delivered.
-Then, in the *Shipment* checkout step, buyers can see that the products are grouped by a merchant into different shipments by default. For each shipment, they can select a shipping method and a delivery date (optional).
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Shipment/shipment-to-single-address.png)
-
-Alternatively, buyers can use the **Deliver to multiple addresses** drop-down option to assign a delivery address per cart item. By doing that, even items from the same merchant have separate shipments.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Shipment/deliver-shipment.png)
-
-
-## Marketplace Shipment in the Back Office
-In the Back Office, the shipments are displayed in the **Order Items** section on the **View Order: _[Order ID]_** page. A Marketplace administrator can view them.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Shipment/shipments-back-office.png)
-
-## Marketplace Shipment in the Merchant Portal
-On the **Order _[Order ID]_** drawer, every merchant can view only the shipment of their product offers and products.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Shipment/shipment-merchant-portal.png)
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Shipment](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-shipment-feature-walkthrough.html) feature walkthrough for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/marketplace-wishlist-feature-overview.md b/docs/marketplace/user/features/202108.0/marketplace-wishlist-feature-overview.md
deleted file mode 100644
index 39d5b501f00..00000000000
--- a/docs/marketplace/user/features/202108.0/marketplace-wishlist-feature-overview.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Marketplace Wishlist feature overview
-description: This document contains concept information for the Marketplace Wishlist feature.
-template: concept-topic-template
----
-
-Wishlists are collections of products that a customer saves for further reference.
-
-The *Marketplace Wishlist* feature lets customers add product offers and merchant products to a wishlist in the Marketplace Storefront. This way, customers save time without having to browse favorite items all over the marketplace shop.
-
-![Adding products and offers to wishlist](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Wishlist/add-products-and-offers-to-wishlist.gif)
-
-Merchant information is displayed in the *Sold by* field so that a customer can always know which merchant is the owner of the product.
-
-Once the customer decides to buy a product, they can add it to cart directly from the wishlist.
-
-![Adding merchant product offer from wishlist to cart](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Features/Marketplace+Wishlist/add-merchant-product-offer-from-wishlist-to-cart.gif)
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Marketplace Wishlist feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/marketplace-wishlist-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/merchant-category-feature-overview.md b/docs/marketplace/user/features/202108.0/merchant-category-feature-overview.md
deleted file mode 100644
index b4437093246..00000000000
--- a/docs/marketplace/user/features/202108.0/merchant-category-feature-overview.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-title: Merchant Category feature overview
-last_updated: Apr 23, 2021
-description: Merchant categories help you easily find relevant merchants.
-template: concept-topic-template
----
-
-As the Marketplace environment presupposes having a lot of sellers—merchants, classification and categorization of merchants arise at some point. For this purpose, the Merchant Category entity exists. By defining merchant categories for merchants, you add flexibility to the working process and let customers implement different business logic on your project.
-For shoppers, it's convenient to find the necessary and relevant merchants and their products according to certain merchant categories.
-
-To create merchant categories, you should import them. For details, see [File details: merchant_category.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-category.csv.html).
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Merchant Category feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/merchant-category-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/features/202108.0/merchant-opening-hours-feature-overview.md b/docs/marketplace/user/features/202108.0/merchant-opening-hours-feature-overview.md
deleted file mode 100644
index 684b48168b6..00000000000
--- a/docs/marketplace/user/features/202108.0/merchant-opening-hours-feature-overview.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Merchant Opening Hours feature overview
-last_updated: Jul 27, 2021
-description: The Merchant Opening Hours feature lets you define opening hours for a merchant.
-template: concept-topic-template
----
-
-To provide maximum selling activity, merchants can provide their working schedule, by defining the opening hours on weekdays, holidays and exceptional cases.
-
-A merchant has the following:
-
-* Default opening hours—defined per weekday and time including:
- * Lunch break time
- * Open/Closed state
-
-* Special opening hours are relevant for cases:
-
- * Merchant is opened on a usually closed day—for example, Sunday.
- * Merchant has different opening hours in comparison to a normal schedule—for example, December 31th has shorter opening hours.
-
-* Public holidays—special days when the Merchant is not available due to the public holidays
-
-To display merchant opening hours on the Storefront, you should import the open hours information. For information about how to do that, see [File details: merchant_open_hours_date_schedule.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-open-hours-date-schedule.csv.html) and [File details: merchant_open_hours_week_day_schedule.csv](/docs/marketplace/dev/data-import/{{page.version}}/file-details-merchant-open-hours-week-day-schedule.csv.html).
-
-{% info_block warningBox "Developer guides" %}
-
-Are you a developer? See [Merchant Opening Hours feature walkthrough](/docs/marketplace/dev/feature-walkthroughs/{{page.version}}/merchant-opening-hours-feature-walkthrough.html) for developers.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/dashboard/managing-merchants-performance-data.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/dashboard/managing-merchants-performance-data.md
deleted file mode 100644
index f2bc2e5ab53..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/dashboard/managing-merchants-performance-data.md
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: Managing merchant's performance data
-last_updated: Nov 13, 2020
-description: This document describes what information you can check in Dashboard of the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes what information you can check in the dashboard of the Merchant Portal.
-
-*Dashboard* is a hub for merchants' important business and performance data. It lets merchants monitor their own store inside the Marketplace by having a snapshot view of the most crucial information.
-
-**Dashboard** is the first page a merchant sees after logging into the Merchant Portal.
-
-## Prerequisites
-
-To start working with the dashboard, navigate to **Merchant Portal > Dashboard**.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-
-## Managing offers in Dashboard
-
-To manage the existing offers in the system, click **Manage Offer**. This takes you to the **Offers** page of the Merchant Portal.
-
-To create a new offer, click **Add Offer**. For more detailed instructions on how to create a new offer in the Merchant Portal, see creating a product offer
-
-### Reference information: Managing offers in Dashboard
-
-This section contains the attributes description you see when managing offers in **Dashboard**.
-
-#### Offers widget
-
-![offers-widget](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/merchant+portal+user+guides/dashboard+reference+information/offers-widget.png)
-
-The **Offers** widget provides the following information:
-
-`Offers 4`—the total number of offers in the Merchant Portal.
-
-#### Stock
-
-With Stock—the total number of offers with stock.
-
-Low on Stock—the total number of offers that have less than 5 in the stock.
-
-#### Validity
-
-Valid—the total number of valid offers, that is, offers that have no validity dates or **Valid From & Valid To** includes today's date.
-
-Expiring in 5 days—the total number of offers that will expire in the next 5 days.
-
-#### Visibility
-
-Online—the total number of online offers.
-
-Offline—the total number of offline offers.
-
-#### On Marketplace
-
-The total number of offers that are available on the Storefront, that is, all of the orders that meet the following criteria:
-
-* Have no validity dates or **Valid From & Valid To** includes today's date.
-* Are online.
-* Have stock.
-
-## Managing orders in Dashboard
-
-To manage orders, click **Manage Orders**. The **Orders** page of the Merchant Portal opens.
-
-
-### Reference information: Managing orders in Dashboard
-
-This section contains the attributes description you see when managing orders in **Dashboard**.
-
-#### Orders widget
-
-![orders-widget](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/merchant+portal+user+guides/dashboard+reference+information/orders-widget.png)
-
-The **Orders** widget provides the following information:
-
-`Orders 2`—the total number of orders in the Merchant Portal.
-
-#### Per Store
-
-The total number of orders that are available for each store.
-
-#### New
-The total number of orders that were placed in the last 5 days.
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/index.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/index.md
deleted file mode 100644
index 541975486bf..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Merchant Portal user guides
-template: concept-topic-template
----
-The Merchant Portal user guides describe how merchant users can accomplish their tasks in the Merchant Portal.
-
-{% info_block warningBox "Note" %}
-
-Only active merchant users of [approved](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#approving-and-denying-merchants) merchants have access to the Merchant Portal.
-
-{% endinfo_block %}
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/logging-in-to-the-merchant-portal.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/logging-in-to-the-merchant-portal.md
deleted file mode 100644
index a3b6b3620c0..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/logging-in-to-the-merchant-portal.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Logging in to the Merchant Portal
-last_updated: Aug 31, 2022
-description: This document describes how to log in and log out of the Merchant Portal.
-template: back-office-user-guide-template
----
-
-To use the Merchant Portal, you have to log in. This document describes how you can do that.
-
-
-## Prerequisites
-
-To log in to the Merchant Portal, a [merchant user](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html) needs to be [created](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchant-users.html#creating-a-merchant-user) and [activated in the Back Office](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchant-users.html#activating-and-deactivating-the-merchant-users) by the Marketplace administrator.
-
-Each section in this guide contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-{% info_block warningBox %}
-
-A [marketplace administrator](/docs/marketplace/user/intro-to-spryker-marketplace/marketplace-personas.html#marketplace-administrator) cannot log in to Merchant Portal.
-
-{% endinfo_block %}
-
-## Creating a password
-
-Once the merchant user is [activated](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchant-users.html#activating-and-deactivating-the-merchant-users), an email with the password reset link is sent. To reset the password:
-
-1. Click the link provided in the email. The **Reset Password** page opens.
-
- ![Reset password page](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Login+and+logout/set-password-for-merchant-portal.png)
-
-2. In the **Password** field, enter the new password.
-3. In **Repeat Password**, enter the new password again to confirm it.
-4. Click **Reset** to update the password.
-
-The password is reset and you can use it for login.
-
-## Logging in
-
-To log in to the Merchant Portal, on the login page, enter your email and password and click **Login**.
-
-![Merchant Portal login](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Login+and+logout/merchant-portal-login.png)
-
-### Reference information: Logging in to the Merchant Portal
-
-This section describes the attributes you enter when logging into the Merchant Portal.
-
-| ATTRIBUTE | DESCRIPTION |
-| --------- | --------------- |
-| Email | Email address associated with the merchant user. The Password Reset link is sent to this email. |
-| Password | Password for the merchant user account. |
-
-## Restoring the password
-
-If you forgot your Merchant Portal password:
-1. In the login form, click **Forgot password?**.
- The **Reset Password** page opens.
-2. Enter the email that was used for your Merchant Portal account registration and click **Send email**.
-You should receive an email with the link to restore your password.
-3. In the email, click the restore password link.
-The **Reset Password** page opens.
-4. In the **Password** and **Repeat password** fields, enter your new password.
-5. Click **Reset**.
-
-Your password is now updated. To log in, enter the new password in the login form.
-
-
-
-
-**What’s Next?**
-
-To have a quick overview of Merchant performance, see [Managing merchant's performance data](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/dashboard/managing-merchants-performance-data.html).
-
-To learn how to manage a Merchant Profile in the Merchant Portal, see [Editing merchant's profile details](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/profile/editing-merchants-profile-details.html) page.
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/my-account/managing-account-details-and-settings.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/my-account/managing-account-details-and-settings.md
deleted file mode 100644
index 8a51cfe45d4..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/my-account/managing-account-details-and-settings.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Managing account details and settings
-description: This document describes what you can do in the My account area of the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage merchant user account details in the Merchant Portal.
-
-## Prerequisites
-
-To start working with the merchant user’s account, go to **Merchant Portal > My account**.
-
-To open the **My account** page, in the top right corner of the Merchant Portal, click the user icon and then click **My account**.
-
-Some sections contain reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Changing personal details
-
-To update the personal details, on the **My account** page, in the **Personal Details** section, update the necessary fields and click **Save**.
-
-## Changing the email address
-
-To update the merchant user email address, on the **My account** page, in the **Email** section, change the email address and click **Save**.
-
-## Changing the password for the Merchant Portal
-
-To update the password for the Merchant Portal:
-
-1. On the **My account** page, in the **Password** section, click **Change Password**. The **Change Password** drawer opens.
-2. In the **Current password** field, the current password.
-3. In the **New password** field, enter the new password.
-4. To confirm the change, in the **Repeat new password** field, enter the new password.
-5. Click **Save**.
-
-
-**Tips and tricks**
-
-Click on the show/hide password icon in the corresponding password field to double-check that you entered the right information.
-
-### Reference information: Changing the password for the Merchant Portal
-
-On the **Change password** drawer, you see the following attributes:
-
-| ATTRIBUTE | DESCRIPTION |
-| ---------------- | ---------------------- |
-| Current password | Field to enter the current password.|
-| New password | Field to enter the new password for the Merchant Portal user account. |
-| Repeat new password | Field to confirm the new password.|
-
-
-## Changing the interface language for the Merchant Portal
-
-To change the interface language of the Merchant Portal, on **My account** page, in the **Language** section, select the necessary language and click **Save**.
-
-## Reference information
-
-This section describes attributes you see when performing the following actions:
-* Accessing **My account** in the Merchant Portal.
-* Changing the personal details.
-* Changing the email address.
-* Changing the interface language for the Merchant Portal.
-
-### My account page
-
-The following table describes the attributes on the **My account** page:
-
-| SECTION | ATTRIBUTE | DESCRIPTION |
-| ---------------- | ---------------- | ---------------------- |
-| Personal Details | First name | First name of the merchant user. |
-| Personal Details | Last name | Last name of the merchant user. |
-| Email | Email field | Email address of the merchant user. |
-| Password | Change password | Opens *Change password* drawer. |
-| Language | Language drop-down menu | Drop-down menu to select the interface language of the Merchant Portal. |
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/offers/managing-product-offers.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/offers/managing-product-offers.md
deleted file mode 100644
index d2210d63491..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/offers/managing-product-offers.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Managing product offers
-description: This document describes the actions a Merchant can do in the Offers section in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes the actions a merchant can do in the **Offers** section of the Merchant Portal.
-
-## Prerequisites
-
-To start managing product offers, navigate to the **Merchant Portal > Offers**.
-
-Review the reference information in this article before you start, or look up the necessary information as you go through the process.
-
-## Creating a product offer
-
-To create a product offer, take the following steps:
-1. Click **Add Offer**.
-2. From the list of concrete products, select the product you want to create an offer for.
- The **Create Offer** drawer opens.
-3. Optional: To make the offer active after creating it, select **Offer is Active**.
-4. Optional: Enter a **Merchant SKU**.
-5. Select one or more **Stores**.
-6. Enter a **Quantity**.
-7. Optional: To always display the product offer as available on the Storefront, select **Always in Stock**.
-8. To add prices, in the **Price** section, do the following:
- 1. Select **Add**.
- 2. Select a **STORE**.
- 3. Select a **CURRENCY**.
- 4. Optional: Enter any of the prices:
- * **NET DEFAULT**
- * **GROSS DEFAULT**
- * **NET ORIGINAL**
- * **GROSS ORIGINAL**
- 5. Optional: Enter a **VOLUME QUANTITY**.
- 6. Repeat sub-steps 1-5 of step 5 until you add all the desired prices.
-9. Optional: Select **Validity Dates**.
-10. Scroll up and select **Create**.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Offers/creating-product-offers.gif)
-
-## Editing a product offer
-
-To edit an existing product offer:
-1. From the list of offers, select the offer you want to edit.
-2. In the drawer, change the desired fields
-3. Select **Save**.
-
-![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Offers/edit-offers.gif)
-
-## Reference information: Creating and editing product offers
-
-This section describes attributes you see when creating and editing product offers.
-
-On all the pages described below, you can rearrange, hide, and show columns by clicking the settings cogwheel next to the tables.
-
-### Offers page
-
-On the **Offers** page you do the following:
-* Filter product offers using the filtering menu at the top of the page.
-* Sort product offers by clicking on the desired column name.
-* Using the search field in the top right corner, search product offers by the criteria: offer reference, merchant reference, and product SKU.
-
-### Create Offer page
-
-On the **Create Offer** page, you see the list of products you can create an offer for. On this page, you can do the following:
-* Filter products using the filtering menu at the top of the page.
-* Sort products by clicking on the desired column name.
-* Using the search field in the top right corner, search products by the criteria: product name and product SKU.
-
-
-### Create and edit offer drawers
-
-The following table describes the attributes on the **Create offer** and **Edit offer** drawers:
-
-| ATTRIBUTE | DESCRIPTION |
-| ------------- | ------------- |
-| Offer status | Defines if the offer is displayed on the Storefront. By default, the offer is online. |
-| Merchant SKU | Unique identifier of product offer in the merchant's ERP. |
-| Offer Reference | Unique identifier of the product offer in the Marketplace. |
-| Stores | Defines the stores where the product offer is available. |
-| Quantity | Defines the stock of the product offer. |
-| Price | Prices of the product offer per store, currency, and volume quantity. Volume quantity defines the minimum product offer quantity to be added to cart for the price to apply. |
-| Validity Dates | Defines the period during which the product offer is visible on the Storefront. |
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/orders/managing-merchant-orders.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/orders/managing-merchant-orders.md
deleted file mode 100644
index e4ec30b3a2e..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/orders/managing-merchant-orders.md
+++ /dev/null
@@ -1,151 +0,0 @@
----
-title: Managing merchant orders
-description: This document describes the actions a merchant can do in the Orders section of the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes the actions a merchant can do in the Orders section of the Merchant Portal.
-
-## Prerequisites
-
-To start managing merchant orders, navigate to **Merchant Portal > Orders**.
-
-You manage merchant orders by changing the states of the items inside the order. This way, you can see that item was delivered or returned.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Changing merchant order states
-
-To change the state of items in a merchant order:
-
-1. In the list of orders, click the order you want to change the state for or click **Details** next to it. You are taken to the **Order *[Order ID]*** page.
-2. In the upper right corner, click the corresponding trigger button to update the state. The page refreshes to show the message about the successful state change.
-3. Repeat step 2 until you get the desired order state. The succession of the steps depends on the merchant state machine that is set up.
-
-**Tips & tricks**
- Merchant order items can have multiple trigger buttons. When you click one of those buttons, only items with a manually executable event are updated. All other items remain in that state until their trigger has been performed. For more details, see [Marketplace state machine](/docs/marketplace/user/features/{{page.version}}/marketplace-order-management-feature-overview/marketplace-and-merchant-state-machines-overview/marketplace-and-merchant-state-machines-overview.html#marketplace-state-machine)
-
-### Changing merchant order item states
-
-To change the state of a single item in a merchant order:
-
-1. In the list of orders, click the order line or click **Details** next to the order you want to change the status for. You are taken to the **Order *[Order ID]*** page.
-2. Switch to the **Items** tab.
-3. Next to the item you want to change the state for, click the corresponding state. The page refreshes to show the message about the successful state change.
-
-![change-the-states-of-a-single-item](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Orders/change-the-states-of-a-single-item.gif)
-
-**Tips and tricks**
- To update the states of the merchant order items in bulk:
-
-1. In the list of orders, click the order you want to change the state for or click **Details** next to it. You are taken to the **Order *[Order ID]*** page.
-
-2. Navigate to the **Items** tab of the **Order *[Order ID]*** page.
-
-3. Select in checkboxes the products you want to update the state of, and click the available button state that appeared after the selection. You can also click a button state on the top right of the drawer to update the state of all the items that match this state.
-
-![update-the-states-of-the-merchant-order-items-in-bulk](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Orders/update-the-states-of-the-merchant-order-items-in-bulk.gif)
-
-{% info_block warningBox "Note" %}
-
-Bulk updates can only be done for items that share the same state.
-
-{% endinfo_block %}
-
-### Reference information: Changing merchant order states
-
-This section describes attributes you see when you change merchant order states.
-
-#### Orders table
-
-**Orders** is the table that appears when you open the Orders section in the navigation menu in the Merchant Portal.
-
-By default, the last created order goes on top of the table. However, you can sort the table by:
-
-* Marketplace order reference
-* Merchant order reference
-* Created date
-* Customer’s name
-* Customer’s email address
-* Merchant order grand total
-* No. of items
-* Store
-
-**Tips and tricks**
- You can rearrange the order of the columns, hide and show the columns again by clicking the settings cogwheel next to the table.
-
-![rearrange-the-order-of-the-columns](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Orders/rearrange-the-order-of-the-columns.png)
-
-#### Order [Order ID] page
-
-The **Order *[Order ID]*** page is the page that opens in the drawer when you click one of the orders in the Orders table.
-
-The following table describes the sections on the ***[Order ID]*** page:
-
-| TAB | SECTION | DESCRIPTION |
-|---|---|---|
-| Details | Overview | Contains the merchant order date, number of products purchased, number of items in the merchant order, and the number of shipments. |
-| Details | Totals | Contains information about the merchant order totals. |
-| Details | Customer | Contains the customer’s name, email, and the number of orders the customer has made from this merchant. |
-| Items | Shipments | Contains information about shipments, such as the number of shipments, delivery address, shipment carrier and delivery method, and the requested date. |
-| Items | Order Items | Contains information about every item in the merchant order, including:
Item SKU
Image
Name
Quantity
Current state
Merchant SKU (if exists)
Offer reference
Included product options (if exist)
Comment
States that can be triggered
|
-
-**Tips and tricks**
- You can search the items in the merchant order and filter them according to their state by selecting the necessary state in the *State* drop-down menu.
-
-#### Merchant order states
-
-The merchant can set different states for the order depending on the state machine that is configured for this merchant. The following table describes the states a merchant can select:
-
-| ORDER STATE | DESCRIPTION |
-|---|---|
-| new | Initial order state. |
-| Cancel | Select this state to cancel the order. When triggering this state, the item status becomes `canceled by merchant`. |
-| Ship | Select this state once the order is shipped. When you trigger this state, the item status becomes `shipped`. |
-| Deliver | Select this state once the order is delivered to the shopper. When you select **deliver**, the state becomes `delivered`. |
-| Send to distribution | Select this state once the order is at the distribution center. When you trigger this state, the item status becomes `left the merchant location`. |
-| Confirm at center | Select this state when the distribution center confirmed the order arrival. When you trigger this state, the item status becomes `arrived at distribution center`. |
-| Execute return | Select this state when you want to execute the return. When you trigger this state, the item status becomes `returned`. |
-| Refund | Select this state if a refund was issued to the customer for the order. When you trigger this state, the item status becomes `refunded`. |
-| Cancel the return | Select this state when the return cannot be fulfilled. When you trigger this state, the item status becomes `return canceled`. |
-| Send return back to customer | Select this state when you shipped the returned item back to the customer. When you trigger this state, the item status becomes `shipped to customer`. |
-| Deliver return | Select this state when the returned item is delivered back to the customer. When you trigger this state, the item status becomes `delivered`. |
-| Closed | Order becomes `closed` when the Back Office user closes it in the Back Office. |
-
-## Managing merchant returns
-
-Once the return is created by the customer in the Storefront or by the Back Office user in the Back Office, the order obtains the `waiting for return` state.
-
-### Executing returns
-
-To execute a return:
-
-1. In the list of orders, click Details next to the order you want to return. You are taken to the **Order *[Order ID]*** page.
-2. In the upper right corner, click **Execute return**. The page refreshes to show the message about the successful state change.
-
-### Canceling returns
-
-To cancel a return:
-
-1. In the list of orders, click **Details** next to the order you want to cancel the return for. You are taken to the **Order *[Order ID]*** page.
-2. In the upper right corner, click **Cancel return**. The page refreshes to show the message about the successful state change.
-
-## Canceling merchant orders
-
-{% info_block infoBox "Info" %}
-
-**Your content**
-
-{% endinfo_block %}
-
-To cancel an order:
-
-1. In the list of orders, click the order you want to cancel or click **Details** next to it. You are taken to the **Order *[Order ID]*** drawer.
-2. In the upper left corner, click **Cancel**.
- The page refreshes to show the updated merchant order state.
-
-**Tips and tricks**
- You can filter the existing merchant orders by:
-* Creation date
-* Stores where the order belongs
-* Merchant order states
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/creating-marketplace-abstract-product.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/creating-marketplace-abstract-product.md
deleted file mode 100644
index d3cb5fb2cd8..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/creating-marketplace-abstract-product.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: Creating marketplace abstract product
-last_updated: Aug 11, 2021
-description: This document describes how to create marketplace abstract products in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to create marketplace abstract products.
-
-## Prerequisites
-
-To start working with marketplace abstract products, go to **Merchant Portal > Products**.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Creating a marketplace abstract product
-
-To create a new abstract product:
-
-1. On the **Products** page, click **Create Product**. The **Create Abstract Product** drawer opens.
-2. Enter an **SKU Prefix**.
-3. Enter a **Name** for the default locale. The rest of the locales are defined once the product is created.
-4. Depending on whether your abstract product requires adding variants or no, take one of the following steps:
- - If you are creating an abstract product that doesn't require variants, select **Abstract product has 1 concrete product**. The **Create an Abstract Product with 1 Concrete Product** drawer opens.
- 1. On the **Create an Abstract Product with 1 Concrete Product** drawer, enter a **Concrete Product SKU**.
- 2. Enter a **Concrete Product Name**.
- 3. To finish the product creation, click **Create**.
-
- ![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/merchant+portal+user+guides/Products/create-abstract-product-with-one-variant-mp.gif)
-
-
- {% info_block warningBox "Warning" %}
-
- You can not save an abstract product unless it is accompanied by at least one concrete product.
-
- {% endinfo_block %}
-
- - If the abstract product that you are creating requires variants, select **Abstract product has multiple concrete products**.
- 1. Select a super attribute that defines the variation of your concrete products.
- 2. In the field next to the super attribute you've selected, select one or more values for each super attribute. Upon adding the super attribute values, the preview of the concrete products is displayed.
-
- {% info_block infoBox "Info" %}
-
- Removing a super attribute or its value removes the related concrete products or concrete product values from the preview.
-
- {% endinfo_block %}
-
- 3. Optional: Add more super attributes by clicking the **Add** button. Repeat this step until you select at least one value for each selected super attribute.
-
- ![img](https://spryker.s3.eu-central-1.amazonaws.com/docs/User+Guides/merchant+portal+user+guides/Products/create-abstract-product-with-multiple-variants-mp.gif)
-
- {% info_block infoBox "Info" %}
-
- You can remove a concrete product from the preview list by clicking the **Remove** icon.
-
- {% endinfo_block %}
-
-5. Сlick **Create**.
-
-6. Click **Next**.
-
-Only active marketplace products are displayed on the Marketplace Storefront. To activate your marketplace product, see [Managing marketplace concrete products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html#activating-and-deactivating-a-concrete-product).
-
-### Reference information: Create Abstract Product drawer
-
-The following table describes attributes you select and enter on the **Create Abstract Product** drawer.
-
-| ATTRIBUTE | DESCRIPTION |
-| ----------------------------- | ------------------------------------ |
-| SKU prefix | Unique abstract product identifier that is used to track unique information related to the product.|
-| Name | The name of the abstract product that is displayed for the product on the Storefront. |
-| Abstract product has 1 concrete product | Select this option when you want your abstract product to have a single concrete product. |
-| Abstract product has multiple concrete products | Select this option when you want your abstract product to have multiple concrete products. |
-
-### Reference information: Create an Abstract Product with 1 Concrete Product drawer
-
-The following table describes attributes you select and enter on the **Create an Abstract Product with 1 Concrete Product** drawer.
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------------- | ------------------------------------ |
-| Concrete Product SKU | Unique product identifier that is used to track unique information related to the product. |
-| Autogenerate SKU | Select the attribute if you want the SKU to be generated automatically. By default, -1 is added to the abstract product SKU prefix. For example, `product-1` |
-| Concrete Product Name | The name of the concrete product that is displayed for the product on the Storefront. |
-| Same as Abstract Product | Select the attribute if you want the name of the abstract product to be used for the concrete product as well. |
-
-### Reference information: Create an Abstract Product with Multiple Concrete Products drawer
-
-This section describes attributes you select and enter on the **Create an Abstract Product with 1 Concrete Product** drawer.
-
-You can select as many super attributes as you need and define one or more values for them. When you select a product attribute value, a concrete product based on this value is displayed. In the **Concrete Products’ Preview** pane you can view the products to be created.
-
-By selecting **Autogenerate SKUs**, the SKU numbers for the variants are generated automatically, based on the SKU prefix of their abstract product.
-
-By selecting **Same Name as Abstract Product**, the name of the abstract product is used for the concrete products as well.
-
-## Next steps
-
-- [Manage abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-attributes.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-attributes.md
deleted file mode 100644
index c2b97cae111..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-attributes.md
+++ /dev/null
@@ -1,67 +0,0 @@
----
-title: Managing marketplace abstract product attributes
-last_updated: Aug 11, 2021
-description: This document describes how to manage marketplace abstract product attributes in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage attributes of the marketplace abstract products in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace abstract products, go to **Merchant Portal > Products**.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Adding marketplace abstract product attributes
-
-To add an attribute to a marketplace abstract product:
-
-1. Next to the abstract product you want to create an attribute for, hover over the three dots and click **Manage Product**, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Attributes** pane.
-3. In the **Attributes** pane, click **+Add**. The empty cells appear in the following table.
-4. From the drop-down menu **Attribute**, select a predefined value or enter your own when allowed by the Marketplace operator.
-5. Depending on the attribute selected in step 3, for the **Default** cell, select or enter the predefined value. Use the **Default** cell if no translations are needed.
-6. Add or select translations for the attribute values for the desired locales.
-
-**Tips and tricks**
- Click **Cancel** if a new attribute should not be added to an abstract product.
-
-
-## Editing marketplace abstract product attributes
-
-To edit attributes for a marketplace abstract product:
-
-1. Next to the abstract product you want to edit an attribute for, hover over the three dots, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Attributes** pane.
-3. In the **Attributes** pane, hover over the table and update the necessary cells.
-
-**Tips and tricks**
-
-You can rearrange the columns' order, hide and show the columns by clicking the settings cogwheel next to the table.
-
-
-## Deleting marketplace abstract product attributes
-
-To remove an attribute from an abstract product:
-
-1. Next to the abstract product you want to delete an attribute for, hover over the three dots, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Attributes** pane.
-3. In the **Attributes** pane, next to the attribute you want to delete, hover over the three dots and click **Delete**.
-
-## Reference information: Attributes pane
-
-The following table describes attributes you select and enter in the **Attributes** pane.
-
-| ATTRIBUTE | DESCRIPTION |
-| ---------------- | --------------------------- |
-| Attribute | Name of the attribute, for example, *color*. |
-| Default | Values of you attribute, for example, if the attribute is `color`, its values can be `red`, `green`, or `black`. This value is used for all locales without a specific value. |
-| Locale value (for example, DE_DE) | Translation of the attribute values for other locales. |
-
-## Next steps
-
-- [Edit abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html)
-- [Manage abstract product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-prices.html)
-- [Manage abstract product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-image-sets.html)
-- [Manage abstract product meta information](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-meta-information.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-image-sets.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-image-sets.md
deleted file mode 100644
index a7a9b74e409..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-image-sets.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title: Managing marketplace abstract product image sets
-last_updated: Aug 11, 2021
-description: This document describes how to manage marketplace abstract product image sets in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage image sets of the marketplace abstract products in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace abstract products, go to **Merchant Portal > Products**.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Adding images for marketplace abstract products
-
-To add an image set for a marketplace abstract product:
-
-1. Next to the abstract product, you want to create an image set for, hover over the three dots, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Images** pane.
-3. Click **+Add Image Set**. The empty cells appear.
-4. In **SET NAME**, enter the name of the set.
-5. In **IMAGE ORDERED**, enter the number which defines the order of the images to be displayed.
-6. In **SMALL IMAGE URL**, enter the image URL.
-7. In **LARGE IMAGE URL**, enter the image URL.
-8. Click **Save**.
-
-## Editing images for marketplace abstract products
-
-To edit an image of a marketplace abstract product:
-
-1. Next to the abstract product, which image you want to edit, hover over the three dots, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Images** pane.
-3. Select a default or specific locale you want to update images for.
-4. Update the following:
- - SET NAME
- - IMAGE ORDERED
- - SMALL IMAGE URL
- - LARGE IMAGE URL
-5. Click **Save**.
-
-## Deleting images for marketplace abstract products
-
-To delete an image in an image set for a marketplace abstract product:
-
-1. Next to the abstract product, which image you want to delete, hover over the three dots, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Images** pane.
-3. Select a default or specific locale you want to delete the image for.
-4. Click the **Delete** icon.
-
-To delete an image set with its images for the abstract product, click **Delete Image Set**.
-
-## Reference information: Images pane
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------- | ------------------------------------------------------------ |
-| Set name | Name of your image set. |
-| Image ordered | If you add several images to an image set, specify the order in which they are to be shown on the Storefront and in the Back Office using *Image ordered* field. The order of images is defined by the order of entered numbers where the image set with "0" is the first to be shown. |
-| Small image URL | Link of the image that is going to be used in the product catalogs. |
-| Large image URL | Link to the image that is going to be used on the product details page. |
-
-## Next steps
-
-- [Edit abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html)
-- [Manage abstract product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-prices.html)
-- [Manage abstract product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html)
-- [Manage abstract product meta information](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-meta-information.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-meta-information.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-meta-information.md
deleted file mode 100644
index bee5aeb7e13..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-meta-information.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: Managing marketplace abstract product meta information
-last_updated: Aug 11, 2021
-description: This document describes how to manage marketplace abstract product meta information in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage marketplace abstract product meta information in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace abstract products, go to **Merchant Portall > Products**.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Adding abstract product meta information
-
-To add meta information for a product:
-
-1. Next to the abstract product, you want to add meta information for, hover over the three dots and click **Manage Product**, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **SEO** pane.
-3. Fill the following fields for the desired locales:
- * Meta title
- * Meta keywords—separate keywords with comma.
- * Meta description
-4. Click **Save**.
-
-## Editing abstract product meta information
-
-To modify meta information for a product:
-
-1. Next to the abstract product you want to edit meta information for hover over the three dots and click **Manage Product**, or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **SEO** pane.
-3. Update the following fields for the desired locales:
- - Meta title
- - Meta keywords—separate keywords with comma.
- - Meta description
-
-4. Click **Save**.
-
-## Reference information: SEO pane
-
-| ATTRIBUTE | DESCRIPTION |
-| ---------------- | ---------------------------------- |
-| Meta title | Meta title for your product. |
-| Meta keywords | Meta keywords for your product. |
-| Meta description | Meta description for your product. |
-
-## Next steps
-
-- [Edit abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html)
-- [Manage abstract product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-prices.html)
-- [Manage abstract product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html)
-- [Manage abstract product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-image-sets.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-prices.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-prices.md
deleted file mode 100644
index 300e0eff618..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product-prices.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: Managing marketplace abstract product prices
-last_updated: Aug 11, 2021
-description: This document describes how to manage marketplace abstract product prices in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-
-This document describes how to manage marketplace abstract product prices in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace abstract products, go to **Merchant Portal > Products**.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Adding a marketplace abstract product price
-
-To add a new price for a marketplace abstract product:
-
-1. Next to the abstract product, where you want to add a price for, hover over the three dots, or just click the line, and then click **Manage Product**. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Price** pane.
-3. In the **Price** pane, click **+Add**. The empty cells appear in the following table.
-4. From the drop-down menu **Store**, select the store for which the price is created.
-5. From the drop-down menu **Currency**, select the currency in which the price is defined.
-6. For the **NET DEFAULT** cell, enter a price. Use `.` or `,` separators.
-7. For the **GROSS DEFAULT** cell, enter a price. Use `.` or `,` separators.
-8. Optional: For the **NET ORIGINAL** cell, enter a price. Use `.` or `,` separators.
-9. Optional: For the **GROSS ORIGINAL** cell, enter a price. Use `.` or `,` separators.
-10. For the **QUANTITY** cell, enter the number of items. By default, the quantity is 1. For an example, see [Adding volume prices](#adding-volume-prices).
-
-**Tips and tricks**
- Click **Cancel** to stop creating a new price.
-
-
-## Editing abstract product prices
-
-To edit prices of a marketplace abstract product:
-
-1. Next to the abstract product, the price of which you want to edit, hover over the three dots, or just click the line, and then click **Manage Product**. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Price** pane.
-3. Next to the price you want to edit, hover over the table and update the necessary cells.
-
-**Tips and tricks**
-
-You can sort the prices by stores and currencies. To do that, in the **Price** pane, in the **Stores** drop-down menu, select the stores for which the price is defined, and in the **Currencies** drop-down menu, select the currencies in which the price is defined.
-
-
-## Deleting abstract product prices
-
-To remove price of an abstract product:
-
-1. Next to the abstract product, the price of which you want to delete, hover over the three dots, or just click the line, and then click **Manage Product**. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. Scroll down to the **Price** pane.
-3. Next to the price you want to remove, hover over the three dots in the table, and click **Delete**.
-
-
-## Reference information: Price pane
-
-|ATTRIBUTE | DESCRIPTION |
-| ------------- | --------------------- |
-| Store | [Store](/docs/scos/dev/tutorials-and-howtos/howtos/howto-set-up-multiple-stores.html) in which the price will be displayed. |
-| Currency | Currency in which the abstract product price is defined. |
-| Net default | Default item price before tax. |
-| Gross default | Item price after tax. |
-| Net original | Item price before tax displayed as a strikethrough beside the default price on the Storefront. It is usually used to indicate a price change. |
-| Gross original | Item price after tax displayed as a strikethrough beside the default price on the Storefront. It is usually used to indicate a price change. |
-| Quantity | Quantity of the product to which the prices from the *Gross price* and *Net price* fields apply. |
-
-### Adding volume prices
-
-Let's say you have a product that you want to sell with a special price if a user wants to buy a specific number of the same product. For example, a laptop costs €354.35, but you have defined that if a user buys three items, the cost will be €340 instead of €354.35. In this case, you can define a product quantity starting from which a special [volume price](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html) applies.
-
-![Volume prices - marketplace product](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Products/volume-prices-merchant-products.gif)
-
-## Next steps
-
-- [Edit abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html)
-- [Manage abstract product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html)
-- [Manage abstract product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-image-sets.html)
-- [Manage abstract product meta information](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-meta-information.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product.md
deleted file mode 100644
index a5881a50e9c..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/abstract-products/managing-marketplace-abstract-product.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: Managing marketplace abstract products
-last_updated: Aug 11, 2021
-description: This document describes how to modify marketplace abstract products in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage marketplace abstract products in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace abstract products, go to the **Merchant Portal > Products**.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-
-## Filtering and sorting marketplace abstract products
-
-The following drop-down menus can be used to filter the marketplace abstract products on the **Products** page:
-- Categories where the abstract product belongs.
-- Visibility (defines whether the product is online or offline).
-- Stores where the abstract product is available.
-
-The page refreshes and displays the available options as soon as the filter parameters are selected.
-
-To sort the existing abstract products, select one or more sorting parameters from the drop-down menu on the **Products** page. Choose among the following sort criteria:
-- SKU
-- Name
-- Number of variants
-- Visibility status
-
-By default, the table is sorted descendingly by SKU.
-
-## Editing abstract product details
-
-To edit the existing marketplace abstract product:
-
-1. Next to the abstract product, you want to edit, hover over the three dots and click **Manage Product** or just click the line. This takes you to the **_[Product name]_**, **Abstract Product Details** tab.
-2. In the **Name & Description** pane, edit **Name** and **Description** for every locale.
-3. In the **Stores** pane, in the drop-down menu select the stores where the product is available.
-4. In the **Tax Set** pane, in the drop-down menu, select the necessary tax set.
-5. In the **Categories** pane, in the drop-down menu, select the categories where your product belongs.
-
-
-### Reference information: [Product name] drawer, Abstract Product Details tab
-
-The following table describes attributes you select and enter in the ***[Product name]*** drawer, on the **Abstract Details** tab
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-| ----------- | -------------- | --------- |
-| Name | Name of your product displayed on the Storefront. It is set per locale. | ✓ |
-| Description | Description of the product displayed on the Storefront. It is set per locale. | |
-| Stores | Defines the [stores](/docs/scos/dev/tutorials-and-howtos/howtos/howto-set-up-multiple-stores.html) the product is available in. You can select multiple values. | |
-| Price | In this pane, you can manage prices for your abstract product. For more details, see [Managing abstract product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-prices.html). | |
-| Tax Set | The conditions under which a product is going to be taxed. The values available for selection derive from **Taxes > Tax Sets** Only one value can be selected. | ✓ |
-| Images | In this pane, you can manage image sets for your abstract product. For more details, see [Managing abstract product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-image-sets.html). | |
-| Attributes | In this pane, you can manage attributes for your product. For more details, see [Managing abstract product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html). | |
-| Categories | Defines the [categories](/docs/scos/user/features/{{page.version}}/category-management-feature-overview.html) the product is displayed in. | |
-| SEO | In this pane, you can manage meta information for your product. For more details, see [Managing abstract product meta information](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-meta-information.html). | |
-
-## Next steps
-
-- [Manage abstract product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-prices.html)
-- [Manage abstract product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html)
-- [Manage abstract product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-image-sets.html)
-- [Manage abstract product meta information](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-meta-information.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/creating-marketplace-concrete-product.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/creating-marketplace-concrete-product.md
deleted file mode 100644
index 3e0600b04bc..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/creating-marketplace-concrete-product.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Creating marketplace concrete products
-last_updated: Aug 11, 2021
-description: This document describes how to create a marketplace concrete product in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to create marketplace concrete products.
-
-## Prerequisites
-
-To start working with marketplace concrete products, go to **Merchant Portal > Products**.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Creating a marketplace concrete product
-
-You can create a marketplace concrete product in two ways:
-
-- While [creating an abstract marketplace product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/creating-marketplace-abstract-product.html).
-- By adding a concrete product to the existing abstract product.
-
-To add a concrete product to the existing abstract product:
- 1. Hover over the three dots next to the abstract product for which you will create a concrete product and click **Manage Product** or just click the line. The **[Product name]** drawer opens.
- 2. Navigate to the **Concrete Products** tab.
- 3. On the **Concrete Products** page, click **Add Concrete Products**. The **Create Concrete Products for [Abstract product name SKU]** drawer opens.
- 4. Based on the super attributes selected while [creating an abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/creating-marketplace-abstract-product.html), add or select values to the existing super attributes. Upon adding the super attribute values, the preview of the concrete products is displayed.
-
- {% info_block infoBox "Info" %}
-
- Removing a super attribute or its value removes the appropriate concrete products or concrete product values from the preview.
-
- {% endinfo_block %}
-
- 4. Click **Save**.
-
- {% info_block infoBox "Info" %}
-
- You can remove a concrete product from the preview list by clicking the **Remove** icon.
-
- {% endinfo_block %}
-
-Once the product is created, it needs to be [activated](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html#activating-and-deactivating-a-concrete-product). Only the active marketplace products are displayed on the Marketplace Storefront.
-
-### Reference information: Create Concrete Products for [Abstract product name SKU]
-
-This page contains a drop-down menu that displays super attribute values based on a super attribute selected while [creating a marketplace abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/creating-marketplace-abstract-product.html). When you select a product attribute value, a concrete product based on this value is displayed. In the **Concrete Products’ Preview** pane, you can view the products to be created.
-
-By selecting **Autogenerate SKUs**, the SKU numbers for the concrete products are generated automatically, based on the SKU prefix of their abstract product.
-
-By selecting **Same Name as Abstract Product**, the name of the abstract product is used for the concrete products as well.
-
-
-## Next steps
-
-[Manage concrete product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-attributes.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-attributes.md
deleted file mode 100644
index 9856086d2b6..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-attributes.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: Managing marketplace concrete product attributes
-last_updated: Aug 11, 2021
-description: This document describes how to manage marketplace concrete product attributes in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage attributes of the marketplace concrete products in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace concrete products, go to the **Merchant Portal > Products**. Hover over the three dots next to the abstract product for which you manage a concrete product and click **Manage Product** or just click the line. The **[Product name]** drawer opens. Navigate to the **Concrete Products** tab.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Adding marketplace concrete product attributes
-
-To add an attribute for a marketplace concrete product:
-
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Attributes** pane.
-3. In the **Attributes** pane, click **+Add**. The empty cells appear in the following table.
-4. From the drop-down menu **Attribute**, select a predefined value or enter your own when allowed by the Marketplace operator.
-5. Depending on the attribute selected in the step 3, for the **Default** cell, select or enter the predefined value. Use the **Default** cell if no translations are needed.
-6. Add/select translations for the attribute values for the desired locales.
-
-**Tips and tricks**
-
-Click **Cancel** if a new attribute should not be added to a concrete product.
-
-## Editing marketplace concrete product attributes
-
-To edit attributes for a marketplace concrete product:
-
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Attributes** pane.
-3. In the **Attributes** pane, hover over the table and update the necessary cells.
-
-**Tips and tricks**
-
-You can rearrange the columns' order, hide and show the columns by clicking the settings cogwheel next to the table.
-
-## Deleting marketplace concrete product attributes
-
-To remove an attribute from a concrete product:
-
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Attributes** pane.
-3. In the **Attributes** pane, next to the attribute you want to delete, hover over the three dots and click **Delete**.
-
-### Reference information: Attributes pane
-
-| ATTRIBUTE | DESCRIPTION |
-| ------------------ | ------------------ |
-| Attribute | Name of the attribute, for example, `color`. |
-| Default | Values of you attribute, for example, if the attribute is `color`, its values can be `red`, `green`, or `black`. This value is used for all locales without a specific value. |
-| Locale value (for example, DE_DE) | Translation of the attribute values for other locales. |
-
-## Next steps
-
-- [Manage concrete product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html)
-- [Manage concrete product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-prices.html)
-- [Manage concrete product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-products-image-sets.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-prices.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-prices.md
deleted file mode 100644
index ff5884cb5f9..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product-prices.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: Managing marketplace concrete product prices
-last_updated: Aug 11, 2021
-description: This document describes how to manage marketplace concrete product prices in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage marketplace concrete product prices in the Merchant Portal.
-
-## Prerequisites
-
-To start working with the marketplace concrete products, take the following steps:
-1. Go to **Merchant Portal > Products**.
-2. Hover over the three dots next to the abstract product for which you manage a concrete product and click **Manage Product** or just click the line. The ***[Product name]*** drawer opens.
-3. Navigate to the **Concrete Products** tab.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Adding a marketplace concrete product price
-
-To add a new price for a marketplace concrete product:
-
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Price** pane.
-3. In the **Price** pane, click **+Add**. The empty cells appear in the following table.
-4. From the drop-down menu **Store**, select the store for which the price is created.
-5. From the drop-down menu **Currency**, select the currency in which the price is defined.
-6. For the **NET DEFAULT** cell, enter a price. Use `.` or `,` separators.
-7. For the **GROSS DEFAULT** cell, enter a price. Use `.` or `,` separators.
-8. Optional: For the **GROSS DEFAULT** cell, enter a price. Use `.` or `,` separators.
-9. Optional: For the **NET ORIGINAL** cell, enter a price. Use `.` or `,` separators.
-10. Optional: For the **GROSS ORIGINAL** cell, enter a price. Use `.` or `,` separators.
-11. For the **QUANTITY** cell, enter the number of items. By default, the quantity is 1. For an example, see [Adding volume prices](#adding-volume-prices).
-
-**Tips and tricks**
-
-To stop creating a new price, click **Cancel**.
-
-To keep the prices of the abstract product, select **Use Abstract Product price for all locales**.
-
-## Editing marketplace concrete product prices
-
-To edit prices of a marketplace concrete product:
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Price** pane.
-2. Hover over the table and update the necessary cells.
-
-**Tips and tricks**
-
-You can sort the prices by stores and currencies. To do that, in the **Price** pane, in the **Stores** drop-down menu, select the stores for which the price is defined, and in the **Currencies** drop-down menu, select the currencies in which the price is defined.
-
-## Deleting marketplace concrete product prices
-
-To remove price of a marketplace concrete product:
-
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Price** pane.
-3. Next to the price you want to remove, hover over the three dots in the table, and click **Delete**.
-
-### Reference information: Price pane
-
-|ATTRIBUTE | DESCRIPTION |
-| ------------- | --------------------- |
-| Store | [Store](/docs/scos/dev/tutorials-and-howtos/howtos/howto-set-up-multiple-stores.html) in which the price will be displayed. |
-| Currency | Currency in which the concrete product price is defined. |
-| Net default | Default item price before tax. |
-| Gross default | Item price after tax. |
-| Net original | Item price before tax displayed as a strikethrough beside the default price on the Storefront. It is usually used to indicate a price change. |
-| Gross original |Item price after tax displayed as a strikethrough beside the default price on the Storefront. It is usually used to indicate a price change. |
-| Quantity | Number of items for which the price is defined. This field ID used to define the volume prices for the concrete product. |
-
-### Adding volume prices
-
-Let's say you have a product that you want to sell with a special price if a user wants to buy a specific number of the same product. For example, a laptop costs €354.35, but you have defined that if a user buys three items, the cost will be €340 instead of €354.35. In this case, you can define a product quantity starting from which a special [volume price](/docs/scos/user/features/{{page.version}}/prices-feature-overview/volume-prices-overview.html) applies.
-
-![Volume prices - marketplace product](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/user+guides/Merchant+Portal+user+guides/Products/volume-prices-merchant-products.gif)
-
-## Next steps
-
-- [Manage concrete product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html)
-- [Manage concrete product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-products-image-sets.html)
-- [Manage concrete product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-attributes.html)
\ No newline at end of file
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product.md
deleted file mode 100644
index 9347b3f86cf..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-product.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Managing marketplace concrete products
-last_updated: Aug 11, 2021
-description: This document describes how to modify marketplace concrete products in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to edit a marketplace concrete product in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace concrete products, take the following steps:
-1. Go to the **Merchant Portal > Products**.
-2. Hover over the three dots next to the abstract product for which you manage a concrete product and click **Manage Product** or just click the line. The **[Product name]** drawer opens.
-3. Navigate to the **Concrete Products** tab.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Filtering and sorting concrete products
-
-The following drop-down menus can be used to filter the marketplace concrete products on the **Concrete Products** page:
-- Status of the concrete product
-- Validity dates
-
-To sort the existing concrete products, on the **Concrete Products** page, from the drop-down menu, select one or more sorting parameters. Choose among the following sort criteria:
-- SKU
-- Name
-- Status
-- Valid from
-- Valid to
-
-By default, the table is sorted descendingly by SKU.
-
-## Activating and deactivating a concrete product
-
-To activate a marketplace concrete product:
-1. On the **Concrete Products** page, next to the concrete product you want to activate, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. In the **Status** pane, select **Concrete Product is online** to make the concrete product online.
-3. Click **Save**.
-
-To deactivate the product, clear **Concrete Product is online** to make the concrete product offline.
-
-## Editing marketplace concrete product details
-
-To edit an existing marketplace concrete product:
-
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line. The **Concrete Product SKU, Name** page opens.
-2. In the **Stock** pane, populate the **Quantity** field.
-3. In the **Name** pane, edit **Name** for every locale.
-4. In the **Description** pane, edit **Description** for every locale.
-5. In the **Validity Dates & Time** pane, populate the **Valid from** and **Valid to** fields.
-6. In the **Searchability** pane, from the drop-down menu, select the locales where the product is searchable.
-7. Click **Save**.
-
-### Reference information: Concrete Product SKU, Name page
-
-| PANE | ATTRIBUTE | DESCRIPTION | REQUIRED |
-| -------------- | ---------------- | ----------- | --------- |
-| Status | | Defines the status of the concrete product. | |
-| | Concrete Product is online | The selected checkbox makes the product active and available in store. | |
-| Stock | | Defines the stock of the concrete product. | |
-| | Reserved Stock | Number of items of this concrete product that are reserved according to *Orders*. | |
-| | Quantity | Number of items available in the warehouse. The default is 0. | ✓ |
-| | Always in Stock | The selected checkbox makes the product always available for purchase. | |
-| Name | | Name of your product displayed on the Storefront. | ✓ |
-| | Use Abstract Product name for all locales | Select the checkbox to take over the name of the abstract. | |
-| Description | | Product description. | |
-| | Use Abstract Product description for all locales | Select the checkbox to take over the description of the abstract.. | |
-| Validity Dates & Time | | Defines the period of time when the product is in active state. The **Valid from** date triggers the activation, while the **Valid to** date triggers the deactivation. Either no dates can be selected, or both. | |
-| Price | | In this pane, you can manage prices for your concrete product. For more details, see [Managing marketplace concrete product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing marketplace-concrete-product-prices.html). | |
-| Images | | In this pane, you can manage image sets for your concrete product. For more details, see [Managing concrete product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-products-image-sets.html). | |
-| Attributes | | In this pane, you can manage attributes for your product. For more details, see [Managing concrete product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-attributes.html). | |
-| Searchability | | Defines the stores where the concrete product can be searched via the Search function in the online store. If not selected, no values will be displayed when searching for this product. | |
-
-## Next steps
-
-- [Manage concrete product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-prices.html)
-- [Manage concrete product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-products-image-sets.html)
-- [Manage concrete product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-attributes.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-products-image-sets.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-products-image-sets.md
deleted file mode 100644
index 5979b3eadf0..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/concrete-products/managing-marketplace-concrete-products-image-sets.md
+++ /dev/null
@@ -1,72 +0,0 @@
----
-title: Managing marketplace concrete product image sets
-last_updated: Aug 11, 2021
-description: This document describes how to manage marketplace concrete product image sets in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to manage image sets of the marketplace concrete products in the Merchant Portal.
-
-## Prerequisites
-
-To start working with marketplace concrete products, take the following steps:
-1. Go to the **Merchant Portal > Products**.
-2. Next to the abstract product for which you want to create a concrete product, hover over the three dots and click **Manage Product** or just click the line.
- The ***[Product name]*** drawer opens.
-3. Navigate to the **Concrete Products** tab.
-
-This document contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-## Adding images for marketplace concrete products
-
-To add an image for a marketplace concrete product:
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line.
- The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Images** pane.
-3. Click **+Add Image Set***. The empty cells appear.
-4. In **SET NAME**, enter the name of the set.
-5. In **IMAGE ORDER**, enter the number which defines the order of the images displayed.
-6. In **SMALL IMAGE URL**, enter the URL.
-7. In **LARGE IMAGE URL**, enter the URL.
-8. Click **Save**.
-
-## Editing images for marketplace concrete products
-
-To edit an image of the marketplace concrete product:
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line.
- The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Images** pane.
-3. Select a default or a specific locale you want to update images for.
-4. Update the following:
- - SET NAME
- - IMAGE ORDER
- - SMALL IMAGE URL
- - LARGE IMAGE URL
-5. Click **Save**.
-
-## Deleting images for marketplace concrete products
-
-To delete an image in the image set for a marketplace concrete product:
-
-1. On the **Concrete Products** page, next to the concrete product you want to edit, hover over the three dots and click **Manage Product** or just click the line.
- The **Concrete Product SKU, Name** page opens.
-2. Scroll down to the **Images** pane.
-3. Select a default or a specific locale you want to delete the image for.
-4. Click the **Delete** icon.
-
-To delete an image set with its images for the concrete product, click **Delete Image Set**.
-
-### Reference information: Images pane
-
-| ATTRIBUTE | DESCRIPTION |
-| --------------- | ------------------------------------------------------------ |
-| Set name | Name of your image set. |
-| Image ordered | If you add several images to an image set, specify the order in which they are to be shown on the Storefront and in the Back Office using *Image ordered* field. The order of images is defined by the order of entered numbers where the image set with `0` is the first to be shown. |
-| Small image URL | Link of the image that is going to be used in the product catalogs. |
-| Large image URL | Link to the image that is going to be used on the product details page. |
-
-## Next steps
-
-- [Manage a concrete product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/creating-marketplace-concrete-product.html)
-- [Manage concrete product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-prices.html)
-- [Manage concrete product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-attributes.html)
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/products.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/products.md
deleted file mode 100644
index 83299a72b58..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/products/products.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Products
-last_updated: Apr 4, 2023
-description: This section describes how to manage abstract and concrete products.
-template: back-office-user-guide-template
----
-
-In this section, you can learn how to manage abstract and concrete products.
-
-For specific instructions, see the following guides:
-
-* Abstract products guides:
- * [Creating marketplace abstract product](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/creating-marketplace-abstract-product.html)
- * [Managing marketplace abstract product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-attributes.html)
- * [Managing marketplace abstract product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-image-sets.html)
- * [Managing marketplace abstract product meta information](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-meta-information.html)
- * [Managing marketplace abstract product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product-prices.html)
- * [Managing marketplace abstract products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/abstract-products/managing-marketplace-abstract-product.html)
-
-* Concrete products guides:
- * [Creating marketplace concrete products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/creating-marketplace-concrete-product.html)
- * [Managing marketplace concrete product attributes](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-attributes.html)
- * [Managing marketplace concrete product prices](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product-prices.html)
- * [Managing marketplace concrete products](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-product.html)
- * [Managing marketplace concrete product image sets](/docs/marketplace/user/merchant-portal-user-guides/{{page.version}}/products/concrete-products/managing-marketplace-concrete-products-image-sets.html)
-
diff --git a/docs/marketplace/user/merchant-portal-user-guides/202108.0/profile/editing-merchants-profile-details.md b/docs/marketplace/user/merchant-portal-user-guides/202108.0/profile/editing-merchants-profile-details.md
deleted file mode 100644
index 78e41d2f893..00000000000
--- a/docs/marketplace/user/merchant-portal-user-guides/202108.0/profile/editing-merchants-profile-details.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: Editing merchant's profile details
-last_updated: Jul 24, 2020
-description: This document describes how to edit merchant's profile details in the Merchant Portal.
-template: back-office-user-guide-template
----
-
-This document describes how to edit merchant's profile details in the Merchant Portal.
-
-## Prerequisites
-
-To start managing a merchant profile, navigate to the **Merchant Portal > Profile**.
-
-This section lets [merchant users](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/merchant-users-overview.html) check and update the merchant profile information.
-
-Each section contains reference information. Make sure to review it before you start, or look up the necessary information as you go through the process.
-
-
-## Editing merchant's business info
-
-{% info_block infoBox "Info" %}
-
-The merchant's **Business Info** includes the details about contact person and general merchant company information.
-
-{% endinfo_block %}
-
-To edit the merchant's business info, on the **Business Info** tab, edit the merchant details and click **Save**.
-
-### Reference information: Editing merchant's business info
-
-This section describes the attributes you enter and select when editing the merchant's business info on the **Business Info** tab. This tab includes business details that are not displayed in the Storefront. This information is needed for the initial merchant setup and further collaboration between the merchant and Marketplace administrator.
-
-#### Contact Person Details section
-
-The contact person is the only contact of the merchant with the Marketplace administrator.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Role | Role in the company/organization the contact person performs. | |
-| Title | Formal salutation for your contact person (for example, Mr, Ms, Mrs, Dr). | |
-| First Name | First name of the contact person. The first name is taken from the [General tab of the Merchant Profile in the Back Office](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#general-tab) but can be edited in the Merchant Portal too. | ✓ |
-| Last Name | Last name of the contact person. The last name is taken from the [General tab of the Merchant Profile in the Back Office](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#general-tab) but can be edited in the Merchant Portal too. | ✓ |
-| Email | Email address of the contact person. This email is taken from the [General tab of the Merchant Profile in the Back Office](/docs/marketplace/user/back-office-user-guides/{{page.version}}/marketplace/merchants/managing-merchants.html#general-tab) but can be edited in the Merchant Portal too. | ✓ |
-| Phone Number | Phone number of the contact person. | |
-
-#### Company
-
-This section contains general information about the company the merchant has.
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Company Name | Name of the merchant. It is also displayed as the merchant name in the Storefront. | ✓ |
-| Registration Number | Number assigned to the company at the point of registration. | |
-| Merchant Reference | Unique identifier of the merchant in the system. | |
-
-## Editing merchant's online profile
-
-{% info_block infoBox "Info" %}
-
-The **Online Profile** section lets you manage information displayed on the **Merchant Profile** page in the Storefront.
-
-{% endinfo_block %}
-
-To edit the merchant's online profile, in the **Online Profile** tab, edit the necessary details and click **Save**.
-
-### Reference information: Editing merchant's online profile
-
-This section describes attributes you see when editing the merchant's online profile on the **Online Profile** tab. This tab contains the information displayed on the [Merchant Profile page on the Storefront](/docs/marketplace/user/features/{{page.version}}/marketplace-merchant-feature-overview/marketplace-merchant-feature-overview.html#merchant-profile).
-
-#### Store Profile URL
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Store Profile URL | Field where you can specify the URL of the Merchant Profile in the Marketplace Storefront for every locale. | ✓ |
-| About Your Store | Description of the merchant company/store. It’s provided for every locale. | |
-
-#### Visual assets
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Logo URL | You can add a logo for your Merchant Profile. Provide a link to your logo here. | |
-| Banner URL | You can add a banner for your Merchant Profile. Provide a link to your banner for every locale. | |
-
-#### Contact Details & Address
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Street | Street of the merchant's business address. | |
-| Number | Number of the building in the merchant's business address. | |
-| Zip Code | ZIP code of the merchant's business address. | |
-| Addition to Address | In this field, you can specify any additional information included in the merchant's business address. | |
-| City | City of the merchant's business address. | |
-| Country | Drop-down list where you specify the country of the merchant's business address. | |
-| Longitude | In this field, you can identify the exact location of the merchant. | |
-| Latitude | In this field, you can identify the exact location of the merchant. | |
-| Phone Number | Merchant's public phone number. | |
-| Fax Number | Merchant's tax number. | |
-| Email | Business/public email address for the merchant. | |
-
-#### Average Delivery Time
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Average Delivery Time | Average time during which the order is shipped. It is defined per a locale. | |
-
-#### Legal Information
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Terms & Conditions | In this field, you can specify the terms and conditions for the merchant. | |
-| Return Policy | In this field, you can specify the return policy for the merchant. | |
-| Imprint | In this field, you can specify imprint information. | |
-| Data Privacy | In this field, you can specify the data privacy statement. | |
-
-#### Shop Status
-
-| ATTRIBUTE | DESCRIPTION | REQUIRED |
-|-|-|-|
-| Your Store is online | By selecting this option, you can define whether the merchant store (with the profile, marketplace products and offers) should be displayed on the Marketplace Storefront. | |
-
-### What’s Next?
-
-Review the **My Offers** section to know more about product offers you can create.
diff --git a/docs/scos/dev/developers-corner/201811.0/developers-corner.md b/docs/scos/dev/developers-corner/201811.0/developers-corner.md
deleted file mode 100644
index 9924f102537..00000000000
--- a/docs/scos/dev/developers-corner/201811.0/developers-corner.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Developer's Corner
-last_updated: Sep 26, 2019
-template: howto-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/developers-corner
-originalArticleId: 34512d92-99bd-42cc-a12c-4bdf9c827311
-redirect_from:
- - /v1/docs/developers-corner
- - /v1/docs/en/developers-corner
----
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/agent-assist-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/agent-assist-feature-integration.md
deleted file mode 100644
index 6c0ac1dcf91..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/agent-assist-feature-integration.md
+++ /dev/null
@@ -1,306 +0,0 @@
----
-title: Agent Assist feature integration
-description: This guide describes how to install the Agent Assist feature in your project.
-last_updated: Nov 25, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/agent-assist-feature-integration
-originalArticleId: ee66ce01-0196-4a85-b5d6-f71f34794f08
-redirect_from:
- - /v1/docs/agent-assist-feature-integration
- - /v1/docs/en/agent-assist-feature-integration
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.11.0 |
-| Spryker Core Back Office | 2018.11.0 |
-| Customer Account Management | 2018.11.0 |
-
-### 1) Install the required modules using Composer
-Run the following command(s) to install the required modules:
-```bash
-composer require spryker-feature/agent-assist:"^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
Module
Expected Directory
`Agent`
`vendor/spryker/agent`
`AgentGui`
`vendor/spryker/agent-gui`
-{% endinfo_block %}
-
-### 2) Set up Database Schema
-Run the following commands to apply database changes and to generate entity and transfer changes.
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Verify the following changes by checking your database:
Database Entity
Type
Event
`spy_user.is_agent`
column
created
-{% endinfo_block %}
-
-### 3) Set up Behavior
-Enable the following behaviors by registering the plugins:
-
-| Plugin | Description | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `UserAgentFormExpanderPlugin` | Adds "is an agent" checkbox to the Zed User form. | None | `Spryker\Zed\AgentGui\Communication\Plugin` |
-| `UserAgentTableConfigExpanderPlugin` | Adds "is an agent" column to the Zed Users table. | None | `Spryker\Zed\AgentGui\Communication\Plugin` |
-| `UserAgentTableDataExpanderPlugin` | Fills "is an agent" column in the Zed Users table. | None | `Spryker\Zed\AgentGui\Communication\Plugin` |
-
-
-src/Pyz/Zed/User/UserDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox “Verification” %}
-
-Make sure that the following plugins have been registered:
Plugin
Description
Prerequisites
Namespace
`UserAgentFormExpanderPlugin`
Adds "is an agent" checkbox to the Zed User form.
None
`Spryker\Zed\AgentGui\Communication\Plugin`
`UserAgentTableConfigExpanderPlugin`
Adds "is an agent" column to the Zed Users table.
None
`Spryker\Zed\AgentGui\Communication\Plugin`
`UserAgentTableDataExpanderPlugin`
Fills "is an agent" column in the Zed Users table.
None
`Spryker\Zed\AgentGui\Communication\Plugin`
-{% endinfo_block %}
-
-## Install feature frontend
-### Prerequisites
-Install the required features:
-| Name | Version |
-| --- | --- |
-| Spryker Core E-commerce | 2018.11.0 |
-
-### 1) Install the required modules using Composer
-
-Run the following command(s) to install the required modules:
-
-```bash
-composer require spryker-feature/agent-assist:"^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Verify that the following modules were installed:
Module
Expected Directory
`AgentPage`
`vendor/spryker-shop/agent-page`
`AgentWidget`
`vendor/spryker-shop/agent-widget`
-{% endinfo_block %}
-
-### 2) Add Translations
-
-Append glossary according to your configuration:
-
-
-src/data/import/glossary.csv
-
- ```yaml
-agent.authentication.failed,Authentication failed,en_US
-agent.authentication.failed,Authentifizierung fehlgeschlagen,de_DE
-agent.login.title,Access your account,en_US
-agent.login.title,Ich bin bereits Kunde,de_DE
-agent.confirm_user_selection,Confirm,en_US
-agent.confirm_user_selection,Bestätigen,de_DE
-agent.login.email,Email,en_US
-agent.login.email,E-Mail,de_DE
-agent.login.password,Password,en_US
-agent.login.password,Passwort,de_DE
-agent.control_bar.username,Agent: %username%,en_US
-agent.control_bar.username,Agent: %username%,de_DE
-agent.control_bar.customer_name,Customer: %username%,en_US
-agent.control_bar.customer_name,Kunde: %username%,de_DE
-agent.control_bar.logout_as_customer,End Customer Assistance,en_US
-agent.control_bar.logout_as_customer,Kunden-Assistenz beenden,de_DE
-agent.control_bar.logout,Logout,en_US
-agent.control_bar.logout,Abmelden,de_DE
-agent.autocomplete.no_results,No results found,en_US
-agent.autocomplete.no_results,Keine Ergebnisse gefunden,de_DE
-autocomplete.placeholder,Search,en_US
-autocomplete.placeholder,Suche,de_DE
-```
-
-
-
-Run the following command(s) to add the glossary keys:
-```bash
-console data:import:glossary
-```
-
-{% info_block warningBox “Verification” %}
-
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 3) Enable Controllers
-#### Service Provider List
-
-Register service provider(s) to Yves application:
-
-| Provider | Namespace | Specification |
-| --- | --- | --- |
-| `AgentPageSecurityServiceProvider` | `SprykerShop\Yves\AgentPage\Plugin\Provider` | Registers security firewalls, access rules, impersonate rules and login/logout handlers for Agent users. |
-
-
-src/Pyz/Yves/ShopApplication/YvesBootstrap.php
-
-```php
-application->register(new AgentPageSecurityServiceProvider()); # AgentFeature
- }
-}
-```
-
-
-
-{% info_block warningBox “Verification” %}
-
-Verify the following changes:
-Try to open the link: `http://mysprykershop.com/agent/secured`
-You should be redirected to `http://mysprykershop.com/agent/login`
-{% endinfo_block %}
-
-#### Controller Provider List
-
-Register controller provider(s) to Yves application:
-
-| Provider | Namespace | Enabled Controller | Controller Specification |
-| --- | --- | --- | --- |
-| `AgentPageControllerProvider` | `SprykerShop\Yves\AgentPage\Plugin\Provider` | `AgentPage\AuthController` | Login/Logout actions for the Agent user. |
-| `AgentWidgetControllerProvider` | `SprykerShop\Yves\AgentWidget\Plugin\Provider` | `AgentWidget\CustomerAutocompleteController`| Customer autocomplete action for the Agent control bar. |
-
-src/Pyz/Yves/ShopApplication/YvesBootstrap.php
-
- ```php
-
-
-
-{% info_block warningBox “Verification” %}
-
-Verify the `AgentPageControllerProvider` opening the agent login page by the link: `http://mysprykershop.com/agent/login`
-{% endinfo_block %}
-
-{% info_block warningBox “Verification” %}
-
-Verify the `AgentWidgetControllerProvider` searching customers from Agent control bar after Agent login.
-{% endinfo_block %}
-
-### 4) Set up Widgets
-Register the following global widget(s):
-| Widget | Specification | Namespace |
-| --- | --- | --- |
-| `AgentControlBarWidget` | Allows agents to select customers and impersonate. | `SprykerShop\Yves\AgentWidget\Widget` |
-
- src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
- ```php
-
-
-
-Run the following command to enable Javascript and CSS changes
-
-In case if you have custom layout template, please place the agent widget above the site header:
-
-```html
-{% raw %}{%{% endraw %} widget 'AgentControlBarWidget' only {% raw %}%}{% endraw %}{% raw %}{%{% endraw %} endwidget {% raw %}%}{% endraw %}
-```
-{% info_block warningBox “Verification” %}
-
-Make sure that the following widgets were registered:
Module
Test
`AgentControlBarWidget`
Login as an Agent. The control bar widget should appear above the site header.
-{% endinfo_block %}
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/business-on-behalf-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/business-on-behalf-feature-integration.md
deleted file mode 100644
index 998d9f9d07f..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/business-on-behalf-feature-integration.md
+++ /dev/null
@@ -1,246 +0,0 @@
----
-title: Business on Behalf feature integration
-description: The guide walks you through the process of installing the Business on Behalf feature into the project.
-last_updated: Nov 26, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/business-on-behalf-feature-integration
-originalArticleId: 2288cede-f50a-43d6-ac91-7d58b0a96e21
-redirect_from:
- - /v1/docs/business-on-behalf-feature-integration
- - /v1/docs/en/business-on-behalf-feature-integration
----
-
-## Install Feature Core
-
-### Prerequisites
-
-To start Business on Behalf feature integration, overview and install the necessary features:
-
-| Name | Version |
-|---|---|
-| Spryker Core | 2018.11.0 |
-| Company Account | 2018.11.0 |
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
Module
Expected Directory
`BusinessOnBehalf`
`vendor/spryker/business-on-behalf`
`BusinessOnBehalfDataImport`
`vendor/spryker/business-on-behalf-data-import`
-{% endinfo_block %}
-
-### 1) Set up Database Schema and Transfer Objects
-
-Run the following commands to apply database changes and generate entity and transfer changes:
-```shell
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes have been applied by checking your database:
Database Entity
Type
Event
`spy_company_user.is_default`
column
created
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes in transfer objects have been applied:
-{% endinfo_block %}
-
-### 2) Import Data
-
-#### Import Business On Behalf Company Users
-
-{% info_block infoBox "Info" %}
-Company user data import and business on behalf data import have currently very similar structure, however, both importers represent a different concept. Include only business on behalf company users in the current data import step and do not mix data with company user data importer.
-{% endinfo_block %}
-
-
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/business-on-behalf-data-import/data/import/company_user.csv
-
- ```yaml
- customer_reference,company_key,business_unit_key,default
-DE--6,BoB-Hotel-Mitte,business-unit-mitte-1,0
-DE--6,BoB-Hotel-Mitte,business-unit-mitte-2,0
-DE--6,BoB-Hotel-Mitte,business-unit-mitte-3,0
-DE--7,BoB-Hotel-Jim,business-unit-jim-1,0
-DE--7,BoB-Hotel-Mitte,business-unit-mitte-1,0
-DE--7,BoB-Hotel-Kudamm,business-unit-kudamm-1,0
-DE--7,spryker_systems,spryker_systems_HQ,0
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-|---|---|---|---|---|
-| `customer_reference` | mandatory | string | DE--6 | The company user will be connected to this customer. |
-| `company_key` | mandatory | string | BoB-Hotel-Mitte | The company user will be connected to this company. |
-| `business_unit_key` | mandatory | string | business-unit-mitte-1 | The company user will be connected to this business unit. |
-| `default` | mandatory | bool integer | 0 | Decides if this is the default company user of the customer. |
-
-Register the following plugins to enable data import:
-
-| Plugin | Specification | Prerequisites | Namespace |
-|---|---|---|---|
-| `BusinessOnBehalfCompanyUserDataImportPlugin` | Imports business on behalf company users. |
Expects customers to be in database already
Expects companies to be in the database already
Expects business units to be in the database already
| `Spryker\Zed\BusinessOnBehalfDataImport\Communication\Plugin\DataImport` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```bash
-console data:import company-user-on-behalf
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database that the configured data are added to the `spy_company_user table`.
-{% endinfo_block %}
-
-### 3) Set up Behavior
-
-#### Set up Customer Transfer Expanders
-
-Enable the following behaviors by registering the plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-|---|---|---|---|
-| `DefaultCompanyUserCustomerTransferExpanderPlugin` | Sets default company user for a business on behalf customer if no company user was selected yet. | None | `Spryker\Zed\BusinessOnBehalf\Communication\Plugin\Customer` |
-| `IsOnBehalfCustomerTransferExpanderPlugin` | Sets `CustomerTransfer.IsOnBehalf` property so other features can determine if the selected company user is a business on behalf company user. | None | `Spryker\Zed\BusinessOnBehalf\Communication\Plugin\Customer` |
-
-
-src/Pyz/Zed/Stock/StockDependencyProvider.php
-
- ```php
-
-
-
-{% info_block warningBox "Verification" %}
-To check that the step has been completed correctly: Log in with a customer who has multiple company users and a default company user. Check in the session if the default company user was assigned to the customer. Check in the session if the IsOnBehalf property is set correctly for the customer.
-{% endinfo_block %}
-
-## Install feature frontend
-
-### Prerequisites
-
-To start Business on Behalf feature integration, overview and install the necessary features:
-
-| Name | Version |
-|---|---|
-| Spryker Core E-commerce | 2018.11.0 |
-| Customer Account Management | 2018.11.0 |
-| Company Account | 2018.11.0 |
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
Module
Expected Directory
`BusinessOnBehalfWidget`
`vendor/spryker-shop/business-on-behalf-widget`
-{% endinfo_block %}
-
-### 1) Add Translations
-
-Append glossary according to your configuration:
-
-
-src/data/import/glossary.csv
-
-```yaml
-business_on_behalf_widget.no_selected_company,No selected company,en_US
-business_on_behalf_widget.no_selected_company,Kein Unternehmen ausgewählt,de_DE
-business_on_behalf_widget.change_company_user,Change Company User,en_US
-business_on_behalf_widget.change_company_user,Firmenbenutzer Profil ändern,de_DE
-company_user.business_on_behalf.error.company_not_active,"You can not select this company user, company is not active.",en_US
-company_user.business_on_behalf.error.company_not_active,"Sie können diesen Firmennutzer nicht auswählen da die Firma inaktiv ist",de_DE
-company_user.business_on_behalf.error.company_user_invalid,"You can not select this company user, it is invalid.",en_US
-company_user.business_on_behalf.error.company_user_invalid,"Sie können diesen Firmennutzer nicht auswählen da er ungültig ist",de_DE
-```
-
-
-
-Run the following console command to import the data:
-```bash
-console data:import glossary
-```
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 2) Set up Widgets
-Enable the following global widget:
-
-|Widget|Description|Namespace|
-|---|---|---|
-|`BusinessOnBehalfStatusWidget`|Displays the selected company users and allows for business on behalf customers to change it through a link.|`SprykerShop\Yves\BusinessOnBehalfWidget|
-
-
-src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
-```php
-
-
-
-Run the following command to enable Javascript and CSS changes:
-```bash
-console frontend:yves:build
-```
-{% info_block warningBox "Verification" %}
-Log in with a business on behalf customer and see the selected company user status widget in the top menu.
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/cart-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/cart-integration.md
deleted file mode 100644
index 29fe6d50fef..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/cart-integration.md
+++ /dev/null
@@ -1,817 +0,0 @@
----
-title: Cart Integration
-description: The guide describes the process of integrating the Cart feature into your project.
-last_updated: Jul 31, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/cart-integration
-originalArticleId: 1c67a649-0def-4891-a592-283dce8e845f
-redirect_from:
- - /v1/docs/cart-integration
- - /v1/docs/en/cart-integration
----
-
-{% info_block infoBox %}
-This article describes how to add product variants and product images to an existing cart.
-{% endinfo_block %}
-## Prerequisites:
-Before starting make sure you are familiar with the concept of Spryker Super Attributes.
-
-## UI Changes:
-Cart now supports changing the items in the cart by modifying their attributes. If we have a wrong T-Shirt size in the cart we will be able to change it.
-
-Cart now also supports product images out of the box.
-![cart_product_images](https://spryker.s3.eu-central-1.amazonaws.com/docs/scos/dev/feature-integration-guides/cart-integration.md/cart_product_images.png){height="" width=""}
-
-If we have products with multiple super attributes we can now, narrowing-down in the cart.
-![product_super_attributes](https://spryker.s3.eu-central-1.amazonaws.com/docs/scos/dev/feature-integration-guides/cart-integration.md/product_super_attributes.png){height="" width=""}
-
-## Installation
-### Item images in cart
-To support images in a cart, install the optional module `ProductImageCartConnector` by running:
-
-```bash
-composer require spryker/product-image-cart-connector
-```
-
-This module will provide the `ProductImageCartPlugin` that you will have to register later in your shop `CartDependencyProvider` like in a snippet below:
-
-```php
-/**
- * @param \Spryker\Zed\Kernel\Container $container
- *
- * @return \Spryker\Zed\Cart\Dependency\ItemExpanderPluginInterface[]
- */
-protected function getExpanderPlugins(Container $container)
-{
- return [
- // your existing plugins ...
- new ProductImageCartPlugin(),
- ];
-}
-```
-
-If your shop uses product bundles, register `ExpondBundleItemsWithImagesPlugin` in your shop's `CartDependencyProvider` as follows:
-
-```php
-/**
- * @param \Spryker\Zed\Kernel\Container $container
- *
- * @return \Spryker\Zed\Cart\Dependency\ItemExpanderPluginInterface[]
- */
-protected function getExpanderPlugins(Container $container)
-{
- return [
- //your existing plugins
- new ExpandBundleItemsWithImagesPlugin(),
- ];
-}
-```
-
-{% info_block warningBox "Verification" %}
-Make sure the `ExpandBundleItemsWithImagesPlugin` is registered after the `ExpandBundleItemsPlugin` plugin.
-{% endinfo_block %}
-
-#### Cart variants
-Spryker provides the `CartVariant` module for this purpose.
-To install the `CartVariant` module, run:
-
-```bash
-composer require spryker/cart-variant
-```
-
-
-### AttributeMapCollector
-To support the mapping between attributes and availability, we need to collect additional data in our attribute map collector. You can do that by adding a single line with `SpyProductTableMap::COL_SKU` to the `getConreteProducts` function.
-
-The full function is as follows:
-
-```php
-/**
- * @param int $idProductAbstract
- *
- * @return \Orm\Zed\Product\Persistence\SpyProduct[]|\Propel\Runtime\Collection\ObjectCollection
- */
-protected function getConcreteProducts($idProductAbstract)
-{
- return SpyProductQuery::create()
- ->select([
- SpyProductTableMap::COL_ID_PRODUCT,
- SpyProductTableMap::COL_ATTRIBUTES,
- SpyProductTableMap::COL_SKU,
- ])
- ->withColumn(SpyProductLocalizedAttributesTableMap::COL_ATTRIBUTES, 'localized_attributes')
- ->useSpyProductLocalizedAttributesQuery()
- ->filterByFkLocale($this->locale->getIdLocale())
- ->endUse()
- ->filterByFkProductAbstract($idProductAbstract)
- ->filterByIsActive(true)
- ->find()
- ->toArray(null, false, TableMap::TYPE_CAMELNAME);
-}
-```
-
-The `filterConcreteProductIds` function was changed to the following:
-
-```php
-/**
- * @param array $concreteProducts
- *
- * @return array
- */
-protected function filterConcreteProductIds(array $concreteProducts)
-{
- $concreteProductIds = array_map(function ($product) {
- return $product[SpyProductTableMap::COL_ID_PRODUCT];
- }, $concreteProducts);
- foreach ($concreteProducts as $product) {
- $concreteProductIds[$product[SpyProductTableMap::COL_SKU]] = $product[SpyProductTableMap::COL_ID_PRODUCT];
- }
- asort($concreteProductIds);
- return $concreteProductIds;
-}
-```
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/category-filters-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/category-filters-feature-integration.md
deleted file mode 100644
index d6b1aac247c..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/category-filters-feature-integration.md
+++ /dev/null
@@ -1,210 +0,0 @@
----
-title: Category Filters feature integration
-description: The Category Filters Feature allows arranging items into categories and customizing filters. This guide describes how to integrate the feature into your project.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/category-filter-feature-integration
-originalArticleId: 654091b2-d1ca-4d55-b9e4-f3405f714aae
-redirect_from:
- - /v1/docs/category-filter-feature-integration
- - /v1/docs/en/category-filter-feature-integration
-related:
- - title: Managing Category Filters
- link: docs/scos/user/back-office-user-guides/page.version/merchandising/category-filters/assign-and-deassign-filters-from-categories.html
----
-
-## Prerequisites
-To prepare your project to work with Category Filters:
-
-1. Require the Category Filters modules in your composer by running:
-* `composer require spryker/product-category-filter`
-* `composer require spryker/product-category-filter-collector`
-* `composer require spryker/product-category-filter-gui`
-
-2. Install the new database tables by running `vendor/bin/console propel:diff`. Propel should generate a
-migration file with the changes.
-
-3. Run `vendor/bin/console propel:migrate` to apply the database changes.
-4. Generate ORM models by running `vendor/bin/console propel:model:build`.
-This command will generate some new classes in your project under the ` \Orm\Zed\ProductCategoryFilter\Persistence namespace`.
-It is important to make sure that they extend the base classes from the Spryker core, for example:
-
-* `\Orm\Zed\ProductCategoryFilter\Persistence\SpyProductCategoryFilter` extends `\Spryker\Zed\ProductCategoryFilter\Persistence\Propel\AbstractSpyProductCategoryFilter`
-
-* `\Orm\Zed\ProductReview\Persistence\SpyProductCategoryFilterQuery` extends `\Spryker\Zed\ProductCategoryFilter\Persistence\Propel\AbstractSpyProductCategoryFilterQuery`
-
-5. Run `vendor/bin/console transfer:generate` to generate the new transfer objects.
-6. Activate the product category filters collector by adding `ProductCategoryFilterCollectorPlugin` to the Storage Collector plugin stack.
-
-
- Example: collector plugin list extension
-
-```php
- new ProductCategoryFilterCollectorPlugin(),
- ];
- };
-
-
- // ...
- }
- }
-```
-
-
-
-
-7. Make sure the new Zed user interface assets are built. Run `npm run zed` (or antelope build zed
- for older versions) for that.
-8. Update Zed’s navigation cache to show the new items for the Product Category Filter management user interface by running `vendor/bin/console application:build-navigation-cache`.
-
-You should now be able to use the Zed UI of Category Filters to re-order, remove or add search filters to specific categories, and the collectors should also be able to push those category settings to storage.
-Check out our [Demoshop implementation](https://github.com/spryker/demoshop) for frontend implementation example and the general idea.
-
-### Updating Filters For a Category
-To use the setup category filter, `CatalogController::indexAction` needs to call `ProductCategoryFilterClient::updateFacetsByCategory`.
-
-For example, it might look like this:
-
-```php
-query->get('q', '');
-
- $parameters = $request->query->all();
- $parameters[PageIndexMap::CATEGORY] = $categoryNode['node_id'];
-
- $searchResults = $this
- ->getClient()
- ->catalogSearch($searchString, $parameters);
-
- $currentLocale = $this
- ->getFactory()
- ->getLocaleClient()
- ->getCurrentLocale();
-
- $productCategoryFilterClient = $this->getFactory()->getProductCategoryFilterClient();
-
- $searchResults[FacetResultFormatterPlugin::NAME] = $productCategoryFilterClient
- ->updateFacetsByCategory(
- $searchResults[FacetResultFormatterPlugin::NAME],
- $productCategoryFilterClient->getProductCategoryFiltersForCategoryByLocale($parameters[PageIndexMap::CATEGORY], $currentLocale)
- ); //This line here is the one that updates the facets with the category filters.
-
- $pageTitle = ($categoryNode['meta_title']) ?: $categoryNode['name'];
- $metaAttributes = [
- 'idCategory' => $parameters['category'],
- 'category' => $categoryNode,
- 'page_title' => $pageTitle,
- 'page_description' => $categoryNode['meta_description'],
- 'page_keywords' => $categoryNode['meta_keywords'],
- 'searchString' => $searchString,
- ];
-
- $searchResults = array_merge($searchResults, $metaAttributes);
-
- return $this->envelopeResult($searchResults, $categoryNode['node_id']);
- }
-}
-```
-
-It is also necessary to add `ProductCategoryFilterClient` to `CatalogFactory`:
-
-```php
-getProvidedDependency(CatalogDependencyProvider::CLIENT_PRODUCT_CATEGORY_FILTER);
- }
-}
-```
-
-Add an additional dependency to `CatalogDependencyProvider` to look like this:
-
-```php
-addProductCategoryFilterClient($container);
-
- return $container;
- }
-
- /**
- * @param \Spryker\Yves\Kernel\Container $container
- *
- * @return \Spryker\Yves\Kernel\Container
- */
- protected function addProductCategoryFilterClient(Container $container)
- {
- $container[static::CLIENT_PRODUCT_CATEGORY_FILTER] = function (Container $container) {
- return $container->getLocator()->productCategoryFilter()->client();
- };
-
- return $container;
- }
-}
-```
-
-
-
-[//]: # (by Ahmed Sabaa)
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/checkout-workflow-integration-guide.md b/docs/scos/dev/feature-integration-guides/201811.0/checkout-workflow-integration-guide.md
deleted file mode 100644
index ec8a9b31311..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/checkout-workflow-integration-guide.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-title: Checkout Workflow Integration Guide
-last_updated: Jul 31, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/checkout-workflow-integration
-originalArticleId: 85187314-1111-4935-b342-7fac18b78ad0
-redirect_from:
- - /v1/docs/checkout-workflow-integration
- - /v1/docs/en/checkout-workflow-integration
----
-
-For example let's create alternative checkout workflow which would only save order in database without any additional checks or calculations.
-
-To define an alternative checkout workflow, add a constant to `\Pyz\Shared\Checkout\CheckoutConstants`:
-
-```bash
-const KEY_WORKFLOW_ALTERNATIVE_CHECKOUT = 'alternative-checkout';
-```
-
-Modify the `getCheckoutWorkflows()` method in `\Pyz\Zed\Checkout\CheckoutDependencyProvider` to define plugins for new workflow:
-
-```php
-protected function getCheckoutWorkflows(Container $container)
-{
- return [
- CheckoutConstants::KEY_WORKFLOW_MULTISTEP_CHECKOUT => (new CheckoutWorkflowPluginContainer(
- $this->getCheckoutPreConditions($container),
- $this->getCheckoutOrderSavers($container),
- $this->getCheckoutPostHooks($container),
- $this->getCheckoutPreSaveHooks($container)
- )),
- CheckoutConstants::KEY_WORKFLOW_ALTERNATIVE_CHECKOUT => (new CheckoutWorkflowPluginContainer(
- [],
- [
- new SalesOrderSaverPlugin(),
- ],
- [],
- []
- )),
- ];
-}
-```
-
-After this, pass workflow id as a second parameter in the `placeOrder()` call of `CheckoutFacade`.
-
-```bash
-$this->getCheckoutFacade()->placeOrder($quoteTransfer, CheckoutConstants::KEY_WORKFLOW_ALTERNATIVE_CHECKOUT);
-```
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/discount-promotion-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/discount-promotion-feature-integration.md
deleted file mode 100644
index 94d6f66e47b..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/discount-promotion-feature-integration.md
+++ /dev/null
@@ -1,395 +0,0 @@
----
-title: Discount Promotion feature integration
-description: This guides provides you with a set of steps needed to be performed in order to integrate the Discount Promotion feature into your project.
-last_updated: Jul 31, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/discount-promotion-feature-integration
-originalArticleId: 0e08a3b5-49f1-4372-936a-8fdd8d239010
-redirect_from:
- - /v1/docs/discount-promotion-feature-integration
- - /v1/docs/en/discount-promotion-feature-integration
----
-
-To start using the Discount Promotion feature, you have to do some configuration in your Zed application.
-
-## Prerequisites
-
-1. First make sure you have the latest `DiscountPromotion` module.
-Usecthe `composer require spryker/discount-promotion` command to install it.
-2. You also need at least `"spryker/discount": "^4.5.0"` for the discount module.
-* Run `vendor/bin/console transfer:generate` to generate the latest transfer object.
-* Run `vendor/bin/console propel:diff` to generate migration file for the database. Inspect this new file and check if only `spy_discount_promotion` has been created there.
-* Run `vendor/bin/console propel:migrate` to migrate the latest generate migration file.
-* Run `vendor/bin/console propel:model:build` to generate new propel Entities and Query classes.
-
-## Enabling Discount Promotions
-
-To enable Discount promotions, you have to add a number of plugins to the `Discount` module so that `DiscountPromotion` can extend it.
-Below there is the example of the `DiscountDependencyProvider` class.
-
-```php
-setIsPromotion((bool)$this->request->request->get('isPromo'));`
-3. Inject `ProductPromotionMapperPlugin` to Cart Module:
-
-```php
-getProvidedDependency(CartDependencyProvider::PLUGIN_PROMOTION_PRODUCT_MAPPER);
- }
-}
-```
-
-5. Add call to plugin in `CartController`.
-
-```php
-getFactory()
- ->getProductPromotionMapperPlugin()
- ->mapPromotionItemsFromProductStorage(
- $quoteTransfer,
- $this->getRequest()
- );
-
- $this->viewResponse([
- //other data
- 'promotionStorageProducts' => $promotionStorageProducts,
- ]);
-
-}
-```
-
-Change twig templates to render promotion products. Since we've changed how quantity is rendered for promotion products, some cart templates in our demoshop were reorganized.
-
-Firstly, make sure a promotion item twig template is called in `Pyz/Yves/Cart/Theme/default/cart/index.twig`. This usually should be placed after cart items as in the example below:
-
-```php
-{% raw %}{%{% endraw %} for cartItem in cartItems {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} if cartItem.bundleProduct is defined {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} include '@cart/cart/parts/cart-item.twig' with {
- cartItem: cartItem.bundleProduct,
- bundleItems: cartItem.bundleItems
- } {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} else {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} include '@cart/cart/parts/cart-item.twig' {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %} //existing code
-
-{% raw %}{%{% endraw %} include '@DiscountPromotion/discount-promotion/item-list.twig' {% raw %}%}{% endraw %} //new include
-```
-
-`Pyz/Yves/Cart/Theme/default/cart/parts/cart-item.twig` was also heavily modified to work with promotion products (please check our demoshop version), as the cart page can be different per project.
-
-The key points that were changed: the "Add to cart" button extracted to `Pyz/Yves/Cart/Theme/default/cart/parts/cart-add-to-cart.twig`, item price information extracted to `Pyz/Yves/Cart/Theme/default/cart/parts/cart-item-prices.twig`, cart product variants extracted to `Pyz/Yves/Cart/Theme/default/cart/parts/cart-product-variants.twig`.
-
-Below there is the demoshop `Pyz/Yves/Cart/Theme/default/cart/parts/cart-item.twig` file for reference.
-
-```php
-
-
- {% raw %}{%{% endraw %} include '@Cart/cart/parts/cart-images.twig' {% raw %}%}{% endraw %}
-
-
- {# General data #}
-
{% raw %}{{{% endraw %} cartItem.name {% raw %}}}{% endraw %}
{% raw %}{{{% endraw %} 'cart.item.sku' | trans {% raw %}}}{% endraw %} {% raw %}{{{% endraw %} cartItem.sku {% raw %}}}{% endraw %}
-
- {% raw %}{%{% endraw %} if bundleItems is defined {% raw %}%}{% endraw %}
- {# Product Bundles #}
-
{% raw %}{{{% endraw %} 'cart.item.bundle.description' | trans {% raw %}}}{% endraw %}
- {% raw %}{%{% endraw %} for bundleItem in bundleItems {% raw %}%}{% endraw %}
-
{% raw %}{{{% endraw %} bundleItem.quantity {% raw %}}}{% endraw %} x {% raw %}{{{% endraw %} bundleItem.name {% raw %}}}{% endraw %}
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} else {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} include '@Cart/cart/parts/cart-product-variants.twig' {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
-
-
- {% raw %}{%{% endraw %} include '@Cart/cart/parts/cart-item-prices.twig' {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} include '@Cart/cart/parts/cart-add-to-cart.twig' {% raw %}%}{% endraw %}
-
-```
-
-Make sure `CartOperationHandler` sets ID of `idDiscountPromotion`.
-
-```
-public function add($sku, $quantity, $optionValueUsageIds = [])
- {
- $itemTransfer = new ItemTransfer();
- $itemTransfer->setSku($sku);
- $itemTransfer->setQuantity($quantity);
- $itemTransfer->setIdDiscountPromotion($this->getIdDiscountPromotion()); //new setter
-
- $this->addProductOptions($optionValueUsageIds, $itemTransfer);
-
- $quoteTransfer = $this->cartClient->addItem($itemTransfer);
- $this->cartClient->storeQuote($quoteTransfer);
- }
-
-protected function getIdDiscountPromotion()
-{
- return (int)$this->request->request->get('idDiscountPromotion');
-}
-```
-When using promotion discount with voucher code, you will get the error message that voucher is not correct. It’s because voucher code is a product offered as promotion and not yet added to cart.
-
-You have to modify `\Pyz\Yves\Discount\Handler\VoucherHandler::addFlashMessages` to handle discounts with promotions.
-
-Add the following condition:
-
-```php
-namespace Pyz\Yves\Discount\Handler;
-
-class VoucherHandler extends BaseHandler implements VoucherHandlerInterface
-{
- /**
- * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
- * @param string $voucherCode
- *
- * @return void
- */
- protected function addFlashMessages($quoteTransfer, $voucherCode)
- {
-
- //---new code
- if ($this->isVoucherFromPromotionDiscount($quoteTransfer, $voucherCode)) {
- return;
- }
- //-----
-
- if ($this->isVoucherCodeApplied($quoteTransfer, $voucherCode)) {
- $this->setFlashMessagesFromLastZedRequest($this->calculationClient);
- return;
- }
-
- $this->flashMessenger->addErrorMessage('cart.voucher.apply.failed');
- }
-
- /**
- * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
- * @param string $voucherCode
- *
- * @return bool
- */
- protected function isVoucherFromPromotionDiscount(QuoteTransfer $quoteTransfer, $voucherCode)
- {
- foreach ($quoteTransfer->getUsedNotAppliedVoucherCodes() as $voucherCodeUsed) {
- if ($voucherCodeUsed === $voucherCode) {
- return true;
- }
- }
-
- return false;
- }
-}
-```
-
-After this you should be able to use the new discounts with promotion.
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/enabling-gift-cards.md b/docs/scos/dev/feature-integration-guides/201811.0/enabling-gift-cards.md
deleted file mode 100644
index 6815eef4acc..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/enabling-gift-cards.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-title: Enabling Gift Cards
-description: The guide walks you through the process of installing the Gift Cards feature in the project.
-last_updated: Nov 21, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/enabling-gift-cards
-originalArticleId: cf250cbf-70f4-4c4f-923e-8fe3054ed817
-redirect_from:
- - /v1/docs/enabling-gift-cards
- - /v1/docs/en/enabling-gift-cards
----
-
-The Gift Cards feature is shipped with the following modules:
-
-* **GiftCard**: implements the basic functionality of the Gift Cards feature as well as the Replacement value-checking strategy.
-
-* **GiftCardBalance**: implements gift card Balance value-checking strategy.
-
-* **GiftCardMailConnector**: responsible for sending e-mails on gift cards usage (balance change) as well as gift cards codes delivery.
-
-* **Nopayment**: implements payment methods if the price to pay is fully covered by a gift card.
-
-To enable the gift cards in your project, do the following:
-
-1. Make sure you have the correct versions of the required modules. To automatically update to the latest non-BC breaking versions, run `composer update "spryker/*"`
-2. Require the modules in your `composer.json` by running:
-
-```bash
-composer require spryker/gift-card:"^1.0.0" spryker/gift-card-balance:"^1.0.0"
-spryker/gift-card-mail-connector:"^1.0.0" spryker/nopayment:"^4.0.0"
-spryker/product-management:"^0.12.0"
-```
-
-3. Enable necessary plugins. See the table below for information on available plugins, where to install them and value checking strategies they are used for.
-
-
-| Plugin | Description | Where to Install | Strategy |
-| --- | --- | --- | --- |
-| `GiftCardCalculatorPlugin` | Splits applicable and non-applicable Gift Cards. Creates payment methods for applicable Gift Cards. |`CalculationDependencyProvider::getQuoteCalculatorPluginStack` | - |
-| `GiftCardCurrencyMatchDecisionRulePlugin` |Doesn’t allow using a Gift Card with a different currency rather than the one the customer has used while performing the payment. | `GiftCardDependencyProvider::getDecisionRulePlugins` | - |
-| `GiftCardIsActiveDecisionRulePlugin` | Doesn’t allow using inactive Gift Cards. |`GiftCardDependencyProvider::getDecisionRulePlugins` | - |
-| `GiftCardDiscountableItemFilterPlugin` |Restricts using a Gift Card for another Gift Cards in a cart. The plugin filters out Gift Cards from discountable items. |`DiscountDependencyProvider::getDiscountableItemFilterPlugins` | - |
-| `GiftCardIsUsedDecisionRulePlugin` | As a part of the replacement strategy, this plugin does not allow using a Gift Card twice. |`GiftCardDependencyProvider::getDecisionRulePlugins` | Replacement |
-| `GiftCardMetadataExpanderPlugin` | Populates Gift Card information when it is in the cart. | `CartDependencyProvider::getExpanderPlugins` | - |
-| `GiftCardOrderItemSaverPlugin` | Saves a Gift Card with populated data when an order is placed. | `CheckoutDependencyProvider::getCheckoutOrderSavers` | - |
-| `GiftCardOrderSaverPlugin` | Keeps Gift Card as an order payment method. | `PaymentDependencyProvider::extendPaymentPlugin` with a key `PaymentDependencyProvider::CHECKOUT_ORDER_SAVER_PLUGINS`| - |
-| `GiftCardPaymentMethodFilterPlugin` | Now, every payment method is compatible with a Gift Card in the cart. The plugin filters out all incompatible payment methods from available ones during checkout payment methods step. | `PaymentDependencyProvider::getPaymentMethodFilterPlugins` | - |
-| `GiftCardPreCheckPlugin` | Confirms that a Gift Card is not used at the moment and that payment method amount assigned to the Gift Card is no more than the Gift Card amount itself. | `PaymentDependencyProvider::extendPaymentPlugin` with a key `PaymentDependencyProvider::CHECKOUT_PRE_CHECK_PLUGINS` | - |
-| `GiftCardRecreateValueProviderPlugin` |For replacement: defines a Gift Card leftover. It’s simply a Gift Card amount for this strategy. | `GiftCardDependencyProvider::getValueProviderPlugin` | Replacement |
-| `CreateGiftCardCommandPlugin` | It is an order management system command to create a Gift Card based on a paid order item (a Gift Card item). | `OmsDependencyProvider::extendCommandPlugins` | - |
-| `ReplaceGiftCardsCommandPlugin` | For placement strategy: creates a new Gift Card based on leftover from the previous one. | `OmsDependencyProvider::extendCommandPlugins` | Replacement |
-| `IsGiftCardConditionPlugin` | This plugin is used to define an order management system state machine process routing. | `OmsDependencyProvider::extendConditionPlugins` | - |
-| `OnlyGiftCardShipmentMethodFilterPlugin` | Filters out shipment methods that are incompatible with Gift Cards. | `ShipmentDependencyProvider::getMethodFilterPlugins` | - |
-| `BalanceCheckerApplicabilityPlugin` | For balance strategy: checks positive balance on a Gift Card. | `GiftCardDependencyProvider::getDecisionRulePlugins` | Balance |
-| `BalanceTransactionLogPaymentSaverPlugin` | For balance strategy: persists a Gift Card during a payment processing. | `GiftCardDependencyProvider::getPaymentSaverPlugins` | Balance |
-| `GiftCardBalanceValueProviderPlugin` | For balance strategy: provides available Gift Card amount. Gift Card amount equals to logged transactions. | `GiftCardDependencyProvider::getValueProviderPlugin` | Balance |
-| `GiftCardDeliveryMailTypePlugin` | Sends an e-mail about a successfully issued Gift Card to a buyer. | `MailDependencyProvider::MAIL_TYPE_COLLECTION` | - |
-| `GiftCardUsageMailTypePlugin` | Sends an e-mail on Gift Card usage to its user. | `MailDependencyProvider::MAIL_TYPE_COLLECTION` | - |
-| `ShipGiftCardByEmailCommandPlugin` | An order management system command which triggers Gift Card electronic shipment. |`OmsDependencyProvider::extendCommandPlugins` | - |
-| `NopaymentHandlerPlugin` | A payment method placeholder that is used when an order is paid by only a Gift Card without a real payment method. | `CheckoutDependencyProvider::extendPaymentMethodHandler` | - |
-| `NopaymentPreCheckPlugin` | Doesn’t allow placing an order with a price to pay more than 0 with a NoPayment payment method. | `PaymentDependencyProvider::extendPaymentPlugins` with a key `PaymentDependencyProvider::CHECKOUT_ORDER_SAVER_PLUGINS` | - |
-| `PriceToPayPaymentMethodFilterPlugin` | Filters payment methods based on cart totals. | `PaymentDependencyProvider::getPaymentMethodFilterPlugins` | - |
-| `PaymentFormFilterPlugin` | Each payment method provides its subforms. The plugin filters them out based on an available payment method list. | `CheckoutDependencyProvider::getPaymentFormFilterPlugins` | - |
-| `PaymentCalculatorPlugin` | Distributes total prices to payment methods. Calculates price to pay to quote totals. | `CalculationDependencyProvider::getQuoteCalculatorPluginStack` | - |
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/enabling-the-content-widget.md b/docs/scos/dev/feature-integration-guides/201811.0/enabling-the-content-widget.md
deleted file mode 100644
index 515fd1519d5..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/enabling-the-content-widget.md
+++ /dev/null
@@ -1,253 +0,0 @@
----
-title: Enabling the Content Widget
-description: The guide walks you through the process of installing the Content Widget feature in the project.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/enabling-cms-widget
-originalArticleId: 7a658c6c-f0b5-4b59-a44f-11b3d43eb1d6
-redirect_from:
- - /v1/docs/enabling-cms-widget
- - /v1/docs/en/enabling-cms-widget
----
-
-CMS content widgets is a CMS feature for adding dynamic content to CMS pages/blocks.
-
-For example, you can list a single product, product lists, product groups or product sets.
-
-## Integration
-First of all you need to install the `cms-content-widget` module with Composer (update composer.json with `"cms-content-widget": "^1.0.0"` or use Composer require).
-
-To enable the feature, configure it in your project.
-
-Integration of CMS widget consists of three main parts:
-
-1. Registering twig function in Yves.
-2. Providing configuration in module shared directory so that Yves and Zed can read it.
-3. (Optionally) Providing CMS content function parameter mapper plugins.
-
-### Step 1: Registering twig function in Yves.
-The CMS content widget is a twig function. Therefore, twig syntax rules apply and must be followed when including the inside content.
-For example, `{% raw %}{{{% endraw %} product(['012', '013', '321']) {% raw %}}}{% endraw %}` will include carousel component with three products.
-
-To register a new function, you need to create a plugin which implements the `\Spryker\Yves\CmsContentWidget\Dependency\CmsContentWidgetPluginInterface` interface and place it in Yves application. Plugins are registered in `\Pyz\Yves\CmsContentWidget\CmsContentWidgetependencyProvider::getCmsContentWidgetPlugins` which is an array stored as key => value pairs,
-where **key** is the function name you want to use in a template and **value** is a specific plugin instance. This plugin needs configuration which is explained in the next paragraph.
-
-To enable the feature for CMS blocks, you have to configure twig rendering plugin `\Spryker\Yves\CmsContentWidget\Plugin\CmsTwigContentRendererPlugin` and add it to `\Pyz\Yves\CmsBlock\CmsBlockDependencyProvider::getCmsBlockTwigContentRendererPlugin`. This will enable twig function rendering in CMS blocks.
-
-### Step 2: Providing CMS content widget configuration.
-
-Some information needs to be shared between Yves and Zed. Therefore, the configuration plugin must be placed in a shared namespace.
-
-**The new plugin must implement:** `\Spryker\Shared\CmsContentWidget\Depedency\CmsContentWidgetConfigurationProviderInterface` which is used by Yves and Zed.
-
-When used in Yves, inject this plugin directly to your plugin and use configuration when building twig callable. When used in Zed, it should be added to the `\Pyz\Zed\CmsContentWidget\CmsContentWidgetConfig::getCmsContentWidgetConfigurationProviders` plugin array where key is the function name and value is the plugin instance. Providing it to Zed allows rendering usage information below the content editor.
-
-The configuration provider requires implementation of the following methods:
-
-* `getFunctionName` is the name of function when used in CMS content.
-* `getAvailableTemplates` is the list of supported templates, it's a key value pair where key is the template identifier which is passed to function and value is a path to twig template.
-* `getUsageInformation` is a plain text usage information, displayed when rendering help pane below the content editor.
-
-### Step 3: Function mapping plugins - optional.
-
-When defining functions, you may want to accept "natural identifiers", such as "sku" for products or "set_key" for product sets. It is preferable that the content manager provides the identifiers instead of relying on surrogate keys. The problem arises when you need to read data from the Yves data store as the Yves data store uses "surrogate key/primary keys". Therefore, to read data, convert/map those natural identifiers to surrogate keys.
-
-We provide mappers to help map the identifiers. Each mapper must implement: `\Spryker\Zed\CmsContentWidget\Dependency\Plugin\CmsContentWidgetParameterMapperPluginInterface` and be added to `\Pyz\Zed\Cms\CmsDependencyProvider::getCmsContentWidgetParameterMapperPlugins` where **key** is the function name and **value** is a specific mapper.
-
-The mapper receives unmapped values where your plugin is responsible for mapping and returning it as an array. Mapper plugins are invoked by CMS and block collectors. To export this data, you must register two plugins one for CMS pages and one for CMS blocks.
-
-For `CmsBlockCollector`, add plugin `\Spryker\Zed\CmsContentWidget\Communication\Plugin\CmsBlockCollector\CmsBlockCollectorParameterMapExpanderPlugin` to `\Pyz\Zed\CmsBlockCollector\CmsBlockCollectorDependencyProvider::getCollectorDataExpanderPlugins`.
-
-For `CmsCollector`, add plugin `\Spryker\Zed\CmsContentWidget\Communication\Plugin\CmsPageCollector\CmsPageCollectorParameterMapExpanderPlugin` to `\Pyz\Zed\CmsCollector\CmsCollectorDependencyProvider::getCollectorDataExpanderPlugins`.
-
-Make sure to update the `CmsBlockCollector` and `CmsCollector` modules as expander plugins were added during this feature release. It's exported to `\Spryker\Shared\CmsContentWidget\CmsContentWidgetConstants::CMS_CONTENT_WIDGET_PARAMETER_MAP`. You can access parameter mapping inside the ` $contex` variable when implementing the CMS content function plugin in Yves.
-
-The `$context` is a special twig function variable that uses twig to pass the data you normally send to the template. This variable has a `cmsContent` key. This key has data from the Yves store. This can be either a CMS page or block data.
-
-The parameter mapping can be read from:
-
-```bash
-$context['cmsContent'][CmsContentWidgetConstants::CMS_CONTENT_WIDGET_PARAMETER_MAP][$this->widgetConfiguration->getFunctionName()];
-```
-
-For example, you can use this method as a basis when implementing `\Spryker\Yves\CmsContentWidget\Dependency\CmsContentWidgetPluginInterface`.
-
-```php
-namespace Spryker\Yves\Module\Plugin;
-
-class CmsWidgetPlugin extends AbstractPlugin implements CmsContentWidgetPluginInterface
-{
- /**
- * @return \Callable
- */
- public function getContentWidgetFunction()
- {
- return function (Twig_Environment $twig, array $context, $parameters, $templateIdentifier = null) {
- return $twig->render(
- $this->resolveTemplatePath($templateIdentifier),
- $this->getContent($context, $parameters)
- );
- };
- }
-
- /**
- * @param null|string $templateIdentifier
- *
- * @return string
- */
- protected function resolveTemplatePath($templateIdentifier = null)
- {
- return '@Module/partials/function_template.twig'
- }
-
- /**
- * @param array $context
- * @param array|string $parameters
- *
- * @return array
- */
- protected function getContent(array $context, $parameters)
- {
- return []; //return data to be inserted into template
- }
-
- }
-```
-
-## Provided Plugins
-We provide three CMS content widget plugins . All are currently implemented in the demoshop so you can take them from our repository and integrate in your project.
-
-Plugin configuration is described below.
-
-### Zed Plugins:
-
-```php
-namespace Pyz\Zed\CmsContentWidget;
-class CmsContentWidgetConfig extends SprykerCmsContentConfig
-{
- /**
- * {@inheritdoc}
- *
- * @return array|\Spryker\Shared\CmsContentWidget\CmsContentWidget\CmsContentWidgetConfigurationProviderInterface[]
- */
- public function getCmsContentWidgetConfigurationProviders()
- {
- return [
- \Spryker\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Shared\CmsProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider(),
- \Spryker\Shared\CmsContentWidgetProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Shared\CmsProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider(),
- \Spryker\Shared\CmsContentWidgetProductGroupConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Shared\CmsProductGroupConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider(),
- ];
- }
-}
-```
-
-### Zed CMS Configuration Providers:
-
-```php
-namespace Pyz\Zed\CmsContentWidget;
-class CmsContentWidgetConfig extends SprykerCmsContentConfig
-{
- /**
- * {@inheritdoc}
- *
- * @return array|\Spryker\Shared\CmsContentWidget\CmsContentWidget\CmsContentWidgetConfigurationProviderInterface[]
- */
- public function getCmsContentWidgetConfigurationProviders()
- {
- return [
- \Spryker\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Shared\CmsProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider(),
- \Spryker\Shared\CmsContentWidgetProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Shared\CmsProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider(),
- \Spryker\Shared\CmsContentWidgetProductGroupConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Shared\CmsProductGroupConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider(),
- ];
- }
-}
-```
-
-### Zed CMS Collector Parameter Mapper Plugins:
-
-```php
-namespace Pyz\Zed\CmsContentWidget;
-
-class CmsContentWidgetDependencyProvider extends SprykerCmsContentWidgetDependencyProvider
-{
-
- /**
- * {@inheritdoc}
- *
- * @param \Spryker\Zed\Kernel\Container $container
- *
- * @return array|\Spryker\Zed\CmsContentWidget\Dependency\Plugin\CmsContentWidgetParameterMapperPluginInterface[]
- */
- protected function getCmsContentWidgetParameterMapperPlugins(Container $container)
- {
- return [
- \Spryker\Shared\CmsProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Zed\CmsProductConnector\Communication\Plugin\Cms\CmsProductSkuMapperPlugin(),
- \Spryker\Shared\CmsProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Zed\CmsProductSetConnector\Communication\Plugin\Cms\CmsProductSetKeyMapperPlugin(),
- \Spryker\Shared\CmsProductGroupConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider::FUNCTION_NAME => new \Spryker\Zed\CmsProductConnector\Communication\Plugin\Cms\CmsProductSkuMapperPlugin(),
- ];
- }
-
-}
-```
-
-### Yves Plugin Dependencies
-
-```php
-namespace Pyz\Zed\CmsContentWidget;
-
-use Spryker\Shared\CmsContentWidgetProductConnector\ContentWidgetConfigurationProvider\CmsProductContentWidgetConfigurationProvider;
-use Spryker\Shared\CmsContentWidgetProductGroupConnector\ContentWidgetConfigurationProvider\CmsProductGroupContentWidgetConfigurationProvider;
-use Spryker\Shared\CmsContentWidgetProductSetConnector\ContentWidgetConfigurationProvider\CmsProductSetContentWidgetConfigurationProvider;
-use Spryker\Zed\CmsContentWidget\CmsContentWidgetConfig as SprykerCmsContentConfig;
-
-class CmsContentWidgetConfig extends SprykerCmsContentConfig
-{
- /**
- * {@inheritdoc}
- *
- * @return array|\Spryker\Shared\CmsContentWidget\Dependency\CmsContentWidgetConfigurationProviderInterface[]
- */
- public function getCmsContentWidgetConfigurationProviders()
- {
- return [
- CmsProductContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductContentWidgetConfigurationProvider(),
- CmsProductSetContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductSetContentWidgetConfigurationProvider(),
- CmsProductGroupContentWidgetConfigurationProvider::FUNCTION_NAME => new CmsProductGroupContentWidgetConfigurationProvider(),
- ];
- }
-}
-```
-
-
-
-### Version Check When Using the Widget for CMS Blocks
-If you use this widget for CMS Blocks, then check that you have proper versions of your modules as follows: `cms-block >= 1.2.0, cms-block-collector >= 1.1.0, cms-block-gui >= 1.1.0`.
-
-
-
-[//]: # (by Denis Turkov)
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/feature-integration-guides.md b/docs/scos/dev/feature-integration-guides/201811.0/feature-integration-guides.md
deleted file mode 100644
index 1d2d7f991fc..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/feature-integration-guides.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: About Integration
-last_updated: Oct 7, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/about-integration
-originalArticleId: 34f5eb39-407e-4880-b1a7-de0cff062cfe
-redirect_from:
- - /v1/docs/about-integration
- - /v1/docs/en/about-integration
----
-
-The integration guides provide step-by-step instructions on how to enable individual Spryker features for your project.
-
-Please keep in mind, that since Spryker Commerce OS is a highly modular system, you have total freedom in choosing what features to add to your project. When making a decision to install new features, we recommend not to bloat your project by installing everything, but opt for the features that are really justified in terms of your business needs.
-
-If you have spotted an issue with either of the guides, please feel free to [create an issue](https://github.com/spryker/spryker-docs/issues) or pull request by using the Edit on GitHub option.
-
-Not found an integration guide you are looking for? Let us know about it by [creating an issue on Github](https://github.com/spryker/spryker-docs/issues) or dropping an email to academy@spryker.com.
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/catalog-search-api-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/catalog-search-api-feature-integration.md
deleted file mode 100644
index 5c120581671..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/catalog-search-api-feature-integration.md
+++ /dev/null
@@ -1,138 +0,0 @@
----
-title: Glue API - Catalog Search feature integration
-description: This guide will navigate you through the process of installing and configuring the Search API feature in Spryker OS.
-last_updated: Oct 24, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/catalog-search-api-feature-integration
-originalArticleId: bc4f8fd7-4354-4f9f-8c7a-8029f52d6d43
-redirect_from:
- - /v1/docs/catalog-search-api-feature-integration
- - /v1/docs/en/catalog-search-api-feature-integration
- - /docs/scos/dev/glue-api-guides/201811.0/(/docs/scos/dev/feature-integration-guides/201811.0/glue-api/catalog-search-api-feature-integration.html)
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-| Name |Version |
-| --- | --- |
-| Spryker Core |2018.12.0 |
-| Search | 2018.12.0 |
-
-## 1) Install the required modules
-
-Run the following command to install the required modules:
-`composer require spryker/catalog-search-rest-api:"^2.1.0" spryker/catalog-search-products-resource-relationship:"^1.1.0" --update-with-dependencies`
-
-{% info_block infoBox "Verification" %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-
-| Module | Expected Directory |
-| --- | --- |
-| `CatalogSearchRestApi` | `vendor/spryker/catalog-search-rest-api` |
-| `CatalogSearchProductsResourceRelationship` | `vendor/spryker/catalog-search-products-resource-relationship` |
-
-## 2) Set up Transfer objects
-
-Run the following commands to generate transfer changes:
-`console transfer:generate`
-
-{% info_block infoBox "Verification" %}
-Make sure that the following changes in transfer objects have occurred:
-{% endinfo_block %}
-
-| Transfer |Type | Event | Path |
-| --- | --- | --- | --- |
-| `RestCatalogSearchAttributesTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchAttributesTransfer ` |
-| `RestCatalogSearchSortTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchSortTransfer ` |
-| `RestCatalogSearchPaginationTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchPaginationTransfer ` |
-| `RestCatalogSearchAbstractProductsTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchAbstractProductsTransfer` |
-| `RestCatalogSearchProductImageTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchProductImageTransfer` |
-| `RestRangeSearchResultTransfer` | class | created | `src/Generated/Shared/Transfer/RestRangeSearchResultTransfer` |
-| `RestFacetSearchResultTransfer` | class | created | `src/Generated/Shared/Transfer/RestFacetSearchResultTransfer` |
-| `RestCatalogSearchSuggestionsAttributesTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchSuggestionsAttributesTransfer` |
-| `RestCatalogSearchSuggestionAbstractProductsTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchSuggestionAbstractProductsTransfer` |
-| `RestCatalogSearchSuggestionProductImageTransfer` | class | created | `src/Generated/Shared/Transfer/RestCatalogSearchSuggestionProductImageTransfer` |
-| `RestPriceProductTransfer` | class | created | `src/Generated/Shared/Transfer/RestPriceProductTransfer` |
-| `PriceModeConfigurationTransfer` | class | created | `src/Generated/Shared/Transfer/PriceModeConfigurationTransfer` |
-| `RestCurrencyTransfer` | class | created | `src/Generated/Shared/Transfer/RestCurrencyTransfer` |
-| `RestFacetConfigTransfer` | class | created | `src/Generated/Shared/Transfer/RestFacetConfigTransfer ` |
-
-## 3) Set up behavior
-### Enable resources and relationships
-**Implementation**
-Activate the following plugins:
-
-| Plugin|Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `CatalogSearchAbstractProductsResourceRelationshipPlugin` | Adds the abstract product resource relationship to search results. | None | `Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin` |
-| `CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin` | Adds the abstract product resource relationship to search suggestions results. | None | `Spryker\Glue\CatalogSearchProductsResourceRelationship\Plugin` |
-| `CatalogSearchResourceRoutePlugin` | Registers the `search` resource. | None | `Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchResourceRoutePlugin` |
-| `CatalogSearchSuggestionsResourceRoutePlugin` | Registers the `search-suggestions` resource. | None | `Spryker\Glue\CatalogSearchRestApi\Plugin\CatalogSearchSuggestionsResourceRoutePlugin` |
-
-**`src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php`**
-```php
-addRelationship(
- CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH,
- new CatalogSearchAbstractProductsResourceRelationshipPlugin()
- );
- $resourceRelationshipCollection->addRelationship(
- CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH_SUGGESTIONS,
- new CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-**Verification**
-{% info_block infoBox %}
-Make sure the following endpoints are available:
-{% endinfo_block %}
-* `https://glue.mysprykershop.com/catalog-search?q={% raw %}{{{% endraw %}q_term{% raw %}}}{% endraw %}`
-* `https://glue.mysprykershop.com/catalog-search-suggestions?q={% raw %}{{{% endraw %}q_term{% raw %}}}{% endraw %}`
-{% info_block infoBox %}
-Make a request to `https://glue.mysprykershop.com/catalog-search?q={% raw %}{{{% endraw %}q_term{% raw %}}}{% endraw %}&include=abstract-products`. Make sure the response includes relationships to `abstract-products` resources.
-{% endinfo_block %}
-
-{% info_block infoBox %}
-Make a request to `https://glue.mysprykershop.com/catalog-search-suggestions?q={% raw %}{{{% endraw %}q_term{% raw %}}}{% endraw %}&include=abstract-products`. Make sure the response includes relationships to `abstract-products` resources.
-{% endinfo_block %}
-
-_Last review date: Apr 10, 2019_
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/documentationgeneratorrestapi-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/documentationgeneratorrestapi-feature-integration.md
deleted file mode 100644
index f709c2ed771..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/documentationgeneratorrestapi-feature-integration.md
+++ /dev/null
@@ -1,236 +0,0 @@
----
-title: DocumentationGeneratorRestApi feature integration
-description: This guide will navigate you through the process of installing and configuring the DocumentationGeneratorRestApi feature in Spryker OS.
-last_updated: May 2, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/documentationreneratorrestapi-feature-integration
-originalArticleId: 5b5f840a-86b9-4dfc-93dc-694436784745
-redirect_from:
- - /v1/docs/documentationreneratorrestapi-feature-integration
- - /v1/docs/en/documentationreneratorrestapi-feature-integration
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-|Name | Version |
-| --- | --- |
-| Spryker Core|2018.12.0 |
-| Glue Application| 2018.12.0|
-
-### 1) Install the required modules using Composer
-
-Run the following command to install the required modules:
-`composer require spryker/documentation-generator-rest-api:"^1.2.0" spryker/documentation-generator-rest-api-extension:"^1.0.0" --update-with-dependencies`
-
-{% info_block infoBox "Verification" %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-
-| Module|Expected directory |
-| --- | --- |
-|`DocumentationGeneratorRestApi` | `vendor/spryker/documentation-generator-rest-api` |
-|`DocumentationGeneratorRestApiExtension` | `vendor/spryker/documentation-generator-rest-api-extension` |
-
-### 2) Set up Transfer objects
-
-Run the following command to generate transfer changes:
-`console transfer:generate`
-
-{% info_block infoBox "Verification" %}
-Make sure that the following changes are present in transfer objects:
-{% endinfo_block %}
-
-| Transfer | Type | Event | Path |
-| --- | --- | --- | --- |
-| `PathMethodDataTransfer` | class | created | `src/Generated/Shared/Transfer/PathMethodDataTransfer` |
-| `PathParameterTransfer` | class | created | `src/Generated/Shared/Transfer/PathParameterTransfer` |
-| `PathSchemaDataTransfer` | class | created | `src/Generated/Shared/Transfer/PathSchemaDataTransfer` |
-| `SchemaDataTransfer` | class | created | `src/Generated/Shared/Transfer/SchemaDataTransfer` |
-| `SchemaPropertyTransfer` | class | created | `src/Generated/Shared/Transfer/SchemaPropertyTransfer` |
-| `SecuritySchemeTransfer` | class | created | `src/Generated/Shared/Transfer/SecuritySchemeTransfer` |
-| `PathMethodComponentTransfer` | class | created | `src/Generated/Shared/Transfer/PathMethodComponentTransfer` |
-| `PathParameterComponentTransfer` | class | created | `src/Generated/Shared/Transfer/PathParameterComponentTransfer` |
-| `PathRequestComponentTransfer` | class | created | `src/Generated/Shared/Transfer/PathRequestComponentTransfer` |
-| `PathRequestComponentTransfer` | class | created | `src/Generated/Shared/Transfer/PathRequestComponentTransfer` |
-| `PathResponseComponentTransfer` | class | created | `src/Generated/Shared/Transfer/PathResponseComponentTransfer` |
-| `SchemaComponentTransfer` | class | created | `src/Generated/Shared/Transfer/SchemaComponentTransfer` |
-| `SchemaPropertyComponentTransfer` | class | created | `src/Generated/Shared/Transfer/SchemaPropertyComponentTransfer` |
-| `SecuritySchemeComponentTransfer` | class | created | `src/Generated/Shared/Transfer/SecuritySchemeComponentTransfer` |
-| `PathAnnotationsTransfer` | class | created | `src/Generated/Shared/Transfer/PathAnnotationsTransfer` |
-| `AnnotationTransfer` | class | created | `src/Generated/Shared/Transfer/AnnotationTransfer` |
-
-### 3) Set up behavior
-#### Configure REST attributes transfers
-**Implementation**
-Update all the needed `RestAttributes` transfer objects definitions on the project level to add `restRequestParameter` to the properties that should be included in the request object for the endpoint. For example:
-```xml
-
-
-
-
-
-
-
-
-```
-`restRequestParameter` can accept one of the three values:
-
-* required - property will be marked as required in the request body schema.
-* yes - property will be marked as optional in the request body schema.
-* no - property will be skipped in the request body schema.
-
-By default, every property is considered as not needed and will be skipped in the schema definition.
-Run the following command to generate the transfer changes:
-`console transfer:generate`
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the generated transfers have adefined property in metadata with the correct value, for example:
-{% endinfo_block %}
-**`src/Generated/Shared/Transfer/RestAccessTokensAttributesTransfer.php`**
-```yaml
-self::PASSWORD => [
- 'type' => 'string',
- 'name_underscore' => 'password',
- 'is_collection' => false,
- 'is_transfer' => false,
- 'rest_request_parameter' => 'required',
- 'is_nullable' => false,
-],
-self::TOKEN_TYPE => [
- 'type' => 'string',
- 'name_underscore' => 'token_type',
- 'is_collection' => false,
- 'is_transfer' => false,
- 'rest_request_parameter' => 'no',
- 'is_nullable' => false,
-],
-```
-#### Configure additional specification data for your actions
-You may need to add annotations to the endpoint's controller actions to generate more accurate documentation. Annotations are written in the JSON format. For example:
-```
-/**
- * @Glue({
- * "getResource": {
- * "summary": [
- * "Summary example."
- * ],
- * "parameters": [
- * {
- * name: "Accept-Language",
- * in: "header",
- * },
- * {
- * name: "X-Anonymous-Customer-Unique-Id",
- * in: "header",
- * required: true,
- * description: "Guest customer unique ID"
- * },
- * ],
- * "responses": {
- * "400": "Bad Response.",
- * "404": "Item not found.",
- * }
- * }
- * })
- * ...
- */
-public function getAction(RestRequestInterface $restRequest)
-```
-
-The annotation object should consist of a top-level object with one property that represents the request method used. It can be one of these:
-
-* getCollection, getResource - for the GET requests
-* post, patch, delete - respectively for the POST, PATCH, DELETE requests
-
-Currently supported annotation properties:
-
-* summary - summary of an endpoint. If not specified, summary will be generated from the resource type.
-* parameters - parameters that can be passed with the request. (see https://swagger.io/specification/#parameterObject).
-* responses - all the possible response codes and their descriptions for a given endpoint.
-* responseClass - defines a custom transfer class that represents a response object (in cases when the request and response objects are different); FQCN needed.
-* isEmptyResponse - should be set to true when a method does not have a response body (no need to set it in the delete methods as they have an empty response body by default)
-
-#### Enable console command
-Activate the following plugin:
-
-| Plugin| Specification |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `GenerateRestApiDocumentationConsole` | Registers the rest-api:generate:documentation console command. | None | `Spryker\Zed\DocumentationGeneratorRestApi\Communication\Console` |
-
-**`src/Pyz/Zed/Console/ConsoleDependencyProvider.php`**
-```php
-
- Make sure that the following module is installed:
-
-| Module | Expected Directory |
-| --- | --- |
-| `AlternativeProductsRestApi` | `vendor/spryker/alternative-products-rest-api` |
-
-
-## 2) Set up Behavior
-
-Activate the following plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `AbstractAlternativeProductsResourceRoutePlugin` | Registers the abstract alternative products resource. | None | `Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication` |
-| `ConcreteAlternativeProductsResourceRoutePlugin` | Registers the concrete alternative products resource. | None | `Spryker\Glue\AlternativeProductsRestApi\Plugin\GlueApplication` |
-
-**`src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php`**
-```php
-
- src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-```bash
- namespace Pyz\Glue\GlueApplication;
-
-use Spryker\Glue\CategoriesRestApi\Plugin\CategoriesResourceRoutePlugin;
-use Spryker\Glue\CategoriesRestApi\Plugin\CategoryResourceRoutePlugin;
-use Spryker\Glue\GlueApplication\GlueApplicationDependencyProvider as SprykerGlueApplicationDependencyProvider;
-
-class GlueApplicationDependencyProvider extends SprykerGlueApplicationDependencyProvider
-{
- /**
- * @return \Spryker\Glue\GlueApplicationExtension\Dependency\Plugin\ResourceRoutePluginInterface[]
- */
- protected function getResourceRoutePlugins(): array
- {
- return [
- new CategoriesResourceRoutePlugin(),
- new CategoryResourceRoutePlugin(),
- ];
- }
-}
- ```
-
-
- Make sure the following endpoints are available:
-* `http://mysprykershop.com/category-trees`
-* `http://mysprykershop.com/category-nodes/{% raw %}{{{% endraw %}category_node_id{% raw %}}}{% endraw %}`
-
-_Last review date: Feb 26, 2019_
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-customer-account-management-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-customer-account-management-feature-integration.md
deleted file mode 100644
index c05fda4a493..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-customer-account-management-feature-integration.md
+++ /dev/null
@@ -1,231 +0,0 @@
----
-title: Glue API - Customer feature integration
-description: This guide will navigate through the process of installing and configuring of the Customer API feature used in Spryker OS.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/customer-api-feature-integration
-originalArticleId: b12600d8-4921-49d4-8409-eb4cdc02ce5e
-redirect_from:
- - /v1/docs/customer-api-feature-integration
- - /v1/docs/en/customer-api-feature-integration
-related:
- - title: Managing Customers
- link: docs/scos/dev/glue-api-guides/page.version/managing-customers/managing-customers.html
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.12.0 |
-| Customer Account Management | 2018.12.0 |
-
-## 1) Install the required modules
-Run the following command to install the required modules:
-
-```bash
-composer require spryker/customers-rest-api:"^1.6.2" --update-with-dependencies
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-
-| Module| Expected Directory |
-| --- | --- |
-| `CustomersRestApiExtensions` | `vendor/spryker/customers-rest-api-extension` |
-| `CustomersRestApi ` | `vendor/spryker/customers-rest-api` |
-
-## 2) Set up Database Schema and Transfer objects
-Run the following commands to apply database changes and also generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following changes have occurred in the database:
-{% endinfo_block %}
-
-| Transfer | Type | Event |
-| --- | --- | --- |
-|`spy_customer_address.uuid` | column | created |
-| `spy_customer_address.spy_customer_address-unique-uuid` | index| created |
-
-{% info_block infoBox %}
-Make sure that the following changes have occurred in transfer objects:
-{% endinfo_block %}
-
-| Transfer | Type | Event | Path |
-| --- | --- | --- | --- |
-| `Address.uuid` |column |created | `src/Generated/Shared/Transfer/Address` |
-| `RestCustomersAttributes` |class | created |`src/Generated/Shared/Transfer/RestCustomersAttributes` |
-|`RestCustomersResponseAttributes` |class | created | `src/Generated/Shared/Transfer/RestCustomersResponseAttributes` |
-| `RestCustomersRegisterAttributes` | class|created | `src/Generated/Shared/Transfer/RestCustomersRegisterAttributes` |
-| `RestAddressAttributes` | class| created| `src/Generated/Shared/Transfer/RestAddressAttributes` |
-| `RestCustomerPasswordAttributes`| class| created| `src/Generated/Shared/Transfer/RestCustomerPasswordAttributes`|
-|`RestCustomerForgottenPasswordAttributes` | class | created | `src/Generated/Shared/Transfer/RestCustomerForgottenPasswordAttributes` |
-
-## 3) Set up behavior
-### Enable console command
-Register the following console command in `ConsoleDependencyProvider`:
-
-```php
- ```console list``` Make sure that `customer-addresses:uuid:generate appears` in the list.
-{% endinfo_block %}
-
-### Migrate data in database
-Run the following command to generate the UUIDs for all the existing records in the `spy_customer_address` table:
-
-```bash
-console customer-addresses:uuid:generate
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the `uuid` field is filled for all the records in the `spy_customer_address` table. You can run the following SQL query and make sure that the result is 0 records. ```select count(*
-{% endinfo_block %} from spy_customer_address where uuid is NULL;```)
-
-{% info_block infoBox "Verification" %}
-Make sure that the `uuid` field is filled with all the records from the `spy_wishlist` table. You can run the following SQL query and make sure that the result is 0 records. ```select count(*
-{% endinfo_block %} from spy_wishlist where uuid is NULL;```)
-
-### Enable resources and relationships
-Activate the following plugins:
-
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `SetCustomerBeforeActionPlugin.uuid` | Sets customer data to session.| It is expected that the `user` field will be set in the REST requests. |`Spryker\Glue\CustomersRestApi\Plugin` |
-| `CustomersResourceRoutePlugin` |Registers the `customers` resource. | None | `Spryker\Glue\CustomersRestApi\Plugin` |
-| `AddressesResourceRoutePlugin` | Registers the `addresses` resource. |None | `Spryker\Glue\CustomersRestApi\Plugin` |
-| `CustomerForgottenPasswordResourceRoutePlugin`| Registers the `customer-forgotten-password`resource. | None | `Spryker\Glue\CustomersRestApi\Plugin` |
-| `CustomerRestorePasswordResourceRoutePlugin` | Registers the `customer-restore-password`resource. | None | `Spryker\Glue\CustomersRestApi\Plugin` |
-|`CustomerPasswordResourceRoutePlugin` | Registers the `customer-password`resource. | None |`Spryker\Glue\CustomersRestApi\Plugin` |
-| `CustomersToAddressesRelationshipPlugin` | Adds the `addresses` resource as a relationship to the `customers` resource. | None | `Spryker\Glue\CustomersRestApi\Plugin` |
-
-
- src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
-
-```php
-
-
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following endpoints are available:
-{% endinfo_block %}
-
-* `https://glue.mysprykershop.com/customers`
-
-* `https://glue.mysprykershop.com/addresses`
-
-* `https://glue.mysprykershop.com/customer-password`
-
-* `https://glue.mysprykershop.com/customer-forgotten-password`
-
-* `https://glue.mysprykershop.com/customer-restore-password`
-
-{% info_block infoBox %}
-Send a request to `https://glue.mysprykershop.com/customers/{% raw %}{{{% endraw %}customer_id{% raw %}}}{% endraw %}?include=addresses`. Make sure that the response includes relationships to the `addresses` resources. *The Customer with the given ID should have at least one address.*
-{% endinfo_block %}
-
-
-
-[//]: # (by Karoly Gerner and Volodymyr Volkov)
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-glue-application-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-glue-application-feature-integration.md
deleted file mode 100644
index 2839ce445a4..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-glue-application-feature-integration.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-title: Glue API - Glue application feature integration
-description: This guide will navigate you through the process of installing and configuring the Glue Application feature in Spryker OS.
-last_updated: Jul 29, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/glue-application-feature-integration
-originalArticleId: dc2179bf-ffa7-49b2-8ca2-ce6565fbd767
-redirect_from:
- - /v1/docs/glue-application-feature-integration
- - /v1/docs/en/glue-application-feature-integration
----
-
-## Install feature API
-
-### Prerequisites
-
-To start feature integration, review and install the necessary features:
-|Name|Version|
-|---|---|
-|Spryker Core|{{page.version}}|
-
-### 1) Install the required modules using Composer
-
-Run the following command to install the required modules:
-```yaml
-composer require spryker/glue-application:"^1.9.1" spryker/glue-application-extension:"^1.1.0" --update-with-dependencies
-```
-
-{% info_block infoBox "Verification" %}
-
-Make sure that the following modules are installed:
-
-|Module|Expected Directory|
-|---|---|
-|`GlueApplication`|`vendor/spryker/glue-application`|
-|`GlueApplicationExtension`|`vendor/spryker/glue-application-extension`|
-
-{% endinfo_block %}
-
-### 2) Set up Configuration
-
-{% info_block infoBox "Info" %}
-`GLUE_APPLICATION_DOMAIN` should be configured for every domain used in project.
-{% endinfo_block %}
-
-Add the required parameters to `config/Shared/config_default.php`:
-```php
-$config[GlueApplicationConstants::GLUE_APPLICATION_DOMAIN] = 'http://glue.example.com';
-$config[GlueApplicationConstants::GLUE_APPLICATION_REST_DEBUG] = false;
-```
-
-### 3) Set up Transfer objects
-
-Run the following command to generate transfer objects:
-```yaml
-console transfer:generate
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following changes are present in transfer objects:
-{% endinfo_block %}
-|Transfer|Type|Event|Path|
-|---|---|---|---|
-|`RestPageOffsetsTransfer`|class|created|`src/Generated/Shared/Transfer/RestPageOffsetsTransfer`|
-|`RestErrorMessageTransfer`|class|created|`src/Generated/Shared/Transfer/RestErrorMessageTransfer`|
-|`RestErrorCollectionTransfer`|class|created|`src/Generated/Shared/Transfer/RestErrorCollection`|
-|`TransferRestVersionTransfer`|class|created|`src/Generated/Shared/Transfer/RestVersionTransfer`|
-
-### 4) Set up Behavior
-
-#### Set up front controller
-
-**Implementation**
-Activate the following plugins:
-|Plugin|Specification|Prerequisites|Namespace|
-|---|---|---|---|
-|`GlueResourceBuilderService`|Registers the resource builder service in the Glue application.|None|`Spryker\Glue\GlueApplication\Plugin\Rest\ServiceProvider`|
-|`GlueApplicationServiceProvider`|Registers the pimple plugin, controller resolver and configures the debug mode in the Glue application.|None|`Spryker\Glue\GlueApplication\Plugin\Rest\ServiceProvider`|
-|`SessionServiceProvider`|Registers the session services in the Glue application.|None|`Silex\Provider`|
-|`ServiceControllerServiceProvider`|Registers the service controller resolver in the Glue application.|None|`Silex\Provider`|
-|`GlueServiceProviderPlugin`|Registers the `onKernelController` event listeners in the Glue application.|None|`Spryker\Glue\GlueApplication\Plugin\Rest`|
-|`GlueRoutingServiceProvider`|Registers the url matcher and router services in the Glue application.|None|`Spryker\Glue\GlueApplication\Plugin\Rest\ServiceProvider`|
-
-Create a GlueBootstrap file for your project and register all the needed plugins:
-**`src/Pyz/Glue/GlueApplication/Bootstrap/GlueBootstrap.php`**
-```php
-Install GLUE
-* Enable GLUE
-
-
-## 1. Installing GLUE
-
-GLUE infrastructure is shipped with the following modules:
-
-| Module |Description |
-| --- | --- |
-| [GlueApplication](https://github.com/spryker/glue-application) | Provides API infrastructure for Spryker features.|
-| [GlueApplicationExtension](https://github.com/spryker/glue-application-extension) |Provides extension point/plugin interfaces for the Glue Application module. |
-| [AuthRestApi](https://github.com/spryker/auth-rest-api) (optional)| Provides API endpoints to obtain an authentication token to use for subsequent requests. |
-
-To install it, you need to do the following:
-{% info_block warningBox "Note" %}
-Spryker Shop Suite contains GLUE out of the box. If your project has the latest Shop Suite master merged, you can proceed directly to step 2. Enable GLUE.
-{% endinfo_block %}
-
-1. Install the necessary modules using composer:
-
- ```yaml
- composer update "spryker/*" "spryker-shop/*" --update-with-dependencies
- composer require spryker/glue-application --update-with-dependencies
- ```
-
- 2. Add a Front Controller for GLUE:
- * In the directory where your code is installed, locate directory public and create subdirectory Glue in it.
- * Create file index.php in the Glue directory with the following content:
-
-```php
-initialize();
-
-$bootstrap = new GlueBootstrap();
-$bootstrap
- ->boot()
- ->run();
-```
-
-3. Create GLUE application bootstrap:
- * In the `src/Pyz` directory of your Spryker code installation, create folder Glue, then create subfolder `GlueApplication/Bootstrap` in it.
- * In the GlueApplication/Bootstrap folder, create file GlueBootstrap.php with the following content:
-
-```php
-application
- ->register(new GlueResourceBuilderService())
- ->register(new GlueApplicationServiceProvider())
- ->register(new SessionServiceProvider())
- ->register(new ServiceControllerServiceProvider())
- ->register(new GlueServiceProviderPlugin())
- ->register(new GlueRoutingServiceProvider());
- }
-}
-```
-4. Create GLUE dependency provider:
-
- In the `src/Pyz/GlueApplication` directory of your Spryker code installation, create file `GlueApplicationDependencyProvider.php` and add the following code:
-```php
-';
-$config[GlueApplicationConstants::GLUE_APPLICATION_REST_DEBUG] = false;
-```
-where **** is the URL domain you want to use for GLUE. If you want to use the default domain of the Spryker shop, you can leave it empty.
-{% info_block infoBox "Tip" %}
-If you want to enable GLUE application debugging, set the `GLUE_APPLICATION_REST_DEBUG` variable to true.
-{% endinfo_block %}
-6. Enable customer authentication via OAuth tokens (optional)
-
-GLUE provides the possibility to authenticate customer users with the help of OAuth tokens. If you are going to use customer authentication, you will also need to perform the following additional steps:
-
-* Install the `AuthRestApi` and `OauthCustomerConnector` modules:
-```yaml
-composer require spryker/auth-rest-api spryker/oauth-customer-connector --update-with-dependencies
-```
-
-* Add OAuth plugins to the GLUE dependency provider. To do this, open file `src/Pyz/GlueApplication/GlueApplicationDependencyProvider.php` and make the following changes:
-Add use closes for the required OAuth plugins:
-```php
-...
-namespace Pyz\Glue\GlueApplication;
-
-use Spryker\Glue\AuthRestApi\Plugin\AccessTokensResourceRoutePlugin;
-use Spryker\Glue\AuthRestApi\Plugin\AccessTokenValidatorPlugin;
-use Spryker\Glue\AuthRestApi\Plugin\FormatAuthenticationErrorResponseHeadersPlugin;
-use Spryker\Glue\AuthRestApi\Plugin\RefreshTokensResourceRoutePlugin;...
-```
-Add OAuth resource plugins:
-```php
-protected function getResourceRoutePlugins(): array
-{
- return [
- new AccessTokensResourceRoutePlugin(),
- new RefreshTokensResourceRoutePlugin(),
- ];
-}
-```
-Add token validation plugin:
-```php
-protected function getValidateRestRequestPlugins(): array
-{
- return [
- new AccessTokenValidatorPlugin(),
- ];
-}
-```
-Add error response plugin:
-```php
-protected function getFormatResponseHeadersPlugins(): array
-{
- return [
- new FormatAuthenticationErrorResponseHeadersPlugin(),
- ];
-}
-```
-
-* Add OAuth dependency provider. To do this, create file `Pyz/Zed/Oauth/OauthDependencyProvider.php` as follows:
-```php
- 2. Enabling GLUE
-To be able to use GLUE in your project, you need to configure a Nginx host to serve REST API requests:
-
-**1. Create Nginx VHOST configuration**
-
-```yaml
-sudo nano /etc/nginx/sites-enabled/DE_development_glue
-```
-In the _nano_ console that opens, paste the following:
-```php
-server {
- # Listener for production/staging - requires external LoadBalancer directing traffic to this port
- listen 10001;
-
- # Listener for testing/development - one host only, doesn't require external LoadBalancer
- listen 80;
-
- server_name ~^glue\\.de\\..+\\.local$;
-
- keepalive_timeout 0;
- access_log /data/logs/development/glue-access.log extended;
-
- root /data/shop/development/current/public/Glue;
-
- set $application_env development;
- set $application_store DE;
- include "spryker/zed.conf";
-}
-```
-Restart nginx
-```yaml
-sudo /etc/init.d/nginx restart
-```
-**2. Change the machine hosts configuration**
-```yaml
-sudo nano /etc/hosts
-```
-add the following line to the end of the file:
-```
-ip glue.de.project-name.local
-```
-After performing this change, you should be able to access `https://glue.mysprykershop.com` with a 404 error and JSON response indicating that resource is not found.
-
-**3. Set correct OAuth key permissions**
-
-If you are using the OAuth module for user authentication, change permissions for the OAuth keys:
-```yaml
-chmod 660 config/Zed/dev_only_public.key
-chmod 660 config/Zed/dev_only_private.key
-```
-## Integrate REST API resources
-
-After installing and enabling GLUE, you can integrate various REST API resources with it. It is not required to integrate all modules for REST API to work. You can integrate only the modules you need.
-
-### Login API
-Provides the possibility to authenticate customer users.
-The API is provided by the following module:
-|Module|Description|
-|---|---|
-|[AuthRestApi](https://github.com/spryker/auth-rest-api)|Provides API endpoints to obtain an authentication token to use for subsequent requests.|
-Installation steps: see **1.6. Enable customer authentication via OAuth tokens**.
-
-### Registration API
-Provides the possibility to register new customers.
-The API is provided by the following module:
-|Module|Description|
-|---|---|
-|[CustomersRestApi](https://github.com/spryker/customers-rest-api)|Provides API endpoints to manage customers.|
-
-Installation steps:
-1. Install the module using Composer:
-```yaml
-composer require spryker/customers-rest-api --update-with-dependencies
-```
-2. Add a resource route plugin to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...
- new CustomersResourceRoutePlugin(),
- ];
- }
-```
-3. Run the following command:
-```yaml
-console transfer:generate
-```
-
-### Products API
-Provides endpoints to retrieve information about products.
-The API is provided by the following modules:
-
- |Module |DescriptionEndpoints Provided|
- |---|---|---|
-|[ProductsRestApi](https://github.com/spryker/products-rest-api)|Provides REST access to products.|/`abstract-products` /`concrete-products`|
-|[ProductAvailabilitiesRestApi](https://github.com/spryker/product-availabilities-rest-api)|Provides API endpoints to get abstract and concrete product availability.|`/abstract-products/{% raw %}{{{% endraw %}sku{% raw %}}}{% endraw %}/abstract-product-availabilities` /`concrete-products/{% raw %}{{{% endraw %}sku{% raw %}}}{% endraw %}/concrete-product-availabilities`|
-|[ProductsProductAvailabilitiesResourceRelationship](https://github.com/spryker/products-product-availabilities-resource-relationship)|Provides relationship between products (abstract and concrete) and product availabilities resources.|-|
-|[ProductPricesRestApi](https://github.com/spryker/product-prices-rest-api)|Provides API endpoints to retrieve abstract and concrete product prices.|`/abstract-products/{% raw %}{{{% endraw %}sku{% raw %}}}{% endraw %}/abstract-product-prices` /`concrete-products/{% raw %}{{{% endraw %}sku{% raw %}}}{% endraw %}/concrete-product-prices`|
-|[ProductsProductPricesResourceRelationship](https://github.com/spryker/products-product-prices-resource-relationship)|Provides relationship between products (abstract and concrete) and product prices resources.|-|
-|[ProductTaxSetsRestApi](https://github.com/spryker/product-tax-sets-rest-api)|Provides API endpoints to retrieve product tax sets.|`/abstract-products/{% raw %}{{{% endraw %}SKU{% raw %}}}{% endraw %}/product-tax-sets`|
-|[ProductsProductTaxSetsResourceRelationship](https://github.com/spryker/products-product-tax-sets-resource-relationship)|Provides relationship between abstract products and tax sets resources.|-|
-|[ProductImageSetsRestApi](https://github.com/spryker/product-prices-rest-api)|Provides API endpoints to retrieve product image sets.|`/abstract-products/{% raw %}{{{% endraw %}sku{% raw %}}}{% endraw %}/abstract-product-image-sets` `/concrete-products/{% raw %}{{{% endraw %}sku{% raw %}}}{% endraw %}/concrete-product-image-sets`|
-
-You can chose whether to install all modules of the API to retrieve full Products API functionality, or install any of the modules individually to get only the endpoints you need.
-{% info_block infoBox "Relationship Modules" %}
-Relationship modules provide relationship between products and related entities (e.g. between products and the tax sets available for them). This means that, when a module is installed, a request for information on a certain product will also return information on the related resource by default. If the module is not installed, you need to query the related resource explicitly. In other words, if the `ProductsProductTaxSetsResourceRelationship` module is installed, a query for an abstract product will also return full data of the tax sets related to them. If it is not installed, you will need to query the `/abstract-products/{% raw %}{{{% endraw %}SKU{% raw %}}}{% endraw %}/product-tax-sets` explicitly.
-{% endinfo_block %}
-
-Installation steps:
-**`ProductsRestApi`**:
-1. Install the module using Composer:
-```yaml
-composer require spryker/products-rest-api --update-with-dependencies
-```
-
-2. Add resource route plugins to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...
- new AbstractProductsResourceRoutePlugin(),
- new ConcreteProductsResourceRoutePlugin(),
- ];
- }
- ```
-3. Run the following command:
- ```bash
-console transfer:generate
- ```
-**`ProductAvailabilitiesRestApi`**:
-1. Install the module using Composer:
- ```bash
-composer require spryker/product-availabilities-rest-api --update-with-dependencies
- ```
-2. Add resource route plugins to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...
- new AbstractProductAvailabilitiesRoutePlugin(), // Abstract product avaialbilities
- new ConcreteProductAvailabilitiesRoutePlugin(), // Concrete product avaialbilities
- ];
- }
- ```
-3. Run the following command:
-```bash
-console transfer:generate
-```
-**`ProductsProductAvailabilitiesResourceRelationship`**:
-1. Install the module using Composer:
-```bash
-composer require spryker/products-product-availabilities-resource-relationship --update-with-dependencies
-```
-2. Add resource route plugins to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRelationshipPlugins()`:
-```php
-protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface
- {
- ...
- $resourceRelationshipCollection->addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new ProductsProductAvailabilitiesResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
- ```
-
-### Stores API
-Provides API endpoints to retrieve current store configuration.
-The API is provided by the following module:
-|Modules|Description|
-|---|---|
-|[StoresRestApi](https://github.com/spryker/stores-rest-api)|Provides REST API endpoints to stores.|
-Installation steps:
-1. Install the module using Composer:
-```bash
-composer require spryker/stores-rest-api --update-with-dependencies
-```
-2. Add resource route plugin to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...
- new StoresResourceRoutePlugin(),
- ];
- }
-```
-3. Run the following command:
-```bash
-console transfer:generate
-```
-
-### Search API
-Provides the possibility to perform searches and retrieve search suggestions via the REST API.
-The API is provided by the following module:
-|Modules|Description|
-|---|---|
-|[CatalogSearchRestApi](https://github.com/spryker/catalog-search-rest-api)|Provides REST API endpoints to search products and search suggestions.|
-
-Installation steps:
-1. Install the module using Composer:
-```yaml
-composer require spryker/catalog-search-rest-api --update-with-dependencies
-```
-2. Add plugins for catalog search and search suggestions to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...
- new SearchResourceRoutePlugin(),
- new SuggestionsResourceRoutePlugin(),
- ];
- }
-```
-3. Run the following command:
-```yaml
-console transfer:generate
-```
-4. If your store also provides the Products API, you need to add relationship between the Search and Products APIs:
-```yaml
-composer require spryker/catalog-search-products-resource-relationship --update-with-dependencies
-```
-After this, add the products resource relation plugins to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRelationshipPlugins()`:
-```php
-protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH,
- new CatalogSearchAbstractProductsResourceRelationshipPlugin()
- );
- $resourceRelationshipCollection->addRelationship(
- CatalogSearchRestApiConfig::RESOURCE_CATALOG_SEARCH_SUGGESTIONS,
- new CatalogSearchSuggestionsAbstractProductsResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-```
-
-### Category API
-Provides the possibility to retrieve the category tree and category nodes.
-The API is provided by the following module:
-|Modules|Description|
-|---|---|
-|[CategoriesRestApi](https://github.com/spryker/categories-rest-api)|Provides REST API endpoints to fetch category tree and category nodes by node ID.|
-Installation steps:
-1. Install the module using Composer:
-```yaml
-composer require spryker/categories-rest-api --update-with-dependencies
-```
-2. Add plugins for category-trees and category-nodes resources to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...
- new CategoriesResourceRoutePlugin(),
- new CategoryResourceRoutePlugin(),
- ];
- }
- ```
-3. Run the following command:
-```yaml
-console transfer:generate
-```
-
-### Carts API
-Provides the possibility to manage customer carts and cart items.
-The API is provided by the following module:
-|Modules|Description|
-|---|---|
-|[CartsRestApi](https://github.com/spryker/carts-rest-api)|Provides REST API endpoints to create, get, delete carts for registered customers (using persistent storage), as well as manage cart items.|
-Installation steps:
-1. Install the module using Composer:
-```yaml
-composer require spryker/cart-items-products-relationship:"^1.0.0" spryker/carts-rest-api:"^1.0.0" --update-with-dependencies
-```
-2. Add carts and cart items resource route plugin to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...
- new CartsResourceRoutePlugin(),
- new CartItemsResourceRoutePlugin(),
- ];
- }
- ```
-3. Run Propel install to add the UUID functionality:
-```yaml
-console propel:install
-```
-4. Generate Propel transfer objects:
-```yaml
-console transfer:generate
-```
-5. Run the following command to update all existing customers carts with a UUID value.
-```yaml
-console quote:uuid:generate
-```
-
-### Product Labels API
-Provides the possibility to retrieve product labels.
-The API is provided by the following module:
-|Modules|Description|Endpoints Provided|
-|---|---|---|
-|[ProductLabelsRestApi](https://github.com/spryker/product-labels-rest-api)|Provides REST API endpoints for product labels.|`/product-labels/{% raw %}{{{% endraw %}label-id{% raw %}}}{% endraw %}`|
-
-Installation steps:
-1. Install the module using Composer:
-```yaml
-composer require spryker/product-labels-rest-api --update-with-dependencies
-```
-2. Add plugin declaration to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php:getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...,
- new ProductLabelsResourceRoutePlugin(),
- ...,
- ```
-3. Run the following command:
-```yaml
-console transfer:generate
-```
-
-**Retrieving Labels for Products**
-Out of the box, the API provides the possibility to access labels by their ID. If you also want to retrieve labels assigned to a product together with product information, you need to install an additional relationship module:
-1. Install the module using Composer:
-```yaml
-composer require spryker/product-labels-rest-api --update-with-dependencies
-```
-2. Add the products resource relation plugin to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRelationshipPlugins()`:
-```php
-protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new ProductLabelsRelationshipByResourceIdPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-```
-3. Run the following command:
-```yaml
-console transfer:generate
-```
-
-### Checkout API
-Provides the possibility to place orders and retrieve checkout information.
-The API is provided by the following module:
-|Modules|Description|Endpoints Provided|
-|---|---|---|
-|CheckoutRestApi|||
-Installation steps:
-**Placing an Order**
-1. Install the module using Composer:
-```php
-composer require spryker/product-labels-rest-api --update-with-dependencies
-```
-2. Add plugin declaration to `src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php:getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...,
- new CheckoutResourcePlugin(),
- ...,
-```
-3. Add relationship to the order to `src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php:getResourceRelationshipPlugins()`:
-```php
-protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
- ): ResourceRelationshipCollectionInterface {
- ...
- $resourceRelationshipCollection->addRelationship(
- CheckoutRestApiConfig::RESOURCE_CHECKOUT,
- new OrderRelationshipByOrderReferencePlugin()
- );
- ...
-```
-**Retrieving Checkout Data**
-1. Install the module using Composer:
-```yaml
-composer require spryker/product-labels-rest-api --update-with-dependencies
-```
-2. Add plugin declaration to `src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php:getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
- {
- return [
- ...,
- new CheckoutDataResourcePlugin(),
- ...,
-```
-
-### Customers API
-Provides the possibility to retrieve product labels.
-The API is provided by the following module:
-|Modules|Description|Endpoints Provided|
-|---|---|---|
-|CustomersRestApi|Provides endpoints that allow you to manage customers.|/customers /customers/{% raw %}{{{% endraw %}customer_id{% raw %}}}{% endraw %} /customers/{% raw %}{{{% endraw %}customer_id{% raw %}}}{% endraw %}/addresses /customers/{% raw %}{{{% endraw %}customer_id{% raw %}}}{% endraw %}/addresses/{% raw %}{{{% endraw %}address_id{% raw %}}}{% endraw %}|
-Installation steps:
-1. Install the module using Composer:
-```yaml
-composer require spryker/customers-rest-api --update-with-dependencies
-composer require spryker/wishlists-rest-api --update-with-dependencies
-```
-2. Add plugin declaration to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRoutePlugins()`:
-```php
-protected function getResourceRoutePlugins(): array
-{
- return [
- ...
- new CustomersResourceRoutePlugin(),
- new AddressesResourceRoutePlugin(),
- ];
-}
-```
-3. Add `CustomersToAddressesRelationshipPlugin` and `WishlistRelationshipByResourceIdPlugin` to `/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php::getResourceRelationshipPlugins()`:
-```php
-protected function getResourceRelationshipPlugins(
- ResourceRelationshipCollectionInterface $resourceRelationshipCollection
-): ResourceRelationshipCollectionInterface {
- $resourceRelationshipCollection->addRelationship(
- CustomersRestApiConfig::RESOURCE_CUSTOMERS,
- new CustomersToAddressesRelationshipPlugin()
- );
- $resourceRelationshipCollection->addRelationship(
- CustomersRestApiConfig::RESOURCE_CUSTOMERS,
- new WishlistRelationshipByResourceIdPlugin()
- );
- return $resourceRelationshipCollection;
-}
-```
-4. Run the following command:
-```yaml
-console transfer:generate
-console propel:install
-console customer-addresses:uuid:generate
-```
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-feature-integration.md
deleted file mode 100644
index 63cf97cbd93..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-feature-integration.md
+++ /dev/null
@@ -1,118 +0,0 @@
----
-title: Glue API - Product feature integration
-description: This guide will navigate you through the process of installing and configuring the Product API feature in Spryker OS.
-last_updated: May 2, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-api-feature-integration-201812
-originalArticleId: 010d45ee-40e1-4ff4-82fe-3551786af605
-redirect_from:
- - /v1/docs/product-api-feature-integration-201812
- - /v1/docs/en/product-api-feature-integration-201812
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.12.0 |
-| Product Management | 2018.12.0 |
-
-### 1) Install the required modules using Composer
-
-Run the following command to install the required modules:
-`composer require spryker/products-rest-api:"^2.2.3" --update-with-dependencies`
-
-{% info_block infoBox "Verification" %}
-Make sure that the following module is installed:
-{% endinfo_block %}
-
-| Module | Expected directory |
-| --- | --- |
-| `ProductsRestApi` | `vendor/spryker/products-rest-api` |
-
-### 2) Set up Database Schema and Transfer objects
-**Implementation**
-Run the following commands to apply database changes and generate entity and transfer changes:
-```
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-|Transfer | Type | Event |Path |
-| --- | --- | --- | --- |
-| `ConcreteProductsRestAttributesTransfer`| class | created | `src/Generated/Shared/Transfer/ConcreteProductsRestAttributesTransfer` |
-|`AbstractProductsRestAttributesTransfer`|class|created|`src/Generated/Shared/Transfer/AbstractProductsRestAttributesTransfer`|
-
-{% info_block infoBox %}
-Make sure that `SpyProductAbstractStorage` and `SpyProductConcreteStorage` are extended by synchronization behavior with these methods:
-{% endinfo_block %}
-
-|Entity | Type| Event | Path | Methods |
-| --- | --- | --- | --- | --- |
-| `SpyProductAbstractStorage` |class | extended | `src/Orm/Zed/ProductStorage/Persistence/Base/SpyProductAbstractStorage` |
|
-
-### 3) Set up behavior
-#### Reload data to storage
-
-Run the following commands to reload abstract and product data to storage.
-```
-console event:trigger -r product_abstract
-console event:trigger -r product_concrete
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that there are data in Redis with these keys:
-{% endinfo_block %}
-```
-kv:product_abstract:{% raw %}{{{% endraw %}store_name{% raw %}}}{% endraw %}:{% raw %}{{{% endraw %}locale_name{% raw %}}}{% endraw %}:sku:{% raw %}{{{% endraw %}sku_product_abstract{% raw %}}}{% endraw %}
-kv:product_concrete:{% raw %}{{{% endraw %}locale_name{% raw %}}}{% endraw %}:sku:{% raw %}{{{% endraw %}sku_product_concrete{% raw %}}}{% endraw %}
-```
-
-#### Enable resources
-**Implementation**
-Activate the following plugin:
-
-| Plugin | Specification | Prerequisites | Namespace|
-| --- | --- | --- | --- |
-| `AbstractProductsResourceRoutePlugin` | Registers an abstract product resource. | None | `Spryker\Glue\ProductsRestApi\Plugin` |
-|`ConcreteProductsResourceRoutePlugin`|Registers an concrete product resource.|None|`Spryker\Glue\ProductsRestApi\Plugin`|
-
-```php
-addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new AbstractProductsProductImageSetsResourceRelationshipPlugin()
- );
- $resourceRelationshipCollection->addRelationship(
- ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
- new ConcreteProductsProductImageSetsResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following endpoints are available:
-{% endinfo_block %}
-
-* `http://mysprykershop.com//abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}/abstract-product-image-sets`
-* `http://mysprykershop.com/concrete-products/{% raw %}{{{% endraw %}concrete_sku{% raw %}}}{% endraw %}/concrete-product-image-sets`
-
-{% info_block infoBox %}
-Make the request to `http://mysprykershop.com/abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}?include=abstract-product-image-sets`. The abstract product with the given SKU should have at least one image set. Make sure that the response includes relationships to the `abstract-product-image-sets` resources.
-{% endinfo_block %}
-{% info_block infoBox %}
-Make the request to `http://mysprykershop.com/concrete-products/{% raw %}{{{% endraw %}concrete_sku{% raw %}}}{% endraw %}?include=abstract-product-image-sets`. The concrete product with the given SKU should have at least one image set. Make sure that the response includes relationships to the `concrete-product-image-sets` resources.
-{% endinfo_block %}
-
-_Last review date: Feb 21, 2019_
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-labels-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-labels-feature-integration.md
deleted file mode 100644
index 3498ea1fccf..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-labels-feature-integration.md
+++ /dev/null
@@ -1,127 +0,0 @@
----
-title: Glue API - Product Labels feature integration
-description: This guide will navigate you through the process of installing and configuring the Product Labels API feature in Spryker OS.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-labels-api-feature-integration
-originalArticleId: 327e406f-7874-49c7-ba1a-fd20d76120e0
-redirect_from:
- - /v1/docs/product-labels-api-feature-integration
- - /v1/docs/en/product-labels-api-feature-integration
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.12.0 |
-| Product Management | 2018.12.0 |
-| Product Label | 2018.12.0 |
-| ProductsRestApi | 2.2.3 |
-
-## 1) Install the required modules using Composer
-
-Run the following command to install the required modules:
-
-```bash
-composer require spryker/product-labels-rest-api:"^1.0.1" --update-with-dependencies
-```
-
-{% info_block warningBox “Verification” %}
-
-Make sure that the following module is installed:
-
-| Module | Expected Directory |
-| --- | --- |
-| `ProductLabelsRestApi` | `vendor/spryker/product-labels-rest-api` |
-
-{% endinfo_block %}
-
-## 2) Set up Transfer Objects
-
-Run the following commands to generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox “Verification” %}
-
-Make sure that the following changes are present in transfer objects:
-
-| Transfer | Type | Event | Path |
-| --- | --- | --- | --- |
-| `RestProductLabelsAttributesTransfer` | class | created | ` src/Generated/Shared/Transfer/RestProductLabelsAttributesTransfer` |
-{% endinfo_block %}
-
-## 3) Set up Behavior
-### Enable resources and relationships
-
-**Implementation**
-
-Activate the following plugin:
-
-| Plugin | Specification |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `ProductLabelsRelationshipByResourceIdPlugin` | Adds the product labels resource as a relationship to an abstract product resource. | None | `Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsRelationshipByResourceIdPlugin` |
-| `ProductLabelsResourceRoutePlugin` |Registers the product labels resource. | None | `Spryker\Glue\ProductLabelsRestApi\Plugin\GlueApplication\ProductLabelsResourceRoutePlugin` |
-
-
-src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
-```php
-addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new ProductLabelsRelationshipByResourceIdPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-
-
-
-{% info_block infoBox %}
-
-Make sure the following endpoint is available: `http://mysprykershop.com/product-labels/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}`
-
-{% endinfo_block %}
-
-{% info_block infoBox %}
-
-Make a request to `http://mysprykershop.com/abstract-products/{% raw %}{{{% endraw %}sku{% raw %}}}{% endraw %}?include=product-labels`. An abstract product with the given SKU should have at least one assigned product label. Make sure the response includes relationships to the `product-labels` resources.
-
-{% endinfo_block %}
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-price-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-price-feature-integration.md
deleted file mode 100644
index 924ac1cbe2b..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-product-price-feature-integration.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: Glue API - Product Price feature integration
-description: This guide will navigate you through the process of installing and configuring the Product Price API feature in Spryker OS.
-last_updated: May 2, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-price-api-feature-integration
-originalArticleId: 734dc840-f523-469c-b986-2e0b2a5ec83f
-redirect_from:
- - /v1/docs/product-price-api-feature-integration
- - /v1/docs/en/product-price-api-feature-integration
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.12.0 |
-| Product Management | 2018.12.0 |
-| Price | 2018.12.0 |
-| ProductsRestApi | 2.2.3 |
-
-## 1) Install the required modules
-
-Run the following commands to install the required modules:
-```yaml
-composer require spryker/product-prices-rest-api:"^1.1.0" --update-with-dependencies
-composer require spryker/products-product-prices-resource-relationship:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-
-| Module | Expected Directory |
-| --- | --- |
-| `ProductPricesRestApi` | `vendor/spryker/product-prices-rest-api` |
-|`ProductsProductPricesResourceRelationship`|`vendor/spryker/products-product-prices-resource-relationship`|
-
-## 2) Set up Transfer object
-
-Run the following command to generate transfer changes:
-```yaml
-console transfer:generate
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following changes are present in the transfer objects:
-{% endinfo_block %}
-
-| Transfer |Type | Event | Path |
-| --- | --- | --- | --- |
-| `RestProductPriceAttributesTransfer` | column | created | `src/Generated/Shared/Transfer/RestProductPriceAttributesTransfer` |
-| `RestProductPricesAttributesTransfer` | class | created | `src/Generated/Shared/Transfer/RestProductPricesAttributesTransfer` |
-| `RestCurrencyTransfer` | class | created | `src/Generated/Shared/Transfer/RestCurrencyTransfer` |
-
-## 3) Set up behavior
-### Enable resources and relationships
-**Implementation**
-Activate the following plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `AbstractProductPricesRoutePlugin` | Registers an abstract product prices resource. | None | `Spryker\Glue\ProductPricesRestApi\Plugin` |
-| `ConcreteProductPricesRoutePlugin` | Registers a concrete product prices resource. | None | `Spryker\Glue\ProductPricesRestApi\Plugin` |
-| `AbstractProductsProductPricesResourceRelationshipPlugin` | Adds an abstract product prices resource as a relationship to an abstract product resource. | None | `Spryker\Glue\ProductsProductPricesResourceRelationship\Plugin` |
-| `ConcreteProductsProductPricesResourceRelationshipPlugin` | Adds a concrete product prices resource as a relationship to a concrete product resource. | None | `Spryker\Glue\ProductsProductPricesResourceRelationship\Plugin` |
-
-**`src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php`**
-```php
-addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new AbstractProductsProductPricesResourceRelationshipPlugin()
- );
- $resourceRelationshipCollection->addRelationship(
- ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
- new ConcreteProductsProductPricesResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following endpoints are available:
-{% endinfo_block %}
-
-* `http://mysprykershop.comop.com/abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}/abstract-product-prices`
-* `http://mysprykershop.comop.com/concrete-products/{% raw %}{{{% endraw %}concrete_sku{% raw %}}}{% endraw %}/concrete-product-prices`
-{% info_block infoBox %}
-Make the request to `http://mysprykershop.comop.com/abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}?include=abstract-product-prices`. Make sure that the response includes relationships to the `abstract-product-prices` resources.
-{% endinfo_block %}
-{% info_block infoBox %}
-Make the request to `http://mysprykershop.comop.com/concrete-products/{% raw %}{{{% endraw %}concrete_sku{% raw %}}}{% endraw %}?include=concrete-product-prices`. Make sure that the response includes relationships to the `concrete-product-prices` resources.
-{% endinfo_block %}
-
-_Last review date: Feb 21, 2019_
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-rest-schema-validation-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-rest-schema-validation-feature-integration.md
deleted file mode 100644
index 85f1f6cf977..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-rest-schema-validation-feature-integration.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Glue API - REST Schema Validation feature integration
-description: This guide will navigate you through the process of installing and configuring the REST Schema Validation feature in Spryker OS.
-last_updated: Oct 28, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/rest-schema-validation-feature-integration-v2018110
-originalArticleId: c2b05043-130d-4ff4-b6e4-9d11021f79b9
-redirect_from:
- - /v1/docs/rest-schema-validation-feature-integration-v2018110
- - /v1/docs/en/rest-schema-validation-feature-integration-v2018110
----
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-wishlist-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-wishlist-feature-integration.md
deleted file mode 100644
index cd027c0192c..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/glue-api-wishlist-feature-integration.md
+++ /dev/null
@@ -1,167 +0,0 @@
----
-title: Glue API - Wishlist feature integration
-description: This guide will navigate you through the process of installing and configuring the Wishlist API feature in Spryker OS.
-last_updated: May 19, 2020
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/wishlist-api-feature-integration
-originalArticleId: bb8921e2-a8cd-4fe7-97f5-cdbd3a990f0d
-redirect_from:
- - /v1/docs/wishlist-api-feature-integration
- - /v1/docs/en/wishlist-api-feature-integration
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core| 2018.12.0 |
-| Product Management | 2018.12.0|
-| Wishlist | 2018.12.0 |
-|ProductsRestApi |2.2.3 |
-
-### 1) Install the required modules using Composer
-Run the following commands to install the required modules:
-
-```bash
-composer require spryker/wishlists-rest-api:"^1.3.0" --update-with-dependencies
-composer require spryker/wishlist-items-products-resource-relationship:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-
-| Module | Expected directory |
-| --- | --- |
-|`WishlistsRestApi` | `vendor/spryker/wishlists-rest-api` |
-| `WishlistItemsProductsResourceRelationship` |`vendor/spryker/wishlist-items-products-resource-relationship` |
-
-### 2) Set up Database Schema and Transfer objects
-Run the following commands to apply database changes, and also generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following changes have occurred in the database:
-{% endinfo_block %}
-
-| Database entity | Type | Event |
-| --- | --- | --- |
-| `spy_wishlist.uuid` | column |added |
-
-{% info_block infoBox %}
-Make sure that the following changes have occurred in transfer objects:
-{% endinfo_block %}
-
-| Transfer | Type | Event | Path |
-| --- | --- | --- | --- |
-| `RestWishlistItemsAttributesTransfer` | class| created |`src/Generated/Shared/Transfer/RestWishlistItemsAttributesTransfer` |
-| `RestWishlistsAttributesTransfer` | class | created |`src/Generated/Shared/Transfer/RestWishlistsAttributesTransfer` |
-| `WishlistTransfer.uuid` | property |added | `src/Generated/Shared/Transfer/WishlistTransfer` |
-
-### 3) Set up behavior
-#### Generate UUIDs for existing whishlist records that have no UUID
-Run the following command:
-
-```bash
-console wishlists:uuid:update
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the `uuid` field is populated for all the records in the spy_wishlist table. You can run the following SQL query and make sure that the result is 0 records. ```select count(*
-{% endinfo_block %} from spy_wishlist where uuid is NULL;```)
-
-#### Enable resources and relationships
-Activate the following plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `WishlistsResourceRoutePlugin` | Registers the `wishlists` resource. | None
- |`Spryker\Glue\WishlistsRestApi\Plugin` |
-| `WishlistItemsResourceRoutePlugin` | Registers the `wishlist-items` resource. | None | `Spryker\Glue\WishlistsRestApi\Plugin` |
-| `WishlistItemsConcreteProductsResourceRelationshipPlugin` | Adds the `concrete-products` resource as a relationship to the `wishlist-items` resource. | None | `Spryker\Glue\WishlistItemsProductsResourceRelationship\Plugin` |
-| `WishlistRelationshipByResourceIdPlugin` | Adds the `wishlists` resource as a relationship to the `customers` resource. | None | `Spryker\Glue\WishlistsRestApi\Plugin` |
-
-
- src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
-```php
-
-
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following endpoints are available:
-{% endinfo_block %}
-
-* `http:///glue.mysprykershop.com/wishlists`
-* `http:///glue.mysprykershop.com/wishlists/{% raw %}{{{% endraw %}wishlist_id{% raw %}}}{% endraw %}/wishlists-items`
-
-{% info_block infoBox %}
-Make a request to `https://glue.mysprykershop.com/wishlists/{% raw %}{{{% endraw %}wishlist_id{% raw %}}}{% endraw %}/wishlists-items?include=concrete-products` and make sure that the given wishlist has at least one product added. Make sure that the response includes relationships to the `concrete-products` resources.
-{% endinfo_block %}
-
-{% info_block infoBox %}
-Make a request to `https://glue.mysprykershop.com/customers/{% raw %}{{{% endraw %}customer_id{% raw %}}}{% endraw %}?include=wishlists` and make sure that the given customer has at least one wishlist. Make sure that the response includes relationships to the `wishlists` resources.
-{% endinfo_block %}
-
-**See also:**
-
-[Managing Wishlists](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-wishlists.html)
-
-_Last review date: Apr 11, 2019_
-
-[//]: # (by Karoly Gerner and Volodymyr Volkov)
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/order-history-api-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/order-history-api-feature-integration.md
deleted file mode 100644
index 0488d389c1c..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/order-history-api-feature-integration.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: Glue API - Order History feature integration
-description: This guide will navigate through the process of installing and configuring of the Order History API feature used in Spryker OS.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/order-history-api-feature-integration
-originalArticleId: e550e031-ff30-4382-98a5-c0868e304b53
-redirect_from:
- - /v1/docs/order-history-api-feature-integration
- - /v1/docs/en/order-history-api-feature-integration
-related:
- - title: Retrieving Customer's Order History
- link: docs/scos/dev/glue-api-guides/page.version/managing-customers/retrieving-customer-orders.html
----
-
-## Install feature API
-### Prerequisites
-To start feature integration, review and install all these necessary features:
-|Name|Version|
-|---|---|
-|Spryker Core|2018.12.0|
-|Order Management|2018.12.0|
-|AuthRestApi|2.2.2|
-### 1) Install the required modules using Composer
-
-Run the following command to install the required modules:
-```yaml
-composer require spryker/auth-rest-api:"^2.2.2" spryker/orders-rest-api:"^1.2.2" --update-with-dependencies
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following module is installed:
-{% endinfo_block %}
-|Module|Expected Directory|
-|---|---|
-|`OrdersRestApi`|`vendor/spryker/orders-rest-api`|
-### 2) Set up Transfer objects
-
-Run the following command to generate the transfer changes:
-```yaml
-composer transfer:generate
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following changes are present in the transfer objects:
-{% endinfo_block %}
-|Transfer|Type|Event|Path|
-|---|---|---|---|
-|`RestOrdersAttributesTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrdersAttributesTransfer`|
-|`RestOrderDetailsAttributesTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrderDetailsAttributesTransfer`|
-|`RestOrderItemsAttributesTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrderItemsAttributesTransfer`|
-|`RestOrderTotalsAttributesTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrderTotalsAttributesTransfer`|
-|`RestOrderExpensesAttributesTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrderExpensesAttributesTransfer`|
-|`RestOrderAddressTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrderAddressTransfer`|
-|`RestOrderPaymentTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrderPaymentTransfer`|
-|`RestOrderItemMetadataTransfer`|class|created|`src/Generated/Shared/Transfer/RestOrderItemMetadataTransfer`|
-|`RestCalculatedDiscountTransfer`|class|created|`src/Generated/Shared/Transfer/RestCalculatedDiscountTransfer`|
-
-### 3) Set up behavior
-#### Enable resource
-
-Activate the following plugin:
-|Plugin|Specification|Prerequisites|Namespace|
-|---|---|---|---|
-|`OrdersResourceRoutePlugin`|Registers orders resource.|None|`Spryker\Glue\OrdersRestApi\Plugin`|
-
-```php
-
- Make sure that the following endpoints are available:
-
-* http://mysprykershop.com/orders
-* http://mysprykershop.com/orders/`{% raw %}{{{% endraw %}order_reference{% raw %}}}{% endraw %}`
-
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-availability-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-availability-feature-integration.md
deleted file mode 100644
index 7c604ec60b3..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-availability-feature-integration.md
+++ /dev/null
@@ -1,129 +0,0 @@
----
-title: Glue API - Product Availability feature integration
-description: This guide will navigate you through the process of installing and configuring the Product Availability feature in Spryker OS.
-last_updated: May 2, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-availability-feature-integration
-originalArticleId: cdd936dc-c376-4fae-9cba-36d43ced869a
-redirect_from:
- - /v1/docs/product-availability-feature-integration
- - /v1/docs/en/product-availability-feature-integration
----
-
-## Install feature API
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.12.0 |
-| Product Management| 2018.12.0 |
-| Availability | 2018.12.0 |
-| ProductsRestApi | 2.2.3 |
-### 1) Install the required modules using Composer
-
-Run the following commands to install the required modules:
-```
-composer require spryker/product-availabilities-rest-api:"^1.0.3" --update-with-dependencies
-composer require spryker/products-product-availabilities-resource-relationship:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block infoBox "Verification" %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-
-| Module | Expected directory |
-| --- | --- |
-| `ProductAvailabilitiesRestApi` | `vendor/spryker/product-availabilities-rest-api` |
-| `ProductsProductAvailabilitiesResourceRelationship` | `vendor/spryker/products-product-availabilities-resource-relationship` |
-
-### 2) Set up Transfer objects
-#### Implementation
-Run the following commands to generate transfer changes:
-`console transfer:generate
-`
-
-{% info_block infoBox "Verification" %}
-Make sure that the following changes in transfer objects are present:
-{% endinfo_block %}
-
-|Transfer | Type | Event | Path |
-| --- | --- | --- | --- |
-| `RestAbstractProductAvailabilityAttributesTransfer` | class | created | `src/Generated/Shared/Transfer/RestAbstractProductAvailabilityAttributesTransfer` |
-| `RestConcreteProductAvailabilityAttributesTransfer` | class | created | `src/Generated/Shared/Transfer/RestConcreteProductAvailabilityAttributesTransfer` |
-
-### 3) Set up behavior
-#### Enable resources and relationships
-**Implementation**
-Activate the following plugin:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `AbstractProductAvailabilitiesRoutePlugin` | Registers the abstract product availabilities resource. | None | `Spryker\Glue\ProductAvailabilitiesRestApi\Plugin` |
-| `ConcreteProductAvailabilitiesRoutePlugin` | Registers the concrete product availabilities resource. | None | `Spryker\Glue\ProductAvailabilitiesRestApi\Plugin` |
-| `AbstractProductAvailabilitiesResourceRelationshipPlugin` | Adds the abstract product availability resource as a relationship to the abstract product resource. | None | `Spryker\Glue\ProductsProductAvailabilitiesResourceRelationship\Plugin` |
-| `ConcreteProductAvailabilitiesResourceRelationshipPlugin` | Adds the concrete product availability resource as a relationship to the concrete product resource. | None | `Spryker\Glue\ProductsProductAvailabilitiesResourceRelationship\Plugin` |
-
-**`src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php`**
-```php
-addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new AbstractProductAvailabilitiesResourceRelationshipPlugin()
- );
- $resourceRelationshipCollection->addRelationship(
- ProductsRestApiConfig::RESOURCE_CONCRETE_PRODUCTS,
- new ConcreteProductAvailabilitiesResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-**Verification**
-{% info_block infoBox %}
-Make sure that the following endpoints are available:
-{% endinfo_block %}
-
-* `http://mysprykershop.com/abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}/abstract-product-availabilities`
-* `http://mysprykershop.com/concrete-products/{% raw %}{{{% endraw %}concrete_sku{% raw %}}}{% endraw %}/concrete-product-availabilities`
-{% info_block infoBox %}
-Make a request to `http://mysprykershop.com/abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}?include=abstract-product-availabilities`. Make sure that the response includes relationships to the `abstract-product-availabilities` resource.
-{% endinfo_block %}
-{% info_block infoBox %}
-Make a request to `http://mysprykershop.com/concrete-products/{% raw %}{{{% endraw %}concrete_sku{% raw %}}}{% endraw %}?include=concrete-product-availabilities`. Make sure that the response includes relationships to the `concrete-product-availabilities` resource.
-{% endinfo_block %}
-
-_Last review date: Feb 19, 2019_
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-tax-sets-api-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-tax-sets-api-feature-integration.md
deleted file mode 100644
index 1fe49b87876..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/glue-api/product-tax-sets-api-feature-integration.md
+++ /dev/null
@@ -1,159 +0,0 @@
----
-title: Glue API - Product Tax Sets feature integration
-description: This guide will navigate you through the process of installing and configuring the Product Tax Sets API feature in Spryker OS.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-tax-sets-api-feature-integration
-originalArticleId: ad00daf1-7c6f-4a1b-b358-9fc415a3a093
-redirect_from:
- - /v1/docs/product-tax-sets-api-feature-integration
- - /v1/docs/en/product-tax-sets-api-feature-integration
----
-
-## Install feature API
-
-### Prerequisites
-
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.12.0 |
-| Product Management | 2018.12.0 |
-| Tax | 2018.12.0 |
-| ProductsRestApi | 2.2.3 |
-
-## 1) Install the required modules using Composer
-
-Run the following commands to install the required modules:
-
-```bash
-composer require spryker/product-tax-sets-rest-api:"^1.0.6" --update-with-dependencies
-composer require spryker/products-product-tax-sets-resource-relationship:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox “Verification” %}
-
-Make sure that the following modules have been installed:
-{% endinfo_block %}
-
-| Module | Expected Directory |
-| --- | --- |
-| `ProductTaxSetsRestApi` | `vendor/spryker/product-tax-sets-rest-api` |
-| `ProductsProductTaxSetsResourceRelationship` | `vendor/spryker/products-product-tax-sets-resource-relationship` |
-
-
-## 2) Set up Database Schema and Transfer Objects
-
-Run the following commands to apply database changes and generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-
- Make sure that the following changes are present by checking your database:
-
-| Database entity | Type | Event |
-| --- | --- | --- |
-| `spy_tax_set.uuid` | column | added |
-
-
-
Make sure that the following changes are present in the transfer objects:
-
-| Transfer | Type | Event | Path |
-| --- | --- | --- | --- |
-| `RestProductTaxRateTransfer` | class | created | `src/Generated/Shared/Transfer/RestProductTaxRateTransfer` |
-| `RestProductTaxSetsAttributesTransfer` | class | created | `src/Generated/Shared/Transfer/RestProductTaxSetsAttributesTransfer` |
-| `TaxSetTransfer.uuid` | property | added | `src/Generated/Shared/Transfer/TaxSetTransfer` |
-
-
-## 3) Set up Behavior
-
-### Generate UUIDs for the existing `spy_tax_set records` without UUID:
-
-Run the following command:
-
-```bash
-console tax-sets:uuid:update
-```
-
-
- Make sure that the UUID field is filled out for all the records in the `spy_tax_set` table. You can run the following SQL query to make sure the result equals to 0 records:
-
-```sql
-select count(*) from spy_tax_set where uuid is NULL;
-```
-
-
-### Enable resource and relationship
-
-Activate the following plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductTaxSetsResourceRoutePlugin` | Registers the product tax resource. | None | `Spryker\Glue\ProductTaxSetsRestApi\Plugin` |
-| `ProductsProductTaxSetsResourceRelationshipPlugin` | Adds the product tax sets resource as a relationship to an abstract product resource. | None | `Spryker\Glue\ProductsProductTaxSetsResourceRelationship\Plugin` |
-
-
- src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php
-
- ```php
- addRelationship(
- ProductsRestApiConfig::RESOURCE_ABSTRACT_PRODUCTS,
- new ProductsProductTaxSetsResourceRelationshipPlugin()
- );
-
- return $resourceRelationshipCollection;
- }
-}
-```
-
-
-
-
-
- {% info_block warningBox “Verification” %}
-
-Make sure that the following endpoint is available: `http://mysprykershop.comop.com//abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}/product-tax-sets `
-{% endinfo_block %}
-
-{% info_block warningBox “Verification” %}
-
-Send a request to `http://mysprykershop.comop.com//abstract-products/{% raw %}{{{% endraw %}abstract_sku{% raw %}}}{% endraw %}?include=product-tax-sets`. Make sure that the response includes relationships to the `product-tax-sets` resources.
-{% endinfo_block %}
-
-
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/installing-the-category-cms-blocks.md b/docs/scos/dev/feature-integration-guides/201811.0/installing-the-category-cms-blocks.md
deleted file mode 100644
index 51b77e98980..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/installing-the-category-cms-blocks.md
+++ /dev/null
@@ -1,353 +0,0 @@
----
-title: Installing the Category CMS Blocks
-description: The guide describes the process of installing the Category CMS Block in your project.
-last_updated: Jul 31, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/enabling-category-cms-block
-originalArticleId: 686fc463-68cb-4301-aa70-f955f7077804
-redirect_from:
- - /v1/docs/enabling-category-cms-block
- - /v1/docs/en/enabling-category-cms-block
-related:
- - title: CMS Block
- link: docs/scos/user/back-office-user-guides/page.version/content/blocks/cms-block.html
- - title: Migration Guide - CMS Block
- link: docs/pbc/all/content-management-system/page.version/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-cmsblock-module.html
----
-
-Category blocks are blocks that can be embedded into the category template.
-To enable the Category CMS Block in your project, do the following:
-1. Install CMS Block Category Connector module by composer.
-
-```bash
-"spryker/cms-block-category-connector": "^2.0.0"
-```
-
-2. Register the CMS block form plugin.
-3. Add `CmsBlockCategoryFormPlugin` to the CMS Block GUI dependency provider (`\Pyz\Zed\CmsBlockGui\CmsBlockGuiDependencyProvider`).
-
-```php
- new CmsBlockCategoryConnectorCollectorPlugin(),
- ];
- };
- }
-}
-```
-
-7. Register Category form and form handler plugins.
-
-```php
- new CmsBlockCategoryConnectorCollectorPlugin(),
- ];
- };
- }
-}
-```
-
-12. Register Category form and form handler plugins.
-
-```php
-
-
-
-**To configure the block:**
-1. In the Zed UI, go to the CMS section and navigate to the blocks section.
-2. Click Create CMS Block to create a new block.
-3. From the template drop-down, select the new template and name the new block.
-4. Set the "Category" and enter the category URL in the Category field. While typing, the product search will offer suggestions from the product list.
-5. View on a CMS Block edit page.
-
-6. View on a Category edit page.
-
-
-7. Set the block to active to use it straight away.
-8. After clicking **Save**, you will be prompted to provide glossary keys for the placeholders included in the Twig template.
-9. Embed the block into the category page by adding the following code in the `catalog.twig` template:
-
-```
-{% raw %}{%{% endraw %} if category is defined {% raw %}%}{% endraw %}
- {% raw %}{{{% endraw %} spyCmsBlock({category: category.id}) {% raw %}}}{% endraw %}
-{% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
-```
-10. To see the page in Yves, the client data storage (Redis) must be up-to-date. This is handled through `cronjobs`.
-11. To manually execute this step, run the collectors to update the frontend data storage:
-
-```bash
-vendor/bin/console collector:storage:export
-```
-
-**To configure block positions**
-Usually you don't want to change Twig templates for each block assignment, but still be able to manage CMS Blocks from Zed GUI. In this case we recommend to use positioning.
-
-CMS Block positioning means that you can predefine some of the useful places in your Twig templates once and then manage your CMS Blocks based on relations to categories and position. For example, you could define "header", "body", "footer" positions to manage your CMS Blocks in those places independently.
-
- By default we provide the following positions: "Top", "Middle", "Bottom", but you can easily change them in the module configuration on a project level (put your extension of `CmsBlockCategoryConnectorConfig` with the replaced method `getCmsBlockCategoryPositionList` to `Pyz\Zed\CmsBlockCategoryConnector\CmsBlockCategoryConnectorConfig` as in the example below).
-
-```php
- new CmsBlockProductConnectorCollectorPlugin(),
- ];
- };
- }
-}
-```
-
-5. Register the product list plugin (optional).
-To show which product abstracts are assigned to a block on a block view page, add `CmsBlockProductAbstractListViewPlugin` to the CMS Block GUI dependency provider.
-
-```php
-
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/measurement-units-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/measurement-units-feature-integration.md
deleted file mode 100644
index 73e1ec6a71b..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/measurement-units-feature-integration.md
+++ /dev/null
@@ -1,910 +0,0 @@
----
-title: Measurement Units feature integration
-description: The Measurement Units feature allows defining specific units of measure for products. The guide describes how to integrate the feature into your project.
-last_updated: Nov 25, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-measurement-units-feature-integration-201811
-originalArticleId: 87885373-7be5-4321-9c07-2d839ae47819
-redirect_from:
- - /v1/docs/product-measurement-units-feature-integration-201811
- - /v1/docs/en/product-measurement-units-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Cart | 2018.11.0 |
-|Product|2018.11.0|
-|Order Management|2018.11.0|
-|Spryker Core|2018.11.0|
-
-### 1) Install the required modules using Composer
-
-Run the following command(s) to install the required modules:
-```
-composer require spryker-feature/measurement-units: "^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules have been installed:
-
-```
-
-
-
-Run the following commands to apply database changes and generate entity and transfer changes:
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes by checking your database:
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that the changes were implemented successfully. For this purpose, trigger the following methods and make sure that the above events have been triggered:
)
-
-### 3) Add Translations
-
-{% info_block infoBox "Info" %}
-All measurement units need to have glossary entities for the configured locales.
-{% endinfo_block %}
-Infrastructural record's glossary keys:
-
-src/data/import/glossary.csv
-
-```yaml
-measurement_units.item.name,Item,en_US
-measurement_units.item.name,Stück,de_DE
-```
-
-
-
-Demo data glossary keys:
-
-src/data/import/glossary.csv
-
-```yaml
-measurement_units.standard.weight.kilo.name,Kilo,en_US
-measurement_units.standard.weight.gram.name,Gram,en_US
-measurement_units.standard.length.metre.name,Meter,en_US
-measurement_units.standard.length.centimetre.name,Centimeter,en_US
-measurement_units.standard.length.feet.name,Feet,en_US
-measurement_units.standard.weight.kilo.name,Kilo,de_DE
-measurement_units.standard.weight.gram.name,Gramm,de_DE
-measurement_units.standard.length.metre.name,Meter,de_DE
-measurement_units.standard.length.centimetre.name,Centimeter,de_DE
-measurement_units.standard.length.feet.name,Fuß,de_DE
-```
-
-
-
-Run the following console command to import data:
-```
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 4) Configure Export to Redis
-This step will publish tables on change (create, edit, delete) to the `spy_product_measurement_unit_storage` and `spy_product_concrete_measurement_unit_storage` and synchronise the data to Storage.
-
-#### Set up Event Listeners
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductMeasurementUnitStorageEventSubscriber` | Registers listeners that are responsible to publish product measurement unit storage entity changes when a related entity change event occurs. | None | `Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Event\Subscriber` |
-
-
-src/Pyz/Zed/Event/EventDependencyProvider.php
-
-```php
- add(new ProductMeasurementUnitStorageEventSubscriber());
-
- return $eventSubscriberCollection;
- }
-}
-```
-
-
-
-#### Set up Re-Generate and Re-Sync Features
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductConcreteMeasurementUnitEventResourceRepositoryPlugin` | Allows populating empty storage table with data. | None | `Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Event` |
-| `ProductMeasurementUnitEventResourceRepositoryPlugin` | Allows populating empty storage table with data. | None | `Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Event` |
-| `ProductConcreteMeasurementUnitSynchronizationDataPlugin` | Allows synchronizing the whole storage table content into Storage. | None | `Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Synchronization` |
-| `ProductMeasurementUnitSynchronizationDataPlugin` | Allows synchronizing the whole storage table content into Storage. | None | `Spryker\Zed\ProductMeasurementUnitStorage\Communication\Plugin\Synchronization` |
-
-
-src/Pyz/Zed/EventBehavior/EventBehaviorDependencyProvider.php
-
-
-
-src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.ph
-
-```php
-
-
-
-### 5) Import Data
-#### Add Infrastructural Data
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductMeasurementUnitInstallerPlugin` | Installs the configured infrastructural measurement units. | None | `Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\Installer` |
-
-
-src/Pyz/Zed/Installer/InstallerDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to execute registered installer plugins and install infrastructural data:
-```
-console setup:init-db
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database that the configured infrastructural measurement units are added to the `spy_product_measurement_unit` table.
-{% endinfo_block %}
-
-#### Import Product Measurement Unit
-
-{% info_block infoBox "Info" %}
-The following imported entities will be used as measurement units in the Spryker OS.
-{% endinfo_block %}
-
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/product-measurement-unit-data-import/data/import/product_measurement_unit.csv
-
-```yaml
-name,code,default_precision
-measurement_units.standard.weight.kilo.name,KILO,1
-measurement_units.standard.weight.gram.name,GRAM,1
-measurement_units.standard.weight.tone.name,TONE,1000
-measurement_units.standard.weight.gbou.name,GBOU,10
-measurement_units.standard.weight.usou.name,USOU,10
-measurement_units.standard.weight.pund.name,PUND,100
-measurement_units.standard.weight.huwg.name,HUWG,1000
-measurement_units.standard.weight.gbtn.name,GBTN,1000
-measurement_units.standard.weight.ustn.name,USTN,1000
-measurement_units.standard.weight.oztr.name,OZTR,10
-measurement_units.standard.weight.ucwt.name,UCWT,1000
-measurement_units.standard.length.metr.name,METR,100
-measurement_units.standard.length.cmet.name,CMET,10
-measurement_units.standard.length.mmet.name,MMET,1
-measurement_units.standard.length.kmet.name,KMET,1000
-measurement_units.standard.length.inch.name,INCH,10
-measurement_units.standard.length.yard.name,YARD,100
-measurement_units.standard.length.foot.name,FOOT,100
-measurement_units.standard.length.mile.name,MILE,1000
-measurement_units.standard.area.smet.name,SMET,100
-measurement_units.standard.area.sqki.name,SQKI,100
-measurement_units.standard.area.smil.name,SMIL,100
-measurement_units.standard.area.scmt.name,SCMT,100
-measurement_units.standard.area.sqin.name,SQIN,100
-measurement_units.standard.area.sqfo.name,SQFO,100
-measurement_units.standard.area.sqmi.name,SQMI,100
-measurement_units.standard.area.sqya.name,SQYA,100
-measurement_units.standard.area.acre.name,ACRE,100
-measurement_units.standard.area.ares.name,ARES,100
-measurement_units.standard.area.hect.name,HECT,100
-measurement_units.standard.litr.name,LITR,100
-measurement_units.standard.celi.name,CELI,10
-measurement_units.standard.mili.name,MILI,1
-measurement_units.standard.gbga.name,GBGA,10
-measurement_units.standard.gbpi.name,GBPI,10
-measurement_units.standard.uspi.name,USPI,10
-measurement_units.standard.gbqa.name,GBQA,10
-measurement_units.standard.usqa.name,USQA,10
-measurement_units.standard.usga.name,USGA,10
-measurement_units.standard.barl.name,BARL,100
-measurement_units.standard.bcuf.name,BCUF,100
-measurement_units.standard.bdft.name,BDFT,100
-measurement_units.standard.cbme.name,CBME,100
-measurement_units.standard.miba.name,MIBA,100
-measurement_units.standard.dgeu.name,DGEU,100
-measurement_units.standard.ggeu.name,GGEU,100
-measurement_units.standard.busl.name,BUSL,100
-measurement_units.standard.box.name,BOX,1
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| name| mandatory|string |measurement_units.standard.cbme.name | The glossary key that will be used for displaying. Each name needs glossary key definition for all configured locales. |
-|code|mandatory|unique, string|CBME|A unique identifier used by the Spryker OS to identify measurement units.|
-|default_precision|mandatory|integer, power of ten|100|A property that affects how detailed to render a float measurement unit. Affects visual only, not used in calculations.|
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data
-```
-console data:import product-measurement-unit
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database that the configured data are added to the `spy_product_measurement_unit` table.
-{% endinfo_block %}
-
-#### Import Product Measurement Base Units
-
-{% info_block infoBox "Info" %}
-Imports data that defines the base measurement unit of each product abstract.
-{% endinfo_block %}
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/product-measurement-unit-data-import/data/import/product_measurement_base_unit.csv
-
-```yaml
-code,abstract_sku
-METR,215
-KILO,216
-ITEM,217
-ITEM,218
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| code | mandatory | string | METR | An existing measurement unit code that will be the base of measurement unit calculations for this product abstract. |
-|abstract_sku|mandatory|virtual-unique, string|215|An existing product abstract SKU. 1 product abstract can have only 1 base unit; multiple occurrences will override older ones.|
-Register the following plugin to enable data import:
-
-| Plugin |Specification | Prerequisites |Namespace |
-| --- | --- | --- | --- |
-|`ProductMeasurementBaseUnitDataImportPlugin` |Imports base measurement unit definitions into the database. |
Referred product abstracts to be imported
Referred measurement units to be imported
|`Spryker\Zed\ProductMeasurementUnitDataImport\Communication\Plugin` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```
-console data:import product-measurement-base-unit
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database that the configured data are added to the `spy_product_measurement_base_unit` table.
-{% endinfo_block %}
-
-#### Import Product Measurement Sales Units
-
-{% info_block infoBox "Info" %}
-Imports sales measurement unit definitions to product concretes.
-{% endinfo_block %}
-
-```yaml
-sales_unit_key,concrete_sku,code,conversion,precision,is_displayed,is_default
-sales_unit_1,215_123,METR,1,100,1,1
-sales_unit_2,215_123,CMET,,,1,0
-sales_unit_3,215_124,METR,1,100,1,0
-sales_unit_4,215_124,CMET,0.01,1,1,0
-sales_unit_5,215_124,FOOT,0.328084,100,1,1
-sales_unit_6,216_123,ITEM,5,1,1,1
-sales_unit_7,217_123,ITEM,1,1,1,1
-sales_unit_8,217_123,KILO,2,100,1,0
-sales_unit_9,217_123,GRAM,0.01,1,1,0
-sales_unit_10,218_123,ITEM,1,1,1,1
-sales_unit_11,218_123,KILO,10,1,1,0
-sales_unit_12,218_123,GRAM,0.01,1,1,0
-sales_unit_13,218_1231,ITEM,1,1,1,1
-sales_unit_14,218_1231,KILO,2,1,1,0
-sales_unit_15,218_1231,GRAM,0.01,1,1,0
-sales_unit_16,218_1233,METR,1,100,1,1
-sales_unit_17,218_1234,METR,1,100,1,1
-sales_unit_18,217_1231,ITEM,1,1,1,1
-sales_unit_19,218_1232,ITEM,1,1,1,1
-```
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| sales_unit_key | mandatory | unique, string | sales_unit_1 | A unique identifier that allows referring to this record from other data importers. |
-|concrete_sku|mandatory|string|215_123|An already existing product concrete SKU.|
-|code|mandatory|string|METR |An already existing measurement unit code that will be used to convert back and forth with the base unit defined in product abstract.|
-|conversion|mandatory|float, empty|5|
A custom multiplier that is used to calculate base unit. This field can be empty if both base and sales unit code is defined in the general [conversion ratios](https://github.com/spryker/util-measurement-unit-conversion/blob/1ae26cf8e629d25157e273097941bde438a24ddc/src/Spryker/Service/UtilMeasurementUnitConversion/UtilMeasurementUnitConversionConfig.php).
Example: 5 means that 1 quantity of this sales unit represents 5 of the base unit.
|
-|precision|mandatory|integer, power of ten, empty|100|A property that affects how detailed to render a float measurement unit. Affects visual only, not used in calculations. When left empty, the precision of the measurement unit is used.|
-|is_displayed|mandatory|integer|0|Controls if the sales unit can be displayed for customers.|
-|is_default|mandatory|integer|1|Controls if this sales unit is preferred as the default sales unit when offered for customers. Takes no effect if is_displayed set as 0. 1 product concrete can have up to 1 default sales unit.|
-Register the following plugin:
-
-| Plugin | Specification |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `ProductMeasurementSalesUnitDataImportPlugin` | Imports sales measurement unit definitions into the database. |
Referred product concretes to be imported
Related product abstracts to be imported
Related product abstracts' base units to be imported
Referred measurement units to be imported
| `Spryker\Zed\ProductMeasurementUnitDataImport\Communication\Plugin` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```
-console data:import product-measurement-sales-unit
-```
-{% info_block warningBox "Verification" %}
-Make sure that in the database that the configured data are added to the `spy_product_measurement_sales_unit` table.
-{% endinfo_block %}
-
-#### Import Product Measurement Sales Unit Stores:
-{% info_block infoBox "Info" %}
-Contains the Store configuration for each defined sales unit. Proceed with this step even if you have only 1 Store.
-{% endinfo_block %}
-Prepare your data according to your requirements using our demo data:
-
-vendor/spryker/product-measurement-unit-data-import/data/import/product_measurement_sales_unit_store.csv
-
-```yaml
-sales_unit_key,store_name
-sales_unit_1,DE
-sales_unit_1,US
-sales_unit_1,AT
-sales_unit_2,DE
-sales_unit_2,US
-sales_unit_2,AT
-sales_unit_3,DE
-sales_unit_3,US
-sales_unit_3,AT
-sales_unit_4,DE
-sales_unit_4,AT
-sales_unit_5,US
-sales_unit_6,DE
-sales_unit_6,US
-sales_unit_6,AT
-sales_unit_7,DE
-sales_unit_7,US
-sales_unit_7,AT
-sales_unit_8,DE
-sales_unit_8,US
-sales_unit_8,AT
-sales_unit_9,DE
-sales_unit_9,US
-sales_unit_9,AT
-sales_unit_10,DE
-sales_unit_10,US
-sales_unit_10,AT
-sales_unit_11,DE
-sales_unit_11,US
-sales_unit_11,AT
-sales_unit_12,DE
-sales_unit_12,AT
-sales_unit_12,US
-sales_unit_13,DE
-sales_unit_13,US
-sales_unit_13,AT
-sales_unit_14,DE
-sales_unit_14,US
-sales_unit_14,AT
-sales_unit_15,DE
-sales_unit_15,US
-sales_unit_15,AT
-sales_unit_16,DE
-sales_unit_16,US
-sales_unit_16,AT
-sales_unit_17,DE
-sales_unit_17,US
-sales_unit_17,AT
-sales_unit_18,DE
-sales_unit_18,US
-sales_unit_18,AT
-sales_unit_19,DE
-sales_unit_19,US
-sales_unit_19,AT
-```
-
-
-
-| Column |Is obligatory? |Data type | Data example |Data explanation |
-| --- | --- | --- | --- | --- |
-| `sales_unit_key` |mandatory | string | sales_unit_1 |A reference used for the product measurement sales unit data import. |
-|`store_name`|mandatory|string|DE|Contains the store name where the sales unit is available.|
-Register the following plugin:
-
-|Plugin | Specification | Prerequisites|Namespace |
-| --- | --- | --- | --- |
-|`ProductMeasurementSalesUnitStoreDataImportPlugin` |Imports sales measurement units' Store configuration into the database. |
Referred sales units to be imported.
Referred Stores to be imported.
| `Spryker\Zed\ProductMeasurementUnitDataImport\Communication\Plugin` |
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```
-console data:import product-measurement-sales-unit-store
-```
-{% info_block warningBox "Verification" %}
-Make sure that in the database that the configured data are added to the `spy_product_measurement_sales_unit_store` table.
-{% endinfo_block %}
-
-### 6) Set up Behavior
-#### Set up Checkout Workflow
-Enable the following behaviors by registering the plugins:
-
-| Plugin | Specification | Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `SingleItemQuantitySalesUnitCartChangeRequestExpanderPlugin` |Stores the sales unit ID of the selected measurement unit for the given product. |None | `Spryker\Client\ProductMeasurementUnit\Plugin\Cart` |
-|`QuantitySalesUnitGroupKeyItemExpanderPlugin`|Appends group key with sales unit information if the product was added to the cart with a sales unit.|Expects sales unit ID to be set for the related products.|`Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\Cart`|
-|`QuantitySalesUnitItemExpanderPlugin`|Expands cart item with general sales unit information when the product was added to the cart with a sales unit.|Expects sales unit ID to be set for the related products.|`Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\Cart`|
-|`QuantitySalesUnitValuePostSavePlugin`|Calculates sales unit value that was selected by the customer for later usage.|Expects general sales unit information to be set for the related products.|`Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\Cart`|
-|`QuantitySalesUnitOrderItemExpanderPreSavePlugin`|Prepares sales unit information to be saved to the database.|Expects general sales unit information to be set for the related products.|`Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\SalesExtension`|
-|`QuantitySalesUnitHydrateOrderPlugin`|Adds quantity sales unit information when Order is retrieved from database.|Expects sales order ID and sales order item IDs to be set.|`Spryker\Zed\ProductMeasurementUnit\Communication\Plugin\Sales`|
-
-
-src/Pyz/Client/Cart/CartDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/Cart/CartDependencyProvider.php
-
-```php
-
-
-
-
-
-src/Pyz/Zed/Sales/SalesDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure that `` action works with measurement units by adding an item to cart with sales unit and checking if `QuoteTransfer.items[].quantitySalesUnit` record gets populated.
-{% endinfo_block %}
-{% info_block warningBox "Verification" %}
-Make sure that checkout workflow works with measurement unit by ordering item with sales unit and checking the `spy_sales_order_item` contains `quantity_base_measurement_unit_name`, `quantity_measurement_unit_name`, `quantity_measurement_unit_code`, `quantity_measurement_unit_precision` and `quantity_measurement_unit_conversion` fields populated
-{% endinfo_block %}
-
-## Install feature frontend
-### Prerequisites
-Please overview and install the necessary features before beginning the integration step.
-
-|Name | Version |
-| --- | --- |
-| Spryker Core E-commerce | 2018.11.0 |
-|Checkout|2018.11.0|
-### 1) Install the required modules using Composer
-
-Run the following command(s) to install the required modules:
-```bash
-composer require spryker-feature/measurement-units: "^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules are installed:
-{% endinfo_block %}
-
-### 2) Add Translations
-
-Append glossary according to your configuration:
-
-src/data/import/glossary.csv
-
-```yaml
-cart.item_quantity,Quantity,en_US
-product.measurement.sales_unit,Sales Unit,en_US
-page.detail.add-to-cart,Add to Cart,en_US
-measurement_units.recommendation.between-units-info,The quantity you have chosen is in between 2 base units,en_US
-measurement_units.recommendation.min-violation,Minimum quantity requirements for product are not fulfilled,en_US
-measurement_units.recommendation.max-violation,Maximum quantity requirements for product are not fulfilled,en_US
-measurement_units.recommendation.suggestion,Would you like to add,en_US
-cart.pre.check.quantity.min.failed,Minimum quantity requirements for product SKU '%sku%' are not fulfilled.,en_US
-cart.pre.check.quantity.max.failed,Maximum quantity for product SKU '%sku%' is exceeded.,en_US
-cart.pre.check.quantity.interval.failed,Quantity interval requirements for product SKU '%sku%' are not fulfilled.,en_US
-cart.item_quantity,Anzahl,de_DE
-product.measurement.sales_unit,Maßeinheit,de_DE
-page.detail.add-to-cart,In den Warenkorb,de_DE
-measurement_units.recommendation.between-units-info,Ihre gewählte Anzahl liegt zwischen 2 basis Einheiten,de_DE
-measurement_units.recommendation.min-violation,Minimale Mengenanforderungen für das Produkt sind nicht erfüllt,de_DE
-measurement_units.recommendation.max-violation,Maximale Mengenanforderungen für das Produkt sind nicht erfüllt,de_DE
-measurement_units.recommendation.suggestion,Was würden Sie gerne hinzufügen? ,de_DE
-cart.pre.check.quantity.min.failed,Die Mindestanzahl für Produkt SKU '%sku%' ist nicht erreicht.,de_DE
-cart.pre.check.quantity.max.failed,Die Maximalanzahl für Produkt SKU '%sku%' ist überschritten.,de_DE
-cart.pre.check.quantity.interval.failed,Die Anzahl für Produkt SKU '%sku%' liegt nicht innerhalb des vorgegebenen Intervals.,de_DE
-```
-
-
-
-Run the following console command to import data:
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-{% endinfo_block %}
-
-
-### 3) Set up Widgets
-
-Register the following plugins to enable widgets:
-
-| Plugin | Description | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductMeasurementUnitWidgetPlugin` | Allows customers to select sales units for the product when adding to cart. |None | `SprykerShop\Yves\ProductMeasurementUnitWidget\Plugin\ProductDetailPage` |
-|`QuantitySalesUnitWidgetPlugin`|Displays selected sales unit information for products on the cart overview page.|None|`SprykerShop\Yves\ProductMeasurementUnitWidget\Plugin\CartPage`|
-
-src/Pyz/Yves/ProductDetailPage/ProductDetailPageDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Yves/CartPage/CartPageDependencyProvider.php
-
-```php
-
-
-
-`ProductMeasurementUnitWidget` uses Javascript for some functionality:
-
-|Functionality | Path |
-| --- | --- |
-|Controls base unit => sales unit calculations. Applies product quantity restrictions on sales unit level. Offers recommendation when invalid quantity is selected. Maintains stock-based quantity and sales unit information for posting |`vendor/spryker-shop/product-measurement-unit-widget/src/SprykerShop/Yves/ProductMeasurementUnitWidget/Theme/default/components/molecules/measurement-quantity-selector/measurement-quantity-selector.ts` |
-
-Run the following command to enable Javascript and CSS changes:
-```bash
-console frontend:yves:build
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following widgets were registered:
Module
Test
`ProductMeasurementUnitWidgetPlugin`
Go to the product detail page where the product has sales units and add a product to the cart with a sales unit.
`QuantitySalesUnitWidgetPlugin`
Go to the cart overview page and see if the sales unit information appears for a product.
-{% endinfo_block %}
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/merchant-custom-prices-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/merchant-custom-prices-feature-integration.md
deleted file mode 100644
index 120542872d8..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/merchant-custom-prices-feature-integration.md
+++ /dev/null
@@ -1,493 +0,0 @@
----
-title: Merchant Custom Prices feature integration
-description: The Merchant Custom Price Feature allows setting specific prices for merchants. The guide describes the process of integrating the feature into your project.
-last_updated: Nov 21, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/merchant-custom-prices-feature-integration-201811
-originalArticleId: f748c242-bbf9-4178-a035-51ae4cf49235
-redirect_from:
- - /v1/docs/merchant-custom-prices-feature-integration-201811
- - /v1/docs/en/merchant-custom-prices-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.11.0 |
-|Merchant | 2018.11.0|
-|Merchant Contracts | 2018.11.0 |
-| Prices | 2018.11.0 |
-| Product |2018.11.0 |
-
-### 1) Install the required modules using Composer
-Run the following command to install the required modules:
-
-```bash
-composer require spryker-feature/merchant-custom-prices:"^2018.11.0" spryker/price-product-merchant-relationship-gui:"^1.0.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules have been installed:
-{% endinfo_block %}
-
-
-### 2) Set up Database Schema
-
-Adjust the schema definition so that entity changes can trigger events:
-
-| Affected entity | Triggered events |
-| --- | --- |
-| `spy_price_product_merchant_relationship` | `Entity.spy_price_product_merchant_relationship.create` `Entity.spy_price_product_merchant_relationship.update` `Entity.spy_price_product_merchant_relationship.delete` |
-
-
-src/Pyz/Zed/PriceProductMerchantRelationship/Persistence/Propel/Schema/spy_price_product_merchant_relationship.schema.xml
-
-```html
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-Run the following commands:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes in transfer objects have been applied:
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that the changes were implemented successfully. For this purpose, trigger the following methods and check that the above events have been triggered as well:
)
-
-### 3) Configure Export to Redis
-With this step you will be able to publish prices on change (create, edit, delete) to `spy_price_product_abstract_merchant_relationship_storage`, `spy_price_product_concrete_merchant_relationship_storage` and synchronize the data to Storage.
-
-#### Set up Event Listeners
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `PriceProductMerchantRelationshipStorageEventSubscriber` | Registers listeners that are responsible to publish merchant prices to storage when a related entity changes. | None |`Spryker\Zed\ProductListStorage\Communication\Plugin\Event\Subscriber` |
-
-
-src/Pyz/Zed/Event/EventDependencyProvider.php
-
-```php
-
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure when prices are exported, created, updated, or deleted manually in Zed UI, they are exported (or removed
-{% endinfo_block %} to Redis accordingly.
)
-
-
-Example expected data fragment: Product Abstract Price
-
-```php
-{
- "prices": {
- "2": {
- "EUR": {
- "priceData": null,
- "GROSS_MODE": {
- "DEFAULT": 9922
- },
- "NET_MODE": {
- "DEFAULT": 8922
- }
- },
- "CHF": {
- "priceData": null,
- "GROSS_MODE": {
- "DEFAULT": 11422
- },
- "NET_MODE": {
- "DEFAULT": 10322
- }
- }
- }
- }
-}
-```
-
-
-
-
-Example expected data fragment: Product Concrete Price
-
-```php
-{
-"prices": {
- "2": {
- "EUR": {
- "priceData": null,
- "GROSS_MODE": {
- "DEFAULT": 12322
- },
- "NET_MODE": {
- "DEFAULT": 11222
- }
- },
- "CHF": {
- "priceData": null,
- "GROSS_MODE": {
- "DEFAULT": 10122
- },
- "NET_MODE": {
- "DEFAULT": 12522
- }
- }
- }
- }
-}
-```
-
-
-
-Add synchronization plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `PriceProductAbstractMerchantRelationSynchronizationDataPlugin` | Can be executed to synchronize all price_product_abstract_merchant_relationship entries from the database to Redis. | None |`Spryker\Zed\PriceProductMerchantRelationshipStorage\Communication\Plugin\Synchronization` |
-|`PriceProductConcreteMerchantRelationSynchronizationDataPlugin` | Can be executed to synchronize all `price_product_concrete_merchant_relationship` entries from the database to Redis. | None | `Spryker\Zed\PriceProductMerchantRelationshipStorage\Communication\Plugin\Synchronization` |
-
-
- src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Verify if "console sync:data --help" has `price_product_abstract_merchant_relationship` and `price_product_concrete_merchant_relationship` as an available resource in the list.
-{% endinfo_block %}
-
-### 4) Import data
-#### Import Price Product Merchant Relationships
-Prepare your prices data according to your requirements using our demo data:
-
-
-vendor/spryker/price-product-merchant-relationship-data-import/data/import/price_product_merchant_relationship.csv
-
-```yaml
-merchant_relation_key,abstract_sku,concrete_sku,price_type,store,currency,price_net,price_gross
- mr-002,205,,DEFAULT,DE,EUR,9022,10022
- mr-002,205,,DEFAULT,DE,CHF,11022,12522
- mr-002,001,,DEFAULT,DE,EUR,8922,9922
- mr-002,001,,DEFAULT,DE,CHF,10322,11422
- mr-002,,001_25904006,DEFAULT,DE,EUR,11222,12322
- mr-002,,001_25904006,DEFAULT,DE,CHF,12522,10122
- mr-002,051,,DEFAULT,DE,EUR,11022,12322
- mr-002,,051_29567823,DEFAULT,DE,EUR,10822,12022
- mr-002,,051_30107816,DEFAULT,DE,EUR,11222,12222
- mr-002,051,,DEFAULT,DE,CHF,12022,14022
- mr-002,,051_29567823,DEFAULT,DE,CHF,12422,13822
- mr-002,,051_30107816,DEFAULT,DE,CHF,12522,10322
- mr-003,205,,DEFAULT,DE,EUR,9033,10033
- mr-003,205,,DEFAULT,DE,CHF,11533,13033
- mr-003,001,,DEFAULT,DE,EUR,8933,9933
- mr-003,001,,DEFAULT,DE,CHF,10333,11433
- mr-003,,001_25904006,DEFAULT,DE,EUR,11233,12333
- mr-003,,001_25904006,DEFAULT,DE,CHF,12533,10133
- mr-003,051,,DEFAULT,DE,EUR,11033,12333
- mr-003,,051_29567823,DEFAULT,DE,EUR,10833,12033
- mr-003,,051_30107816,DEFAULT,DE,EUR,11233,12233
- mr-003,051,,DEFAULT,DE,CHF,12033,14033
- mr-003,,051_29567823,DEFAULT,DE,CHF,12433,13833
- mr-003,,051_30107816,DEFAULT,DE,CHF,12533,10333
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| `merchant_relation_key` | mandatory | string | mr-001 | Unique identifier used to identify a merchant contract. |
-| `abstract_sku` | mandatory (optional if `concrete_sku` provided) | string (unique) | 051 | Existing abstract product SKU to assign to the product list. |
-| `concrete_sku` | mandatory (optional if abstract_sku provided) | string (unique) | 051_29567823 | Existing concrete product SKU to assign to the product list. |
-| `price_type` | mandatory | string | DEFAULT | Name of the price type. By default it's 'DEFAULT', but could be project specific (strike, sale, ...). |
-| `store` | mandatory | string | DE | Store name. |
-| `currency` | mandatory | string | EUR | Currency ISO code. |
-| `price_net` | optional | number | 100 | Net price in cents. |
-| `price_gross` | optional | number | 120 | Gross price in cents. |
-
-Register the following plugin to enable data import:
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```bash
-console data:import product-price-merchant-relationship
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data is added to the `spy_price_product_merchant_relationship` table.
-{% endinfo_block %}
-
-### 5) Set up Behavior
-#### Set up Merchant Relationship Related Price Handling
-Enable the following behaviors by registering the plugins:
-
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `MerchantRelationshipPriceQueryCriteriaPlugin` | Extends `PriceProduct` select prices SQL query for selecting prices from merchant relationship dimension if they are requested in `PriceProductCriteriaTransfer→priceDimension` or `PriceProductFilterTransfer→priceDimension` equals `PriceProductMerchantRelationshipConfig::PRICE_DIMENSION_MERCHANT_RELATIONSHIP` or `PriceProductFilterTransfer→priceDimension→idMerchantRelationship` is provided. |None | `Spryker\Zed\PriceProductMerchantRelationship\Communication\Plugin\PriceProduct`|
-| `MerchantRelationshipPriceDimensionAbstractWriterPlugin` | Enables saving product abstract prices to the `spy_price_product_merchant_relationship` table. | Expects `PriceProductTransfer.priceDemnsion.idMerchantRelationshop`, otherwise skips element. | `Spryker\Zed\PriceProductMerchantRelationship\Communication\Plugin\PriceProduct` |
-| `MerchantRelationshipPriceDimensionConcreteWriterPlugin` | Enables saving product concrete prices to the `spy_price_product_merchant_relationship` table. | Expects `PriceProductTransfer.priceDemnsion.idMerchantRelationshop`, otherwise skips element. | `Spryker\Zed\PriceProductMerchantRelationship\Communication\Plugin\PriceProduct` |
-| `MerchantRelationshipPriceProductDimensionExpanderStrategyPlugin` | Sets `PriceProductTransfer.PriceDimension.idMerchantRelationship` and `PriceProductTransfer.PriceDimension.name`. | None | `Spryker\Zed\PriceProductMerchantRelationship\Communication\Plugin\PriceProduct` |
-| `MerchantRelationshipPriceProductFilterPlugin` | Selects min prices from the MR prices available for the current customer (company business can be assigned for multiple MRs). | None | `Spryker\Service\PriceProductMerchantRelationship\Plugin\PriceProductExtension` |
-| `PriceProductMerchantRelationshipStorageDimensionPlugin` |Adds MR prices to the list of available prices for the current customer when they are read from Redis. | None | `Spryker\Client\PriceProductMerchantRelationshipStorage\Plugin\PriceProductStorageExtension`|
-| `MerchantRelationshipProductAbstractFormExpanderPlugin` | Adds select control to PIM (abstract products) where an admin can choose Merchant Relationship on the Prices tab to manage prices for a concrete Merchant Relationship. | None | `Spryker\Zed\PriceProductMerchantRelationshipGui\Communication\Plugin\ProductManagement` |
-| `MerchantRelationshipProductConcreteFormExpanderPlugin` | Adds select control to PIM (product variants) where an admin can choose Merchant Relationship on the Prices tab to manage prices for a concrete Merchant Relationship. | None | `Spryker\Zed\PriceProductMerchantRelationshipGui\Communication\Plugin\ProductManagement` |
-
-
-src/Pyz/Zed/ProductManagement/ProductManagementDependencyProvider.php
-
-```php
-
-
-
-
-
-src/Pyz/Zed/PriceProduct/PriceProductDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Service/PriceProduct/PriceProductDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Client/PriceProductStorage/PriceProductStorageDependencyProvider.php
-
-```php
-
-
-
-****
-{% info_block warningBox "Verification" %}
-Make sure that there is the **Merchant Price Dimension** drop-down in Zed UI on the Product Abstract and Concrete (variants
-{% endinfo_block %} edit page (on the Price & Tax tab). When you select some MR, the current page should be reloaded and prices table should display prices from the selected MR if they exist or an empty table is they do not exist.
Make sure that when you added/changed prices for some MR, they appear after sending the submit form and reloading the page.
Make sure that Redis keys are updated/created for this product and business units are assigned to the selected MR.)
-
-{% info_block warningBox "Verification" %}
-Make sure that a logged in user, who belongs to a company business unit and that business unit is assigned to some MR with specified prices, sees MR prices on the Catalog and on Product page.
Make sure that this user sees MIN price if their business unit is assigned to multiple MRs with different prices for the same product.
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/merchant-product-restrictions-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/merchant-product-restrictions-feature-integration.md
deleted file mode 100644
index 2f432a242a1..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/merchant-product-restrictions-feature-integration.md
+++ /dev/null
@@ -1,203 +0,0 @@
----
-title: Merchant Product Restrictions feature integration
-description: Merchant Product Restrictions allows setting access to particular products. This guide describes the process of integrating the feature into a project.
-last_updated: Nov 18, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/merchant-product-restrictions-feature-integration-201811
-originalArticleId: 750664b9-7a32-42b7-8c19-084f8044cc32
-redirect_from:
- - /v1/docs/merchant-product-restrictions-feature-integration-201811
- - /v1/docs/en/merchant-product-restrictions-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-|Product Lists |2018.11.0 |
-
-### 1) Install the required modules using Composer
-
-Run the following command(s) to install the required modules:
-```bash
-composer require spryker-feature/merchant-product-restrictions:"^2018.11.0" --update-with-dependencies
-```
-{% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
-{% endinfo_block %}
-
-
-### 2) Set up Database Schema
-Run the following commands to apply database changes, as well as generate entity and transfer changes:
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes have been applied by checking your database:
Database entity
Type
Event
spy_product_list.fk_merchant_relationship
column
created
-{% endinfo_block %}
-
-### 3) Import Data
-#### Import Merchant Relationship to Product Lists
-Prepare your data according to your requirements using our demo data:
-```yaml
-merchant_relation_key,product_list_key
-mr-008,pl-001
-mr-008,pl-002
-mr-008,pl-003
-mr-009,pl-004
-mr-010,pl-005
-mr-011,pl-006
-mr-011,pl-007
-mr-011,pl-00
-```
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| `merchant_relation_key` | mandatory| string | mr-008| Identifier of merchant relations. The merchant relations must exist already. |
-| `product_list_key` |mandatory | string | pl-001 | Identifier of product lists. The product lists must exist already. |
-Register the following plugin to enable data import:
-
-| Plugin | Specification | Prerequisites |Namespace |
-| --- | --- | --- | --- |
-|`MerchantRelationshipProductListDataImportPlugin` |Imports basic product list data into the database. |
Merchant relations must be imported first.
Product lists must be imported first.
| `Spryker\Zed\MerchantRelationshipProductListDataImport\Communication\Plugin` |
-
-
- src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import merchant-relationship-product-list
-```
-{% info_block warningBox "Verification" %}
-Make sure that the configured data are added to the `spy_product_list` table in the database.
-{% endinfo_block %}
-
-### 4) Set up Behaviour
-Activate the following plugins:
-
-| Plugin |Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-|`ProductListCustomerTransferExpanderPlugin` |
Expands the customer transfer object with their assigned product lists.
The product list information is based on the customer's merchant relationship.
Provides the merchant relationship product list owner type.
Provides selectable merchant relationship options to assign to product lists.
| None |`Spryker\Zed\MerchantRelationshipProductListGui\Communication\Plugin\ProductListGuiExtension` |
-|`MerchantRelationshipTableExpanderPlugin` | Provides table header, config and data extensions for product lists with merchant relationship owner type. | None| `Spryker\Zed\MerchantRelationshipProductListGui\Communication\Plugin\ProductListGuiExtension` |
-
-
-src/Pyz/Zed/Customer/CustomerDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/ProductListGui/ProductListGuiDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure that when creating or editing a product list in Zed, you can select the merchant relationship as an owner type and see the selected value in the list of product lists.
Also make sure that when a customer (with an assigned merchant relationship that has assigned product lists
-{% endinfo_block %} logs in, they see products only according to their product list restrictions.)
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/merchants-and-merchant-relations-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/merchants-and-merchant-relations-feature-integration.md
deleted file mode 100644
index 64c0b4737f4..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/merchants-and-merchant-relations-feature-integration.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Merchants and Merchant Relations feature integration
-last_updated: Apr 22, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/merchant-merchant-relations-feature-integration
-originalArticleId: 00856f61-a7c8-468b-9edf-c1895daddce0
-redirect_from:
- - /v1/docs/merchant-merchant-relations-feature-integration
- - /v1/docs/en/merchant-merchant-relations-feature-integration
----
-
-The Merchants and Merchant Relations feature is shipped with following modules:
-
-| Module | Description |
-| --- | --- |
-| [Merchant](https://github.com/spryker/spryker/tree/master/Bundles/Merchant) | Implements logic of Merchants (adding, editing, removal). |
-| [MerchantGui](https://github.com/spryker/spryker/tree/master/Bundles/MerchantGui) | Provides table with merchants along with the Create and Edit merchants pages in the Administration Interface. |
-| [MerchantRelationship](https://github.com/spryker/spryker/tree/master/Bundles/MerchantRelationship) | Implements logic of merchant relations. |
-| [MerchantRelationshipGui](https://github.com/spryker/spryker/tree/master/Bundles/MerchantRelationshipGui) | Provides a table with merchant relations along with the Create and Edit merchant relations pages in the Administration Interface. |
-| [MerchantDataImport](https://github.com/spryker/spryker/tree/master/Bundles/MerchantDataImport) | Implements an importer for merchants. |
-| [MerchantRelationshipDataImport](https://github.com/spryker/spryker/tree/master/Bundles/MerchantRelationshipDataImport) | Implements an importer for merchant relations. |
-
-To install the Merchants and Merchant relations feature, follow the steps below:
-
-1. Install necessary modules using composer:
-Update existing and install the required modules:
-
-```bash
-composer update "spryker/*" "spryker-shop/*"
-```
-
-```bash
-composer require spryker/company-business-unit-data-import:"^0.2.0" spryker/merchant:"^1.0.0" spryker/merchant-data-import:"^0.1.0" spryker/merchant-gui:"^1.0.0" spryker/merchant-relationship:"^1.0.0" spryker/merchant-relationship-data-import:"^0.1.0" spryker/merchant-relationship-gui:"^1.0.0" --update-with-dependencies
-```
-
-2. Run the commands:
-
-```bash
-console transfer:generate
-console propel:install
-navigation:build-cache
-```
-
-3. Add plugins to Zed `DataImportDependencyProvider`:
-
-| Module | Plugin | Description | Method in Dependency Provider |
-| --- | --- | --- | --- |
-| `DataImport` | `MerchantDataImportPlugin` | Imports merchants. | `getDataImporterPlugins` |
-| `DataImport` | `MerchantRelationshipDataImportPlugin` | Imports merchant relations. | `getDataImporterPlugins` |
-
-**src\Pyz\Zed\DataImport\DataImportDependencyProvider.php**
-
-```php
-...
-use Spryker\Zed\MerchantDataImport\Communication\Plugin\MerchantDataImportPlugin;
-use Spryker\Zed\MerchantRelationshipDataImport\Communication\Plugin\MerchantRelationshipDataImportPlugin;
-...
-protected function getDataImporterPlugins(): array
-{
- return [
- ...
- new MerchantDataImportPlugin(),
- new MerchantRelationshipDataImportPlugin(),
- ...
- ];
-}
-```
-
-_Last reivew date: Jul 9, 2018_
-
-[//]: # (by Valeriy Pravoslavny)
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/minimum-order-value-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/minimum-order-value-feature-integration.md
deleted file mode 100644
index f1e27f70950..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/minimum-order-value-feature-integration.md
+++ /dev/null
@@ -1,490 +0,0 @@
----
-title: Minimum Order Value feature integration
-description: The Minimum Order Value Feature allows setting a minimum threshold for customer's orders. The guide describes how to integrate the feature into your project.
-last_updated: Nov 21, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/minimum-order-value-feature-integration-201811
-originalArticleId: 7e69b682-ec56-446f-824c-863bab61e078
-redirect_from:
- - /v1/docs/minimum-order-value-feature-integration-201811
- - /v1/docs/en/minimum-order-value-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Cart | 2018.11.0 |
-|Checkout | 2018.11.0 |
-| Spryker Core |2018.11.0 |
-|Prices| 2018.11.0 |
-| Order Management | 2018.11.0 |
-
-### 1) Install the required modules using Composer
-Run the following command(s) to install the required modules:
-
-```bash
-composer require spryker-feature/order-threshold:"^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules have been installed:
Module
Expected Directory
`SalesOrderThreshold`
`vendor/spryker/sales-order-threshold`
`SalesOrderThresholdDataImport`
`vendor/spryker/sales-threshold-data-import`
`SalesOrderThresholdGui`
<`vendor/spryker/sales-threshold-gui`
-{% endinfo_block %}
-
-### 2) Set up Database Schema
-Run the following commands to apply database changes and generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes have been applied by checking your database:
Database entity
Type
`spy_sales_order_threshold`
table
`spy_sales_order_threshold_tax_set`
table
`spy_sales_order_threshold_type`
table
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes in transfer objects have been applied:
-{% endinfo_block %}
-
-### 3) Add Translations
-Append glossary for core feature of shopping lists:
-
-
-src/data/import/glossary.csv
-
-```yaml
-sales-order-threshold.strategy.soft-minimum-threshold-fixed-fee,Zuschlag,de_DE
-sales-order-threshold.strategy.soft-minimum-threshold-fixed-fee,Surcharge,en_US
-sales-order-threshold.strategy.soft-minimum-threshold-flexible-fee,Zuschlag,de_DE
-sales-order-threshold.strategy.soft-minimum-threshold-flexible-fee,Surcharge,en_US
-```
-
-
-
-Demo data glossary keys are as follows:
-
-src/data/import/glossary.csv
-
-```yaml
-sales-order-threshold.hard-minimum-threshold.de.eur.message,"You should add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold. You can't proceed with checkout",en_US
-sales-order-threshold.hard-minimum-threshold.de.eur.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können nicht mit der Bestellung fortfahren",de_DE
-sales-order-threshold.hard-minimum-threshold.de.chf.message,"You should add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold. You can't proceed with checkout",en_US
-sales-order-threshold.hard-minimum-threshold.de.chf.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können nicht mit der Bestellung fortfahren",de_DE
-sales-order-threshold.soft-minimum-threshold.de.eur.message,"You need to add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold, but if you want can proceed to checkout.",en_US
-sales-order-threshold.soft-minimum-threshold.de.eur.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können trotzdem weiter zur Kasse.",de_DE
-sales-order-threshold.soft-minimum-threshold.de.chf.message,"You need to add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold, but if you want can proceed to checkout.",en_US
-sales-order-threshold.soft-minimum-threshold.de.chf.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können trotzdem weiter zur Kasse.",de_DE
-```
-
-
-
-### 4) Import Data
-#### Adding Infrastructural Data
-
-| Plugin |Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-|`SalesOrderThresholdTypeInstallerPlugin` | Installs sales order threshold types. |None| `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Installer` |
-
-
-src/Pyz/Zed/Installer/InstallerDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to execute registered installer plugins and install infrastructural data:
-
-```bash
-console setup:init-db
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that sales order threshold types are added to the `spy_sales_order_threshold_type` table in the database.
-{% endinfo_block %}
-
-#### Importing Sales Order Thresholds
-
-{% info_block infoBox "Info" %}
-The following imported entities will be used as sales order thresholds in Spryker OS.
-{% endinfo_block %}
-
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/sales-order-threshold-data-import/data/import/sales_order_threshold.csv
-
-```yaml
-store,currency,threshold_type_key,threshold,fee,message_glossary_key
-DE,EUR,hard-minimum-threshold,40000,,
-DE,EUR,soft-minimum-threshold,100000,,
-DE,CHF,hard-minimum-threshold,120000,,
-DE,CHF,soft-minimum-threshold,200000,,
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| `store` |mandatory |string | DE | Store for which the sales order threshold will be applied. |
-| `currency` |mandatory | string | EUR | Currency for which the sales order threshold will be applied. |
-| `threshold_type_key` | mandatory |string | soft-minimum-threshold | Threshold type that would be imported; it has to be one of the keys of `configured/installed` plugins from the above step. |
-| `threshold` | mandatory | int, in cents | 1000 | Amount (in cents) that will need to be met by an order to pass the threshold check. |
-| `fee` | optional | integer, in cents| 50 |Amount in cents (or the percentage of order subtotal that will be calculated) of the fee that will be added automatically if the order threshold is not met. |
-| `message_glossary_key` | optional | string | sales-order-threshold.hard-minimum-threshold.de.eur.message | Glossary key that will be used to show a notification message to customers if they did not meet the order threshold. |
-
-Register the following plugin to enable data import:
-
-| Plugin | Specification |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `SalesOrderThresholdDataImportPlugin` | Imports demo sales order threshold data into a database. |None| `Spryker\Zed\SalesOrderThresholdDataImport\Communication\Plugin\DataImport`|
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import sales-order-threshold
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the configured data is added to the `spy_sales_order_threshold` table in the database.
-{% endinfo_block %}
-
-#### Importing Sales Order Threshold Taxes
-Add the following data to the imported tax sets to have Sales Order Threshold expenses tax sets.
-
-
-data/import/tax.csv
-
-```yaml
-MOV Taxes,Austria,Austria Standard,20
-MOV Taxes,Belgium,Belgium Standard,21
-MOV Taxes,Bulgaria,Bulgaria Standard,20
-MOV Taxes,Czech Republic,Czech Republic Standard,21
-MOV Taxes,Denmark,Denmark Standard,25
-MOV Taxes,France,France Standard,20
-MOV Taxes,Germany,Germany Standard,19
-MOV Taxes,Hungary,Hungary Standard,27
-MOV Taxes,Italy,Italy Standard,22
-MOV Taxes,Luxembourg,Luxembourg Standard,17
-MOV Taxes,Netherlands,Netherlands Standard,21
-MOV Taxes,Poland,Poland Standard,23
-MOV Taxes,Romania,Romania Standard,20
-MOV Taxes,Slovakia,Slovakia Standard,20
-MOV Taxes,Slovenia,Slovenia Standard,22
-```
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import:tax
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the configured data is added to the `spy_tax_set` and `spy_tax_rate` table in the database.
-{% endinfo_block %}
-
-### 5) Set up Behavior
-Enable the behavior by registering the following plugins:
-
-| Plugin |Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `RemoveSalesOrderThresholdExpenseCalculatorPlugin` |Removes order expenses added by failing to meet the threshold. | None | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Calculation` |
-| `AddSalesOrderThresholdExpenseCalculatorPlugin` | Calculates and adds extra expenses to an order if the threshold is not met. | Expects Items to be in `QuoteTransfer` as well as calculated `QuoteTransfer::SubTotal`. Also, expects `QuoteTransfer` to contain a Store and a Currency. | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Calculation` |
-| `AddThresholdMessagesCartPreReloadItemsPlugin` | Adds messages attached to thresholds that were not met by an order to notify the customer. | Expects Items to be in `QuoteTransfer` as well as calculated `QuoteTransfer::SubTotal`. Also, expects `QuoteTransfer` to contain a Store and a Currency. | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Cart` |
-| `SalesOrderThresholdCheckoutPreConditionPlugin` | Blocks checkout if the threshold of a hard type was not met in an order. |Expects Items to be in `QuoteTransfer` as well as calculated `QuoteTransfer::SubTotal`. Also, expects `QuoteTransfer` to contain a Store and a Currency. | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Checkout` |
-| `SalesOrderThresholdExpenseSavePlugin` | Saves the threshold added fees as expenses to the order in the database. |None | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Checkout` |
-|`GlobalSalesOrderThresholdDataSourceStrategyPlugin` | Provides the ability to fetch and apply thresholds globally across all customers. | Expects Items to be in `QuoteTransfer` as well as calculated `QuoteTransfer::SubTotal`. Also, expects `QuoteTransfer` to contain a Store and a Currency. | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\SalesOrderThresholdExtension` |
-| `HardMinimumThresholdStrategyPlugin` | Strategy that provides a hard threshold type which fails if the order value is less than the threshold. | None | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Strategy` |
-| `SoftMinimumThresholdWithFixedFeeStrategyPlugin` | Strategy that provides a soft threshold type which fails if the order value is less than the threshold; it also sets a fee that wiil be saved in the database as a fee. | None | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Strategy` |
-|`SoftMinimumThresholdWithFlexibleFeeStrategyPlugin` | Strategy that provides a soft threshold type which fails if the order value is less than the threshold; it also calculates a fee to be a percentage of the order subtotal. | None | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Strategy`|
-| `SoftMinimumThresholdWithMessageStrategyPlugin`| Strategy that provides a soft threshold type which fails if the order value is less than the threshold. |None | `Spryker\Zed\SalesOrderThreshold\Communication\Plugin\Strategy`|
-
-
-src/Pyz/Zed/Calculation/CalculationDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/Cart/CartDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/SalesOrderThreshold/SalesOrderThresholdDependencyProvider.php
-
-```php
-
-
-
-## Install feature frontend
-### Prerequisites
-Please overview and install the necessary features before beginning the integration step.
-
-| Name | Version |
-| --- | --- |
-| Spryker Core E-commerce | 2018.11.0 |
-
-### 1) Install the required modules using Composer
-Run the following command(s) to install the required modules:
-
-```bash
-composer require spryker-feature/order-threshold:"^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
-{% endinfo_block %}
-
-### 2) Add Translations
-Append glossary according to your configuration:
-
-
-src/data/import/glossary.csv
-
-```yaml
-sales-order-threshold.expense.name,Zuschlag,de_DE
-sales-order-threshold.expense.name,Surcharge,en_US
-sales-order-threshold.strategy.soft-minimum-threshold-fixed-fee,Zuschlag,de_DE
-sales-order-threshold.strategy.soft-minimum-threshold-fixed-fee,Surcharge,en_US
-sales-order-threshold.strategy.soft-minimum-threshold-flexible-fee,Zuschlag,de_DE
-sales-order-threshold.strategy.soft-minimum-threshold-flexible-fee,Surcharge,en_US
-sales-order-threshold.hard-minimum-threshold.de.eur.message,"You should add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold. You can't proceed with checkout",en_US
-sales-order-threshold.hard-minimum-threshold.de.eur.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können nicht mit der Bestellung fortfahren",de_DE
-sales-order-threshold.hard-minimum-threshold.de.chf.message,"You should add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold. You can't proceed with checkout",en_US
-sales-order-threshold.hard-minimum-threshold.de.chf.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können nicht mit der Bestellung fortfahren",de_DE
-sales-order-threshold.soft-minimum-threshold.de.eur.message,"You need to add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold, but if you want can proceed to checkout.",en_US
-sales-order-threshold.soft-minimum-threshold.de.eur.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können trotzdem weiter zur Kasse.",de_DE
-sales-order-threshold.soft-minimum-threshold.de.chf.message,"You need to add items for {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} to pass a recommended threshold, but if you want can proceed to checkout.",en_US
-sales-order-threshold.soft-minimum-threshold.de.chf.message,"Sie sollten Waren im Wert von {% raw %}{{{% endraw %}threshold{% raw %}}}{% endraw %} dem Warenkorb hinzufügen um die empfohlene Schwelle zu erreichen. Sie können trotzdem weiter zur Kasse.",de_DE
-```
-
-
-
-### 3) Set up Widgets
-Enable global widgets:
-
-| Widget |Description | Namespace |
-| --- | --- | --- |
-|`SalesOrderThresholdWidget` | Shows the expenses added to the quote transfer related to the sales order threshold. | `SprykerShop\Yves\SalesOrderThresholdWidget\Widget` |
-
-
-src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
-```php
-
-
-
-Run the following command to enable Javascript and CSS changes:
-
-```bash
-console frontend:yves:build
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following widgets have been registered:
Module
Test
`SalesOrderThresholdWidget`
Create a cart with a subtotal that does not meet the defined sales order threshold and you will see the expense automatically added to the cart.
-{% endinfo_block %}
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/multi-store-cms-block-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/multi-store-cms-block-feature-integration.md
deleted file mode 100644
index 078e5df99ac..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/multi-store-cms-block-feature-integration.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: Multi-store CMS Block feature integration
-description: The guide describes the process of installing multi-store CMS Blocks into the project.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/cms-block-multistore-feature-integration
-originalArticleId: 1068a0ec-b65f-47f9-a02b-7f18a3af335e
-redirect_from:
- - /v1/docs/cms-block-multistore-feature-integration
- - /v1/docs/en/cms-block-multistore-feature-integration
-related:
- - title: CMS Block
- link: docs/scos/user/features/page.version/cms-feature-overview/cms-blocks-overview.html
- - title: Migration Guide - CMS Block
- link: docs/pbc/all/content-management-system/page.version/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-cmsblock-module.html
- - title: Migration Guide - CMS Block Collector
- link: docs/pbc/all/content-management-system/{{page.version}}/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-migration-guide-cms-block-collector.html
- - title: Migration Guide - CMS Block GUI
- link: docs/pbc/all/content-management-system/{{page.version}}/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-cmsblockgui-module.html
----
-
-To prepare your project to work with multi-store CMS Blocks, the following minimum module versions are required:
-
-
-|Module | Version |
-| --- | --- |
-| `spryker/cms-block` | 2.0.0 |
-| `spryker/cms-block-collector` |2.0.0 |
-| `spryker/cms-block-gui` | 2.0.0 |
-| `spryker/store` | 1.2.0 |
-|`spryker/kernel` | 3.13.0 |
-| `spryker/collector`|6.0.0 |
-| `spryker/touch` | 4.0.0 |
-
-To enable multi-store management within the CMS Block Zed Admin UI, override `Spryker\Zed\Store\StoreConfig::isMultiStorePerZedEnabled()` in your project to return `true`.
-
-This will enable the store management inside the CMS Block Zed Admin UI.
-
-**Example override**
-
-```php
-
-
- [//]: # (by Karoly Gerner, Anastasija Datsun)
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/multi-store-products-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/multi-store-products-feature-integration.md
deleted file mode 100644
index 75e710b44fd..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/multi-store-products-feature-integration.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: Multi-Store Products feature integration
-description: The guide describes the process of installing the Multi-Store Products into your project.
-last_updated: Jul 29, 2020
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-store-relation-feature-integration
-originalArticleId: 091f07e0-bd44-4f13-b936-86b6c03f91c1
-redirect_from:
- - /v1/docs/product-store-relation-feature-integration
- - /v1/docs/en/product-store-relation-feature-integration
-related:
- - title: Migration Guide - Collector
- link: docs/scos/dev/module-migration-guides/migration-guide-collector.html
- - title: Migration Guide - Touch
- link: docs/scos/dev/module-migration-guides/migration-guide-touch.html
- - title: Migration Guide - Product
- link: docs/scos/dev/module-migration-guides/migration-guide-product.html
- - title: Migration Guide - ProductManagement
- link: docs/scos/dev/module-migration-guides/migration-guide-productmanagement.html
----
-
-By default abstract products are available in all stores. This feature provides additional configuration when:
-
-* you have multiple stores
-* you want to manage the appearance of abstract products per store.
-
-## Prerequisites
-To prepare your project to work with multi-store abstract products:
-
-1. Update/install `spryker/collector` to at least 6.0.0 version. You can find additional help for feature migration in [Migration Guide - Collector](/docs/scos/dev/module-migration-guides/migration-guide-collector.html).
-2. Update/install `spryker/touch` to at least 4.0.0 version. You can find additional help for feature migration in [_Migration Guide - Touch_](/docs/scos/dev/module-migration-guides/migration-guide-touch.html).
-3. Update/install `spryker/store` to at least 1.3.0 version.
-4. Update/install `spryker/product` to at least 6.0.0 version. You can find additional help for feature migration in [Migration Guide - Product](/docs/scos/dev/module-migration-guides/migration-guide-product.html).
-5. If you want to have Zed Admin UI support for the multi-store abstract product management:
-* Update/install `spryker/productmanagement` to at least 0.10.0 version. You can find additional help for feature migration in [Migration Guide - ProductManagement](/docs/scos/dev/module-migration-guides/migration-guide-productmanagement.html).
-* Override `Spryker\Zed\Store\StoreConfig::isMultiStorePerZedEnabled()` in your project to return `true`. This will enable the store management inside the Product Information Management (PIM) Zed Admin UI.
-
-
- Example override
-
-
-```php
-
-
-
-* You should now be able to use the Product Information Management (PIM) Zed Admin UI to manage abstract product store relation.
-
-Check out our [Legacy Demoshop implementation](https://github.com/spryker/demoshop) for implementation example and idea.
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-feature-integration.md
deleted file mode 100644
index 3ddb0322e4b..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-feature-integration.md
+++ /dev/null
@@ -1,634 +0,0 @@
----
-title: Multiple Carts feature integration
-description: Multiple Carts allows customers to manage multiple shopping carts in one account. The guide describes how to integrate the feature into your project.
-last_updated: Nov 25, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/multiple-carts-feature-integration-201811
-originalArticleId: b67b5107-0ec1-4a8a-93ba-887e5885a314
-redirect_from:
- - /v1/docs/multiple-carts-feature-integration-201811
- - /v1/docs/en/multiple-carts-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-| Name | Version |
-| --- | --- |
-| Cart | 2018.11.0 |
-| Persistent Cart | 2018.11.0 |
-| Spryker Core | 2018.11.0 |
-### 1) Install the required modules using Composer
-Run the following command(s) to install the required modules:
-```bash
-composer require spryker-feature/multiple-carts: "^2018.11.0" --update-with-dependencies
-```
- {% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
Module
Expected directory
`MultiCart`
`vendor/spryker/multi-cart`
`MultiCartDataImport`
`vendor/spryker/multi-cart-data-import`
-{% endinfo_block %}
-
-### 2) Set up Database Schema and Transfer Objects
-Run the following commands to apply database changes and generate entity and transfer changes:
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-{% info_block warningBox "Verification" %}
-Make sure that the following changes by checking your database:
Database entity
Type
Event
`spy_quote.name`
column
created
`spy_quote.is_default`
column
created
`spy_quote.key`
column
created
`spy_quote-unique-name-customer_reference`
index
created
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes in transfer objects:
-{% endinfo_block %}
-
-### 3) Add Translations
-Append glossary for feature:
-
- src/data/import/glossary.csv
-
- ```yaml
-multi_cart.cart.set_default.success,"Cart '%quote%' was successfully set as active.",en_US
-multi_cart.cart.set_default.success,"Warenkorb '%quote%' wurde erfolgreich auf aktiv gesetzt.",de_DE
-```
-
-
-
- Run the following console command to import data:
- ```bash
- console data:import glossary
- ```
- {% info_block warningBox "Verification" %}
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-{% endinfo_block %}
-
- ### 4) Import Data
- #### Import multi carts
-
-{% info_block infoBox "Info" %}
-The following imported entities will be used as carts in Spryker OS.
-{% endinfo_block %}
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/spryker/multi-cart-data-import/data/import/multi_cart.csv
-
- ```yaml
-key,name,customer_reference,store,is_default,quote_data
-quote-1,My Cart,DE--1,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-2,My Cart,DE--2,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-3,My Cart,DE--3,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-4,My Cart,DE--4,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-5,My Cart,DE--5,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-6,My Cart,DE--6,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-7,My Cart,DE--7,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-8,My Cart,DE--8,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-9,My Cart,DE--9,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-10,My Cart,DE--10,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-11,My Cart,DE--11,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-12,My Cart,DE--12,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-13,My Cart,DE--13,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-14,My Cart,DE--14,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-15,My Cart,DE--15,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-16,My Cart,DE--16,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-17,My Cart,DE--17,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-18,My Cart,DE--18,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-19,My Cart,DE--19,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-20,My Cart,DE--20,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
-quote-21,My Cart,DE--21,DE,1,"{""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""}"
- ```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| key | mandatory | string | quote-19 | The key that will identify the quote to be referred in future imports. |
-| name | mandatory | string | My Cart | The name of the quote. |
-| customer_reference | mandatory | string | DE--21 | The customer reference of the owner of the quote. |
-| store | mandatory | string | DE | Store name that the quote relates to. |
-| is_default | mandatory | string | 1 | Flag to show that the quote is default for customer. |
-| quote_data | mandatory | string | {""currency"":{""code"":""EUR"",""name"":""Euro"",""symbol"":""\u20ac"",""isDefault"":true,""fractionDigits"":2},""priceMode"":""GROSS_MODE""} | Quote data params serialized as json. |
-
-Register the following plugin to enable data import:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `MultiCartDataImportPlugin` | Imports customer's quotes to database. | Make sure that customers were already imported. | `Spryker\Zed\MultiCartDataImport\Communication\Plugin` |
-
-
- src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```bash
-console data:import multi-cart
-```
-
-{% info_block warningBox "Verification" %}
-Open `spy_quote` and make sure that all data was imported.
-{% endinfo_block %}
-
-### 5) Set up Behavior
-
-{% info_block infoBox "Info" %}
-This feature requires database storage strategy enabled in quote module.
-{% endinfo_block %}
-
-#### Setup Quote integration
-
-Register following plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `AddSuccessMessageAfterQuoteCreatedPlugin` | Adds success message to messenger after. | | `Spryker\Zed\MultiCart\Communication\Plugin` |
-| `AddDefaultNameBeforeQuoteSavePlugin` | Set default quote name if quote does not have name. | | `Spryker\Zed\MultiCart\Communication\Plugin` |
-| `ResolveQuoteNameBeforeQuoteCreatePlugin` | Resolve quote name to make it unique for customer before quote save. | If `AddDefaultNameBeforeQuoteSavePlugin` used, this plugin should be added after. | `Spryker\Zed\MultiCart\Communication\Plugin` |
-| `DeactivateQuotesBeforeQuoteSavePlugin` | Mark quote as default.
-Makes SQL request to mark all customers quote as not default. | | `Spryker\Zed\MultiCart\Communication\Plugin` |
-| `InitDefaultQuoteCustomerQuoteDeleteAfterPlugin` | Activates any customer quote, if active customer quote was removed. | | `Spryker\Zed\MultiCart\Communication\Plugin` |
-| `NameQuoteTransferExpanderPlugin` | Set default quote name if quote does not have name. Default guest quote name will be used for guest customer quotes. | | Spryker\Client\MultiCart\Plugin |
-
-
-src/Pyz/Zed/Quote/QuoteDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Client/Quote/QuoteDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure that customer carts have unique names. Make sure if customer creates cart with name that already used in another cart of the customer, cart name will be extended with iteratable suffix.
-{% endinfo_block %}
-
-{% info_block infoBox "Example:" %}
-If Shopping cart already exists: Shopping cart → Shopping cart 1 Shopping cart → Shopping cart 2
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that customer has only one active cart at ones. If customer updates inactive cart it becomes active, previous active cart becomes inactive.
-{% endinfo_block %}
-
-#### Set up Persistent Cart Integration
-Register the following plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `CustomerCartQuoteResponseExpanderPlugin` | Adds customer quote collection to quote response transfer after cart operation handling. Replace quote with active quote if it exist. | |`Spryker\Zed\MultiCart\Communication\Plugin` |
-| `SaveCustomerQuotesQuoteUpdatePlugin` | Extracts Customer Quote Collection from quote response object and saves them to customer session. | | `Spryker\Client\MultiCart\Plugin` |
-| `DefaultQuoteUpdatePlugin` | Finds Customer Default Quote in customer quote collection and saves it to customer session. | | `Spryker\Client\MultiCart\Plugin` |
-| `QuoteSelectorPersistentCartChangeExpanderPlugin` | Takes quote ID form parameters and replaces it in quote change request. | | `Spryker\Client\MultiCart\Plugin` |
-
-
-src/Pyz/Client/PersistentCart/PersistentCartDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure that adding items to cart will update customer's cart list in multi cart session.
-{% endinfo_block %}
-
-#### Set up Customer Integration
-Register following plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `GuestCartSaveCustomerSessionSetPlugin` | Executed after customer added to session. Saves guest customer quote to database if it is not empty. Takes active customer quote from database if guest cart is empty. | Should be added before `GuestCartUpdateCustomerSessionSetPlugin`. | `Spryker\Client\MultiCart\Plugin` |
-
-
-src/Pyz/Client/Customer/CustomerDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure that not empty guest cart will be saved in database in customer login.
-{% endinfo_block %}
-
-
-
-## Install feature frontend
-### Prerequisites
-Please overview and install the necessary features before beginning the integration step.
-
-| Name | Version |
-| --- | --- |
-| Product | 2018.11.0 |
-| Cart | 2018.11.0 |
-| Persistent Cart | 2018.11.0 |
-| Customer Account Management | 2018.11.0 |
-
-### 1) Install the required modules using Composer
-Run the following command(s) to install the required modules:
-```bash
-composer require spryker-feature/multiple-carts: "^2018.11.0" --update-with-dependencies
-```
-{% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
Module
Expected directory
MultiCartPage
`vendor/spryker-shop/multi-cart-page`
MultiCartWidget
`vendor/spryker-shop/multi-cart-widget`
-{% endinfo_block %}
-
-### 2) Add Translations
-Append glossary according to your configuration:
-
-src/data/import/glossary.csv
-
-```yaml
-page.multi_cart.shopping_cart.list.title,Shopping cart,en_US
-page.multi_cart.shopping_cart.list.title,Einkaufswagen,de_DE
-page.multi_cart.shopping_cart.list.create_link,Create,en_US
-page.multi_cart.shopping_cart.list.create_link,Erstellen,de_DE
-page.multi_cart.shopping_cart.list.label.name,Name,en_US
-page.multi_cart.shopping_cart.list.label.name,Name,de_DE
-page.multi_cart.shopping_cart.list.label.num_of_products,Number of products,en_US
-page.multi_cart.shopping_cart.list.label.num_of_products,Anzahl der Produkte,de_DE
-page.multi_cart.shopping_cart.list.label.prices,Prices,en_US
-page.multi_cart.shopping_cart.list.label.prices,Preise,de_DE
-page.multi_cart.shopping_cart.list.label.total,Total,en_US
-page.multi_cart.shopping_cart.list.label.total,Gesamt,de_DE
-page.multi_cart.shopping_cart.list.label.actions,Actions,en_US
-page.multi_cart.shopping_cart.list.label.actions,Aktionen,de_DE
-page.multi_cart.shopping_cart.list.link.edit_name,Edit name,en_US
-page.multi_cart.shopping_cart.list.link.edit_name,Namen bearbeiten,de_DE
-page.multi_cart.shopping_cart.list.link.duplicate,Duplicate,en_US
-page.multi_cart.shopping_cart.list.link.duplicate,Duplikat,de_DE
-page.multi_cart.shopping_cart.list.link.delete,Delete,en_US
-page.multi_cart.shopping_cart.list.link.delete,Löschen,de_DE
-page.multi_cart.shopping_cart.list.label.item,"Item",en_US
-page.multi_cart.shopping_cart.list.label.item,"Artikel",de_DE
-page.multi_cart.shopping_cart.list.label.items,"Items",en_US
-page.multi_cart.shopping_cart.list.label.items,"Artikel",de_DE
-customer.account.shopping_cart.list.title,Manage Shopping carts,en_US
-customer.account.shopping_cart.list.title,Verwalten Sie Einkaufswagen,de_DE
-page.multi_cart.shopping_cart.list.label.access,Access,en_US
-page.multi_cart.shopping_cart.list.label.access,Zugriff,de_DE
-page.multi_cart.shopping_cart.update.title,Edit,en_US
-page.multi_cart.shopping_cart.update.title,Bearbeiten,de_DE
-page.multi_cart.shopping_cart.create.title,Create,en_US
-page.multi_cart.shopping_cart.create.title,Erstellen,de_DE
-multi_cart.form.create_cart,"Add new cart",en_US
-multi_cart.form.create_cart,"Füge einen neuen Warenkorb hinzu",de_DE
-multi_cart.form.quote.name,"Cart Name",en_US
-multi_cart.form.quote.name,"Name des Einkaufswagens",de_DE
-multi_cart.form.edit_cart,"Change Name",en_US
-multi_cart.form.edit_cart,"Namen ändern",de_DE
-multi_cart.form.edit_cart_information,"Edit Cart information",en_US
-multi_cart.form.edit_cart_information,"Einkaufswageninformationen bearbeiten",de_DE
-multi_cart.cart.set_default.success,"Cart '%quote%' was successfully set as active.",en_US
-multi_cart.cart.set_default.success,"Warenkorb '%quote%' wurde erfolgreich auf aktiv gesetzt.",de_DE
-multi_cart_page.cart_clear.success,"Cart was successfully cleared",en_US
-multi_cart_page.cart_clear.success,"Einkaufswagen wurde erfolgreich gelöscht",de_DE
-multi_cart_page.cart_delete_confirmation.warning,Warning,en_US
-multi_cart_page.cart_delete_confirmation.warning,Warnung,de_DE
-multi_cart_page.cart_delete_confirmation.trying_to_delete,You are trying to delete Cart,en_US
-multi_cart_page.cart_delete_confirmation.trying_to_delete,Sie versuchen den Warenkorb zu löschen,de_DE
-multi_cart_page.cart_delete_confirmation.shared_with,It is shared with the following users,en_US
-multi_cart_page.cart_delete_confirmation.shared_with,Der Warenkorb ist mit den folgenden Personen geteilt,de_DE
-multi_cart_page.cart_delete_confirmation.from_all_of_them,It will be deleted from all of them,en_US
-multi_cart_page.cart_delete_confirmation.from_all_of_them,Der Warenkorb wird für alle Nutzer gelöscht,de_DE
-multi_cart_page.cart_delete_confirmation.cancel,Cancel,en_US
-multi_cart_page.cart_delete_confirmation.cancel,Abbrechen,de_DE
-multi_cart_page.cart_delete_confirmation.delete,Delete,en_US
-multi_cart_page.cart_delete_confirmation.delete,Löschen,de_DE
-multi_cart_page.cart_delete_confirmation.breadcrumbs.shopping_carts,Shopping carts,en_US
-multi_cart_page.cart_delete_confirmation.breadcrumbs.shopping_carts,Warenkörbe,de_DE
-multi_cart_widget.cart.cart_name,"Cart Name",en_US
-multi_cart_widget.cart.cart_name,"Name des Einkaufswagens",de_DE
-multi_cart_widget.cart.add,"Create New Cart",en_US
-multi_cart_widget.cart.add,"Neuen Warenkorb erstellen",de_DE
-multi_cart_widget.cart.action.change_name,"Change Name",en_US
-multi_cart_widget.cart.action.change_name,"Namen ändern",de_DE
-multi_cart_widget.cart.action.duplicate,"Duplicate",en_US
-multi_cart_widget.cart.action.duplicate,"Duplikat",de_DE
-multi_cart_widget.cart.action.clear,"Clear cart",en_US
-multi_cart_widget.cart.action.clear,"Leerer Warenkorb",de_DE
-multi_cart_widget.cart.action.delete,"Delete cart",en_US
-multi_cart_widget.cart.action.delete,"Warenkorb löschen",de_DE
-multi_cart_widget.cart.action.view,"View details",en_US
-multi_cart_widget.cart.action.view,"Warenkorb ansehen",de_DE
-multi_cart_widget.cart.action.set_default,"Set active",en_US
-multi_cart_widget.cart.action.set_default,"Aktiv setzen",de_DE
-multi_cart_widget.cart.default,"Active",en_US
-multi_cart_widget.cart.default,"Aktiv",de_DE
-multi_cart_widget.cart.item,"Item",en_US
-multi_cart_widget.cart.item,"Artikel",de_DE
-multi_cart_widget.cart.items,"Items",en_US
-multi_cart_widget.cart.items,"Artikel",de_DE
-multi_cart_widget.cart.view_all,"View all carts",en_US
-multi_cart_widget.cart.view_all,"Alle Warenkörbe anzeigen",de_DE
-multi_cart_widget.cart.cart,"Cart",en_US
-multi_cart_widget.cart.cart,"Warenkorb",de_DE
-multi_cart_widget.cart.carts,"Carts",en_US
-multi_cart_widget.cart.carts,"Warenkorb",de_DE
-multi_cart_widget.cart.list,"Cart List",en_US
-multi_cart_widget.cart.list,"Warenkorb-Liste",de_DE
-multi_cart_widget.cart.status,"Status",en_US
-multi_cart_widget.cart.status,"Status",de_DE
-multi_cart_widget.cart.sub_total,"Sub Total",en_US
-multi_cart_widget.cart.sub_total,"Zwischensumme",de_DE
-multi_cart_widget.cart.actions,"Actions",en_US
-multi_cart_widget.cart.actions,"Aktionen",de_DE
-multi_cart_widget.cart.created.success,"Cart '%quoteName%' was created successfully",en_US
-multi_cart_widget.cart.created.success,"Warenkorb '%quoteName%' wurde erfolgreich erstellt",de_DE
-multi_cart_widget.cart.updated.success,"Cart updated successfully",en_US
-multi_cart_widget.cart.updated.success,"Einkaufswagen wurde erfolgreich aktualisiert",de_DE
-multi_cart_widget.cart.was-deleted-before,Dieser Warenkorb wurde bereits gelöscht,de_DE
-multi_cart_widget.cart.was-deleted-before,This cart was already deleted,en_US
-```
-
-
-
-Run the following console command to import data:
-```bash
-console data:import glossary
-```
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-{% endinfo_block %}
-### 3) Enable Controllers
-#### Controller Provider List
-Register controller provider(s) to Yves application:
-
-| Provider | Namespace | Enabled Controller | Controller specification |
-| --- | --- | --- | --- |
-| `MultiCartPageControllerProvider` | `SprykerShop\Yves\MultiCartPage\Plugin\Provider` | `MultiCartController` | Provides functionality to manage multi carts. |
-
-
-src/Pyz/Yves/ShopApplication/YvesBootstrap.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Verify the changes by opening the customer cart list page with a logged in customer on `http://mysprykershop.com/multi-cart/`
-{% endinfo_block %}
-
-### 4) Set up Widgets
-Register the following global widgets:
-
-| Widget | Description | Namespace |
-| --- | --- | --- |
-| `AddToMultiCartWidget` | Shows cart list for add to cart functionality. | `SprykerShop\Yves\MultiCartWidget\Widget` |
-| `CartOperationsWidget` | Shows multi cart functionalities in cart page. | `SprykerShop\Yves\MultiCartWidget\Widget` |
-| `MiniCartWidget` | Shows Mini cart in header. | `SprykerShop\Yves\MultiCartWidget\Widget` |
-| `MultiCartMenuItemWidget` | Shows link to cart list page in customer account navigation. | `SprykerShop\Yves\MultiCartWidget\Widget` |
-
-
-src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
-```php
-
-
-
-Run the following command to enable Javascript and CSS changes:
-```bash
-console frontend:yves:build
-```
-{% info_block warningBox "Verification" %}
-Make sure that the following widgets were registered:
Module
Test
`AddToMultiCartWidget`
Go to the product detail page. A shopping cart list should be added to the cart form.
`CartOperationsWidget`
Go to the cart overview page and see a title with the cart name and the Clear all button.
`MiniCartWidget`
Minicart with all customer's carts should be in the header.
`MultiCartMenuItemWidget`
Go to the customer account overview page. A shopping cart link should be in the customer navigation links.
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-quick-order-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-quick-order-feature-integration.md
deleted file mode 100644
index ee67df853d7..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-quick-order-feature-integration.md
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: Multiple Carts- Quick Order feature integration
-description: The Quick Order Feature allows ordering products by entering SKU and quantity in one page. The guide describes how to integrate the feature into your project.
-last_updated: Nov 25, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/multiple-carts-quick-order-integration-201811
-originalArticleId: 0296c2ce-7046-4f07-b5bb-e5642ff90935
-redirect_from:
- - /v1/docs/multiple-carts-quick-order-integration-201811
- - /v1/docs/en/multiple-carts-quick-order-integration-201811
----
-
-## Install Feature Core
-
-### Prerequisites
-
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Multiple Carts | 2018.11.0 |
-| Quick Add To Cart | 2018.11.0 |
-| Spryker Core | 2018.11.0 |
-
-### 1) Set up Behavior
-
-Register the following plugin:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `QuickOrderQuoteNameExpanderPlugin` | Adds a default quick order name and add it to add item request. | | `Spryker\Client\MultiCart\Plugin` |
-
-
- src/Pyz/Client/PersistentCart/PersistentCartDependencyProvider.php
-
- ```php
-
-
-
-{% info_block warningBox "Verification" %}
-If items have been added to the cart with param `createOrder`, a new customer cart must be created with the name "Quick order {date of creation}".
-{% endinfo_block %}
-
-## Install feature frontend
-
-### Prerequisites
-
-Please overview and install the necessary features before beginning the integration step.
-
-| Name | Version |
-| --- | --- |
-| Multiple Carts | 2018.11.0 |
-| Quick Add To Cart | 2018.11.0 |
-| Spryker Core | 2018.11.0 |
-
-### 1) Set up Widgets
-
-Register the following global widget:
-
-| Widget | Description | Namespace |
-| --- | --- | --- |
-| `QuickOrderPageWidget` | Shows a cart list in the quick order page. | `SprykerShop\Yves\MultiCartWidget\Widget` |
-
-
-src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
-```php
-
-
-
-Run the following command to enable Javascript and CSS changes:
-
-{% info_block warningBox "Verification" %}
-Make sure that the following widgets have been registered:
Module
Test
`QuickOrderPageWidget`
Go to the quick order page. A shopping cart list should be added to the Add to cart form.
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-reorder-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-reorder-feature-integration.md
deleted file mode 100644
index eb189f1e307..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/multiple-carts-reorder-feature-integration.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: Multiple Carts- Reorder feature integration
-description: The Reorder Feature allows reordering previous orders. This guide will walk you through the process of integrating the feature into your project.
-last_updated: Nov 25, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/multiple-carts-reorder-feature-integration-201811
-originalArticleId: 7c4a1406-56e4-4dde-9e19-5d1919ff858f
-redirect_from:
- - /v1/docs/multiple-carts-reorder-feature-integration-201811
- - /v1/docs/en/multiple-carts-reorder-feature-integration-201811
----
-
-## Install Feature Core
-
-### Prerequisites
-
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Multiple Carts | 2018.11.0 |
-| Reorder | 2018.11.0 |
-| Spryker Core | 2018.11.0 |
-
-### 1) Set up Behavior
-
-Register the following plugin:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ReorderPersistentCartChangeExpanderPlugin` | Adds a default reorder name and adds it to add item request. | 1 | `Spryker\Client\MultiCart\Plugin`|
-
-
-src/Pyz/Client/PersistentCart/PersistentCartDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox “Verification” %}
-
-When using the reorder feature, a new customer quote must be created with the name "Cart from order {Order reference}".
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/navigation-module-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/navigation-module-integration.md
deleted file mode 100644
index bf92423157f..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/navigation-module-integration.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-title: Navigation Module Integration
-description: The guide walks you through the process of installing the Navigation Module into your project.
-last_updated: Nov 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/navigation-module-integration
-originalArticleId: 337c761c-835b-4610-929b-79f998532f25
-redirect_from:
- - /v1/docs/navigation-module-integration
- - /v1/docs/en/navigation-module-integration
- - /docs/scos/dev/feature-integration-guides/201811.0/navigation-feature-integration.html
----
-
-## Prerequisites
-To prepare your project to work with Navigation:
-
-1. Require the Navigation modules in your `composer.json`.
-2. Install the new database tables By running `vendor/bin/console propel:diff`. Propel will generate a migration file with the changes.
-3. Apply the database changes by running `vendor/bin/console propel:migrate`.
-4. Generate ORM models by running `vendor/bin/console propel:model:build`.
-5. After running this command you’ll find some new classes in your project under `\Orm\Zed\Navigation\Persistence` namespace.
-
- It’s important to make sure that they extend the base classes from the Spryker core, e.g.:
-
- * `\Orm\Zed\Navigation\Persistence\SpyNavigation` extends `\Spryker\Zed\Navigation\Persistence\Propel\AbstractSpyNavigation`
- * `\Orm\Zed\Navigation\Persistence\SpyNavigationNode` extends `\Spryker\Zed\Navigation\Persistence\Propel\AbstractSpyNavigationNode`
- * `\Orm\Zed\Navigation\Persistence\SpyNavigationNodeLocalizedAttributes` extends `\Spryker\Zed\Navigation\Persistence\Propel\AbstractSpyNavigationNodeLocalizedAttributes`
- * `\Orm\Zed\Navigation\Persistence\SpyNavigationQuery` extends `\Spryker\Zed\Navigation\Persistence\Propel\AbstractSpyNavigationQuery`
- * `\Orm\Zed\Navigation\Persistence\SpyNavigationNodeQuery` extends `\Spryker\Zed\Navigation\Persistence\Propel\AbstractSpyNavigationNodeQuery`
- * `\Orm\Zed\Navigation\Persistence\SpyNavigationNodeLocalizedAttributesQuery` extends `\Spryker\Zed\Navigation\Persistence\Propel\AbstractSpyNavigationNodeLocalizedAttributesQuery`
-
-6. To get the new transfer objects, run `vendor/bin/console transfer:generate`.
-7. Make sure that the new Zed UI assets are also prepared for use by running the `npm run zed` command (or `antelope build zed` for older versions).
-8. To make the navigation management UI available in Zed navigation, run the `vendor/bin/console application:build-navigation-cache` command.
-9. Activate the navigation menu collector by adding the `NavigationMenuCollectorStoragePlugin` to the storage collector plugin stack. To do that, see the following example:
-
-```php
- new NavigationMenuCollectorStoragePlugin(),
- ];
- };
-
- // ...
- }
-}
-```
-### Data Setup
-You should now be able to manage navigation menus from Zed UI, and the collectors should also be able to export the navigation menus to the KV storage. This is a good time to implement an installer in your project to install a selection of frequently used navigation menus.
-
-### Usage in Yves
-The KV storage should by now have some navigation menus we can display in our frontend.
-
-The `Navigation` module ships with a twig extension that provides the `spyNavigation()` twig function which renders a navigation menu.
-
-`spyNavigation()` accepts two parameters:
-
-* `$navigationKey`: Reference of a navigation menu by its key field (for example, "MAIN_NAVIGATION").
-* `$template`: Template path used to render the navigation menu (for example, `"@application/layout/navigation/main.twig"`).
-
-To enable the navigation twig function, register `\Spryker\Yves\Navigation\Plugin\Provider\NavigationTwigServiceProvider` in your application’s bootstrap.
-
-```php
-application->register(new NavigationTwigServiceProvider());
- }
-}
-```
-
-Example of rendering navigation in an Yves twig template:
-
-```
-{% raw %}{{{% endraw %} spyNavigation('MAIN_NAVIGATION', '@application/layout/navigation/main.twig') {% raw %}}}{% endraw %}
-```
-
-### Rendering Navigation Templates
-The templates used to render a navigation menu use the `navigationTree` template variable to traverse the navigation tree. The variable contains an instance of `\Generated\Shared\Transfer\NavigationTreeTransfer` with only one localized attribute per node for the current locale.
-
-The following code examples show the Demoshop implementation of how to render `MAIN_NAVIGATION` which is a multi-level navigation menu. For styling we used the [Menu](https://foundation.zurb.com/sites/docs/menu.html) and [Dropdown](https://foundation.zurb.com/sites/docs/dropdown.html) components from Foundation framework.
-
-In `Pyz/Yves/Application/Theme/default/layout/navigation/main.twig` we traverse the root navigation nodes of the navigation tree and for each root node we render their children nodes as well.
-
-
-Code sample:
-
-```
-
-
-
-
- {% raw %}{%{% endraw %} for node in navigationTree.nodes {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} embed '@Application/layout/navigation/_partials/base-node.twig' {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} block url {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} block other {% raw %}%}{% endraw %}
-
- {% raw %}{{{% endraw %} title {% raw %}}}{% endraw %}
-
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endembed {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
-
- {% raw %}{%{% endraw %} for node in navigationTree.nodes {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} if node.navigationNode.isActive {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} if node.children|length {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} include '@Application/layout/navigation/_partials/nodes.twig' with {nodes: node.children} {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
-
-
-```
-
-
-
-
-The children nodes are rendered recursively by `Pyz/Yves/Application/Theme/default/layout/navigation/_partials/nodes.twig`.
-
-
-Code sample:
-
-```
-
- {% raw %}{%{% endraw %} for node in nodes {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} embed '@Application/layout/navigation/_partials/base-node.twig' {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} block nodeContainer {% raw %}%}{% endraw %}
-
- {% raw %}{{{% endraw %} parent() {% raw %}}}{% endraw %}
-
- {% raw %}{%{% endraw %} if node.children|length {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} include '@Application/layout/navigation/_partials/nodes.twig' with {nodes: node.children, nested:true} {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} block url {% raw %}%}{% endraw %}
- {% raw %}{{{% endraw %} title {% raw %}}}{% endraw %}
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} block link {% raw %}%}{% endraw %}
- {% raw %}{{{% endraw %} title {% raw %}}}{% endraw %}
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} block externalUrl {% raw %}%}{% endraw %}
- {% raw %}{{{% endraw %} title {% raw %}}}{% endraw %}
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} block other {% raw %}%}{% endraw %}
- {% raw %}{{{% endraw %} title {% raw %}}}{% endraw %}
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endembed {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
-```
-
-
-
-
-To prevent code duplication we implemented the `Pyz/Yves/Application/Theme/default/layout/navigation/_partials/base-node.twig` template which we use to render a node by embedding it in the templates above.
-
-This is also the place where we take the visibility controller parameters into account : `valid_from`, `valid_to`, and `is_active`.
-
-
-Code sample:
-
-```
-{% raw %}{%{% endraw %} set class = node.navigationNode.navigationNodeLocalizedAttributes[0].cssClass {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} set url = node.navigationNode.navigationNodeLocalizedAttributes[0].url {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} set externalUrl = node.navigationNode.navigationNodeLocalizedAttributes[0].externalUrl {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} set link = node.navigationNode.navigationNodeLocalizedAttributes[0].link {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} set title = node.navigationNode.navigationNodeLocalizedAttributes[0].title {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} set today = "now"|date("Ymd") {% raw %}%}{% endraw %}
-
-{% raw %}{%{% endraw %} if node.navigationNode.isActive and
- (node.navigationNode.validFrom is empty or node.navigationNode.validFrom|date("Ymd") ‹= today) and
- (node.navigationNode.validTo is empty or node.navigationNode.validTo|date("Ymd") >= today)
-{% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} block nodeContainer {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} if url {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} block url {% raw %}%}{% endraw %}{% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} elseif link {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} block link {% raw %}%}{% endraw %}{% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} elseif externalUrl {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} block externalUrl {% raw %}%}{% endraw %}{% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} else {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} block other {% raw %}%}{% endraw %}{% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
-```
-
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/packaging-units-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/packaging-units-feature-integration.md
deleted file mode 100644
index f2318cc7175..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/packaging-units-feature-integration.md
+++ /dev/null
@@ -1,983 +0,0 @@
----
-title: Packaging Units feature integration
-description: The Product Packaging Unit Feature allows defining packaging units per abstract product. This guide describes how to integrate the feature into your project.
-last_updated: Nov 22, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-packaging-unit-feature-integration-201811
-originalArticleId: ed9202f3-fbd2-49c6-b1ed-a1bfe4548f9c
-redirect_from:
- - /v1/docs/product-packaging-unit-feature-integration-201811
- - /v1/docs/en/product-packaging-unit-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Inventory Management | 2018.11.0 |
-|Spryker Core|2018.11.0|
-|Order Management|2018.11.0|
-|Product|2018.11.0|
-|Measurement Units|2018.11.0|
-
-### 1) Install the required modules using Composer
-
-Run the following command(s) to install the required modules:
-```
-composer require spryker-feature/packaging-units: "^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following modules were installed:
-
-|Module|Expected directory|
-|--- |--- |
-|`ProductPackagingUnit`|`vendor/spryker/product-packaging-unit`|
-|`ProductPackagingUnitDataImport`|`vendor/spryker/product-packaging-unit-data-import`|
-|`ProductPackagingUnitStorage`|`vendor/spryker/product-packaging-unit-storage`|
-
-{% endinfo_block %}
-
-### 2) Set up Configuration
-Adjust synchronization queue pools in configuration:
-
-**src/Pyz/Zed/ProductPackagingUnitStorage/ProductPackagingUnitStorageConfig.php**
-
-```php
-
-|Affected entity | Triggered events |
-| --- | --- |
-| `spy_product_packaging_unit` |
-
-```
-
-Set up synchronization queue pools so that non-multi-store entities (not store specific entities) can be synchronized among stores:
-
-**src/Pyz/Zed/ProductPackagingUnitStorage/Persistence/Propel/Schema/spy_product_abstract_packaging_storage.schema.xml**
-
-```xml
-
-
-
-
-
-
-
-
-
-
-```
-
-Run the following commands to apply database changes and generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes have been applied by checking your database:
-
-|Database entity|Type|Event|
-|--- |--- |--- |
-|`spy_product_packaging_unit`|table|created|
-|`spy_product_packaging_unit_type`|table|created|
-|`spy_product_packaging_unit_amount`|table|created|
-|`spy_product_packaging_lead_product`|table|created|
-|`spy_product_abstract_packaging_storage`|table|created|
-|`spy_sales_order_item.amount`|column|created|
-|`spy_sales_order_item.amount_sku`|column|created|
-
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following changes in transfer objects have been applied:
-
-|Transfer|Type|Event|Path|
-|--- |--- |--- |--- |
-|`ProductPackagingUnitType`|class|created|`src/Generated/Shared/Transfer/ProductPackagingUnitTypeTransfer`|
-|`ProductPackagingUnitTypeTranslation`|class|created|`src/Generated/Shared/Transfer/ProductPackagingUnitTypeTranslationTransfer`|
-|`ProductPackagingUnit`|class|created|`src/Generated/Shared/Transfer/ProductPackagingUnitTransfer`|
-|`ProductPackagingUnitAmount`|class|created|`src/Generated/Shared/Transfer/ProductPackagingUnitAmountTransfer`|
-|`ProductPackagingLeadProduct`|class|created|`src/Generated/Shared/Transfer/ProductPackagingLeadProductTransfer`|
-|`Item`|class|created|`src/Generated/Shared/Transfer/ItemTransfer`|
-|`ProductConcretePackagingStorage`|class|created|`src/Generated/Shared/Transfer/ProductConcretePackagingStorageTransfer`|
-|`ProductAbstractPackagingStorage`|class|created|`src/Generated/Shared/Transfer/ProductAbstractPackagingStorageTransfer`|
-|`SpyProductPackagingLeadProductEntity`|class|created|`src/Generated/Shared/Transfer/SpyProductPackagingLeadProductEntityTransfer`|
-|`SpyProductPackagingUnitAmountEntity`|class|created|`src/Generated/Shared/Transfer/SpyProductPackagingUnitAmountEntityTransfer`|
-|`SpyProductPackagingUnitEntity`|class|created|`src/Generated/Shared/Transfer/SpyProductPackagingUnitEntityTransfer`|
-|`SpyProductPackagingUnitTypeEntity`|class|created|`src/Generated/Shared/Transfer/SpyProductPackagingUnitTypeEntityTransfer`|
-|`SpyProductAbstractPackagingStorageEntity`|class|created|`src/Generated/Shared/Transfer/SpyProductAbstractPackagingStorageEntityTransfer`|
-|`SpySalesOrderItemEntityTransfer.amount`|property|created|`src/Generated/Shared/Transfer/SpySalesOrderItemEntityTransfer`|
-|`SpySalesOrderItemEntityTransfer.amountSku`|property|created|`src/Generated/Shared/Transfer/SpySalesOrderItemEntityTransfer`|
-
-{% endinfo_block %}
-
-{% info_block warningBox “Verification” %}
-
-Make sure that the changes have been implemented successfully. For this purpose, trigger the following methods and make sure that the above events have been triggered:
-
-|Path|Method name|
-|--- |--- |
-|`src/Orm/Zed/ProductPackagingUnit/Persistence/Base/SpyProductPackagingLeadProduct.php`|`prepareSaveEventName()``addSaveEventToMemory()``addDeleteEventToMemory()`|
-|`src/Orm/Zed/ProductPackagingUnit/Persistence/Base/SpyProductPackagingUnit.php`|`prepareSaveEventName()``addSaveEventToMemory()``addDeleteEventToMemory()`|
-|`src/Orm/Zed/ProductPackagingUnit/Persistence/Base/SpyProductPackagingUnitAmount.php`|`prepareSaveEventName()``addSaveEventToMemory()``addDeleteEventToMemory()`|
-|`src/Orm/Zed/ProductPackagingUnit/Persistence/Base/SpyProductPackagingUnitType.php`|`prepareSaveEventName()``addSaveEventToMemory()``addDeleteEventToMemory()`|
-|`src/Orm/Zed/ProductPackagingUnitStorage/Persistence/Base/SpyProductAbstractPackagingStorage.php`|`sendToQueue()`|
-
-{% endinfo_block %}
-
-### 4) Add Translations
-Append glossary according to your language configuration:
-
-**src/data/import/glossary.csv**
-
-```yaml
-cart.pre.check.availability.failed.lead.product,Products inside the item 'sku' are not available at the moment.,en_US
-cart.pre.check.availability.failed.lead.product,Produkte im Artikel 'sku' sind momentan nicht verfügbar.,de_DE
-product.unavailable,Product '%sku%' is not available at the moment,en_US
-product.unavailable,Das Produkt '%sku%' ist momentan nicht verfügbar,de_DE
-cart.pre.check.amount.min.failed,Die minimale Mengenanforderung für Produkt SKU '%sku%' ist nicht erreicht.,de_DE
-cart.pre.check.amount.min.failed,Minimum amount requirements for product SKU '%sku%' are not fulfilled.,en_US
-cart.pre.check.amount.max.failed,Die maximale Mengenanforderung für Produkt SKU '%sku%' ist überschritten.,de_DE
-cart.pre.check.amount.max.failed,Maximum amount for product SKU '%sku%' is exceeded.,en_US
-cart.pre.check.amount.interval.failed,Die Anzahl für Produkt SKU '%sku%' liegt nicht innerhalb des vorgegebenen Intervals.,de_DE
-cart.pre.check.amount.interval.failed,Amount interval requirements for product SKU '%sku%' are not fulfilled.,en_US
-cart.pre.check.amount.is_not_variable.failed,Standardbetrag für Produkt SKU '%sku%' ist überschritten.,de_DE
-cart.pre.check.amount.is_not_variable.failed,Default amount requirements for product SKU '%sku%' are not fulfilled.,en_US
-```
-
-
-{% info_block infoBox "Info" %}
-
-All packaging unit type needs to have glossary entities for the configured locales.
-
-{% endinfo_block %}
-
-Infrastructural record's glossary keys:
-
-**src/data/import/glossary.csv**
-
-```yaml
-packaging_unit_type.item.name,Item,en_US
-packaging_unit_type.item.name,Stück,de_DE
-```
-
-
-Demo data glossary keys:
-
-**src/data/import/glossary.csv**
-
-```yaml
-packaging_unit_type.ring_500.name,"Ring (500m)",en_US
-packaging_unit_type.ring_500.name,"Ring (500m)",de_DE
-packaging_unit_type.box.name,Box,en_US
-packaging_unit_type.box.name,Box,de_DE
-packaging_unit_type.palette.name,Palette,en_US
-packaging_unit_type.palette.name,Palette,de_DE
-packaging_unit_type.giftbox.name,Giftbox,en_US
-packaging_unit_type.giftbox.name,Geschenkbox,de_DE
-packaging_unit_type.valentines_special.name,"Valentine's special",en_US
-packaging_unit_type.valentines_special.name,Valentinstag Geschenkbox,de_DE
-packaging_unit_type.pack_20.name,Pack 20,en_US
-packaging_unit_type.pack_20.name,Pack 20,de_DE
-packaging_unit_type.pack_500.name,Pack 500,en_US
-packaging_unit_type.pack_500.name,Pack 500,de_DE
-packaging_unit_type.pack_100.name,Pack 100,en_US
-packaging_unit_type.pack_100.name,Pack 100,de_DE
-packaging_unit_type.pack_mixed.name,Mixed Screws boxes,en_US
-packaging_unit_type.pack_mixed.name,Gemischte Schraubenkästen,de_D
-```
-
-
-Run the following console command to import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the configured data in the database has been added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 5) Configure Export to Redis
-
-This step will publish tables on change (create, edit, delete) to `spy_product_abstract_packaging_storage` and synchronise the data to Storage.
-
-#### Set up Event Listeners
-
-|Plugin |Specification | Prerequisites | Namespace|
-| --- | --- | --- | --- |
-| `ProductPackagingUnitStorageEventSubscriber` | Registers listeners that are responsible for publishing product abstract packaging unit storage entity changes when a related entity change event occurs. | None | `Spryker\Zed\ProductPackagingUnitStorage\Communication\Plugin\Event\Subscriber` |
-
-**src/Pyz/Zed/Event/EventDependencyProvider.php**
-
-```php
-add(new ProductPackagingUnitStorageEventSubscriber());
-
- return $eventSubscriberCollection;
- }
-}
-```
-
-
-#### Set up Re-Generate and Re-Sync Features
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductPackagingUnitSynchronizationDataPlugin` | Allows synchronizing the whole storage table content into Storage. | None | `Spryker\Zed\ProductPackagingUnitStorage\Communication\Plugin\Synchronization` |
-
-**src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php**
-
-```php
-
-| Column |Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| `concrete_sku` | mandatory | string |218_123 | Glossary key that will be used for display. Each name needs glossary key definition for all configured locales. |
-|`is_lead_product`|mandatory|bool integer|1|
Decides if the current `concrete_sku` is the lead concrete product of the product abstract.
Important: Exactly 1 concrete product has to be a lead product in a packaging unit-based product abstract.
|
-|`has_lead_product`|optional|bool integer|0|
Relevant for non-lead product concretes only.
Decides if the current product concrete has "amount" options. (The amount represents the lead product.)
Default value is 0 when not provided.
|
-|`packaging_unit_type_name`|mandatory|string|`packaging_unit_type.ring_500.name`|Type name of the current concrete product.|
-|`default_amount`|optional|positive integer|5|
|
-|`is_variable`|optional|bool integer|1|
Allows customers to override the default_amount and decide how many lead products will be ordered for each quantity of this product concrete.
Effective only if current product concrete has_lead_product = 1.
Default value is 0 when not provided.
|
-|`amount_min`|optional|positive integer|3|
Restricts a customer to buy at least this amount of lead products.
Effective only if is_variable = 1.
Default value is 1 when not provided.
|
-|`amount_max`|optional|positive integer|5|
Restricts a customer not to not buy more than this value.
Effective only if is_variable = 1.
Default value remains empty (unlimited) when not provided.
-
-**src/Pyz/Zed/DataImport/DataImportDependencyProvider.php**
-
-```php
-
-src/Pyz/Client/Cart/CartDependencyProvider.php
-
-```php
-
-
-**src/Pyz/Zed/Checkout/CheckoutDependencyProvider.php**
-
-```php
-
-src/data/import/glossary.csv
-
-```yaml
-packaging-units.recommendation.amount-min-violation,Minimum amount requirements for product are not fulfilled,en_US
-packaging-units.recommendation.amount-min-violation,Mindestmengenanforderungen für das Produkt sind nicht erfüllt,de_DE
-packaging-units.recommendation.amount-max-violation,Maximum amount requirements for product are not fulfilled,en_US
-packaging-units.recommendation.amount-max-violation,Maximale Mengenanforderungen für das Produkt sind nicht erfüllt,de_DE
-packaging-units.recommendation.amount-interval-violation,Amount interval requirements for product are not fulfilled,en_US
-packaging-units.recommendation.amount-interval-violation,Mengenintervallanforderungen für das Produkt sind nicht erfüllt,de_DE
-packaging_units.recommendation.suggestion,Would you like to add:,en_US
-packaging_units.recommendation.suggestion,Möchten Sie hinzufügen:,de_DE
-packaging_units.recommendation.between-units-info,The amount you have chosen is in between 2 base units,en_US
-packaging_units.recommendation.between-units-info,Ihre gewählte Anzahl liegt zwischen 2 basis Einheiten,de_DE
-packaging_units.cart.quantity,Quantity,en_US
-packaging_units.cart.quantity,Anzahl,de_DE
-packaging_units.cart.amount,Amount,en_US
-packaging_units.cart.amount,Betrag,de_DE
-packaging_units.cart.item,Items,en_US
-packaging_units.cart.item,Artikel,de_DE
-page.detail.add-to-cart,In den Warenkorb,de_DE
-page.detail.add-to-cart,Add to Cart,en_US
-product.measurement.sales_unit,Sales Unit,en_US
-product.measurement.sales_unit,Maßeinheit,de_DE
-cart.item_quantity,Anzahl,de_DE
-cart.item_quantity,Quantity,en_US
-measurement_units.new-price,New price,en_US
-measurement_units.new-price,Neuer Preis,de_DE
-measurement_units.recommendation.between-units-info,The quantity you have chosen is in between 2 base units,en_US
-measurement_units.recommendation.between-units-info,Ihre gewählte Anzahl liegt zwischen 2 basis Einheiten,de_DE
-measurement_units.recommendation.min-violation,Minimum quantity requirements for product are not fulfilled,en_US
-measurement_units.recommendation.min-violation,Minimale Mengenanforderungen für das Produkt sind nicht erfüllt,de_DE
-measurement_units.recommendation.max-violation,Maximum quantity requirements for product are not fulfilled,en_US
-measurement_units.recommendation.max-violation,Maximale Mengenanforderungen für das Produkt sind nicht erfüllt,de_DE
-measurement_units.recommendation.suggestion,Would you like to add,en_US
-measurement_units.recommendation.suggestion,Was würden Sie gerne hinzufügen? ,de_DE
-```
-
-
-Run the following console command to import data:
-```
-console data:import glossary
-```
-{% info_block warningBox "Verification" %}
-Make sure that the configured data in the database has been added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 3) Set up Widgets
-Enable the following global widget(s):
-
-| Widget | Description | Namespace |
-| --- | --- | --- |
-| `ProductPackagingUnitWidget` | Displays product packaging options for quantity and amount. | `SprykerShop\Yves\ProductPackagingUnitWidget\Widget` |
-
-**src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php**
-
-```php
-
-| Functionality | Path |
-| --- | --- |
-|
Controls base unit => sales unit calculations
Applies product quantity and amount restrictions on sales unit level
Offers recommendation when invalid quantity or amount is selected
Maintains stock-based quantity, amount and sales unit information for posting
| `vendor/spryker-shop/product-packaging-unit-widget/src/SprykerShop/Yves/ProductPackagingUnitWidget/Theme/default/components/molecules/packaging-unit-quantity-selector/packaging-unit-quantity-selector.ts` |
-
-
-Run the following command to enable Javascript and CSS changes:
-```bash
-console frontend:yves:build
-```
-
-{% info_block warningBox "Verification" %}
-- Check if the amount field appears on the Product Detail page for items with packaging units.
-- Check if the amount field appears correctly with measurement unit information on the Cart page.
-- Check if the amount field appears correctly with measurement unit information on the Checkout Summary page.
-- Check if the amount field appears correctly with measurement unit information on the previous Orders page.
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/payment-provider-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/payment-provider-integration.md
deleted file mode 100644
index 071b9fd89e3..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/payment-provider-integration.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Payment Provider Integration
-last_updated: Oct 4, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/payment-provider-integration-guide
-originalArticleId: eed77b9e-8585-4399-974d-3054ad0cb239
-redirect_from:
- - /v1/docs/payment-provider-integration-guide
- - /v1/docs/en/payment-provider-integration-guide
----
-
-The Spryker Commerce OS offers integrations with several payment providers that can be used in the checkout and order management. Easily define the availability of a provider based on customer preferences and local regulations and specify the order the providers are displayed in during checkout.
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/permissions-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/permissions-feature-integration.md
deleted file mode 100644
index 6ea7be78278..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/permissions-feature-integration.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-title: Permissions feature integration
-description: The guide provides a step-by-step procedure to install the Permissions feature into your project.
-last_updated: Jan 28, 2020
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/permissions-feature-integration
-originalArticleId: dcbe1c81-4321-4a83-aa41-e8b154f1eaa0
-redirect_from:
- - /v1/docs/permissions-feature-integration
- - /v1/docs/en/permissions-feature-integration
----
-
-The Permissions feature is shipped with following modules:
-
-| Module | Description |
-| --- | --- |
-| [Permission](https://github.com/spryker/spryker/tree/master/Bundles/Permission) | Provides permissions support that can be used as a part of ACL / RBAC. |
-| [PermissionExtension](https://github.com/spryker/spryker/tree/master/Bundles/PermissionExtension) | Holds a set of plugin interfaces that can be used as extension points of the Permission module. |
-
-To install the feature, follow the steps below:
-1. Install necessary modules using composer:
-
-```bash
-composer update "spryker/*" "spryker-shop/*"
-composer require spryker/permission-extension:"^1.0.0" spryker/permission:"^1.0.0"
-```
-
-2. Add plugins to Zed `CustomerDependencyProvider`:
-
-
-| Module | Plugin | Description | Method in Dependency Provider |
-| --- | --- | --- | --- |
-| `CompanyRole` | `PermissionCustomerExpanderPlugin` | Adds permissions to the company user. | `getCustomerTransferExpanderPlugins` |
-| `CompanyUser` | `CustomerTransferCompanyUserExpanderPlugin` | Adds company user information to customer transfer. | `getCustomerTransferExpanderPlugins` |
-
-**src/Pyz/Zed/Customer/CustomerDependencyProvider.php**
-
-```php
-namespace Pyz\Zed\Customer;
-
-use Spryker\Zed\CompanyUser\Communication\Plugin\Customer\CustomerTransferCompanyUserExpanderPlugin;
-use Spryker\Zed\CompanyRole\Communication\Plugin\PermissionCustomerExpanderPlugin;
-use Spryker\Zed\Customer\CustomerDependencyProvider as SprykerCustomerDependencyProvider;
-
-class CustomerDependencyProvider extends SprykerCustomerDependencyProvider
-{
-
- /**
- * @return \Spryker\Zed\Customer\Dependency\Plugin\CustomerTransferExpanderPluginInterface[]
- */
- protected function getCustomerTransferExpanderPlugins()
- {
- return [
- new PermissionCustomerExpanderPlugin(),
- new CustomerTransferCompanyUserExpanderPlugin()
- ];
- }
-}
-```
-
-3. Synchronize permission plugins with storage:
-
-Go to the Administration interface, **Maintenance** menu and click **Sync permissions**.
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/prices-per-merchant-relation-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/prices-per-merchant-relation-feature-integration.md
deleted file mode 100644
index e24f89d6e90..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/prices-per-merchant-relation-feature-integration.md
+++ /dev/null
@@ -1,370 +0,0 @@
----
-title: Prices per Merchant Relation feature integration
-description: The guide walks you through the process of installing the Prices per Merchant feature in your project.
-last_updated: Nov 19, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/prices-per-merchant-relation-integration
-originalArticleId: 79207ebd-13cf-4bd0-8c6e-b1f9f36f0298
-redirect_from:
- - /v1/docs/prices-per-merchant-relation-integration
- - /v1/docs/en/prices-per-merchant-relation-integration
----
-
-The Price per Merchant Relation feature is shipped with the following modules:
-
-
-| Module | Description |
-| --- | --- |
-| [PriceProductMerchantRelationship](https://github.com/spryker/price-product-merchant-relationship) | Bears the logic for setting specific product prices per merchant relationship. |
-| [PriceProductExtension](https://github.com/spryker/price-product-extension) | Provides plugin interfaces to extend the `PriceProduct` module. |
-| [PriceProductMerchantRelationshipDataImport](https://github.com/spryker/price-product-merchant-relationship-data-import) | Contains demo data and importer for price products for merchant relations. |
-| [PriceProductMerchantRelationshipStorage](https://github.com/spryker/price-product-merchant-relationship-storage) | Saves prices for merchant relations into Storage and contains plugins for reading them. |
-| [PriceProductStorageExtension](https://github.com/spryker/price-product-storage-extension) | Provides plugin interfaces to extend the `PriceProductStorage` module. |
-| [PriceProductPriceProduct](https://github.com/spryker/price-product) | Provides product price related functionality, price persistence, current price resolvers per currency/price mode. |
-
-To install the Price per Merchant Relation feature, follow the steps below:
-1. Install the necessary modules using composer:
-
-Update the existing and install the required modules:
-
-```bash
-composer update "spryker/*"
-```
-
-```bash
-composer require spryker/price-product:"^2.0.0" spryker/price-product-data-import:"^0.1.0" spryker/price-product-extension:"^1.0.0"
-spryker/price-product-merchant-relationship:"^1.0.0" spryker/price-product-merchant-relationship-data-import:"^0.1.0"
-spryker/price-product-merchant-relationship-storage:"^1.0.0" spryker/price-product-storage:"^2.0.0" spryker/price-product-storage-extension:"^1.0.0" --update-with-dependencies
-```
-
-2. Add a plugin to Client's `PriceProductStorageDependencyProvider`:
-
-
-| Module | Plugin | Description | Method in Dependency Provider |
-| --- | --- | --- | --- |
-| `PriceProductStorage` | `PriceProductMerchantRelationshipStorageDimensionPlugin` | Reads prices for merchant relations from Redis to show them in catalog. | `getPriceDimensionPlugins` |
-
-**src/Pyz/Client/PriceProductStorage/PriceProductStorageDependencyProvider.php**
-
-```php
-
-
-
-
- {% raw %}{%{% endraw %} for productGroupItem in productGroupItems {% raw %}%}{% endraw %}
-
-
-
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
-
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-```
-
-In the catalog pages of our Demoshop we also added custom styling and Javascript to display the image of an item on mouseover, but what and how you want to display for each item in the group is entirely up to your implementation.
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/product-label-1.0-feature-integrtion.md b/docs/scos/dev/feature-integration-guides/201811.0/product-label-1.0-feature-integrtion.md
deleted file mode 100644
index ea7d6b0592f..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/product-label-1.0-feature-integrtion.md
+++ /dev/null
@@ -1,214 +0,0 @@
----
-title: Product Label 1.0 Feature Integrtion
-description: The Product Label feature allows highlighting specific products in your online shop. The guide describes how to integrate the feature in the project.
-last_updated: Jan 28, 2020
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-label-feature-integration-1-0
-originalArticleId: 23b61d30-47d4-49a6-981d-add02b7c736d
-redirect_from:
- - /v1/docs/product-label-feature-integration-1-0
- - /v1/docs/en/product-label-feature-integration-1-0
----
-
-## Overview
-
-Product labels are used to show additional information for abstract products in shop front-ends. They can be managed through a dedicated Zed user interface and rendered in various ways in project implementations.
-
-## feature integration
-
-### Prerequisites
-
-To prepare your project for using Product Labels:
-
-1. Require the Product Label module in your `composer.json` by running `composer require spryker/product-label spryker/product-label-collector spryker/product-label-gui`
-2. Install the required changes to the data structure by running console `propel:diff && console propel:migrate && console propel:model:build`. This will generate a migration file, run the migration against your database, and build all new Propel models.
-3. Generate the new transfer objects by running `console transfer:generate`
-4. Make sure the new Zed user interface assets are built by running `npm run zed` (or `antelope build zed` for older versions)
-5. Update Zed's navigation cache to show the new items for the Product Label management user interface by running console `application:build-navigation-cache`
-6. Activate the Product Label collectors by adding `\Spryker\Zed\ProductLabelCollector\Communication\Plugin\ProductLabelDictionaryCollectorStoragePlugin` and `\Spryker\Zed\ProductLabelCollector\Communication\Plugin\ProductLabelProductAbstractRelationCollectorStoragePlugin` to the storage collector plugin stack in your project implementation:
-
-```php
- new ProductLabelDictionaryCollectorStoragePlugin(),
- ProductLabelConstants::RESOURCE_TYPE_PRODUCT_ABSTRACT_PRODUCT_LABEL_RELATIONS => new ProductLabelProductAbstractRelationCollectorStoragePlugin(),
- ];
- };
-
- // ...
- }
-}
-```
-
-### Data Setup
-
-The Zed user interface can be used to manage product labels. The collectors that were enabled before will take care of exporting active labels to the key-value storage. Product labels can also be imported using the
-
-### Usage in Yves
-
-The Product Label module ships with a Twig extension to easily access and render product labels in templates. The extension registers a new Twig function called `spyProductLabels` that excepts two parameters:
-
-1. **$idProductAbstract**: ID of the abstract product to render labels for
-2. **$templateName**: The name of a template to use for rendering the labels
-
-To enable the Twig extension it is necessary to register it as a new service provider in `\Pyz\Yves\Application\YvesBootstrap`
-
-```php
-application->register(new ProductLabelTwigExtension());
- }
-}
-```
-
-An example implementation of template rendering labels for an abstract product looks like this (e.g. on a product detail page):
-
-```php
-
- {% raw %}{{{% endraw %} spyProductLabels(product.getIdProductAbstract(), '@ProductLabel/partials/group.twig') {% raw %}}}{% endraw %}
-
-```
-
-### Creating a Custom Template for Rendering Product Labels
-
-The template specified in the second parameter in the `spyProductLabels` Twig function receives a collection of transfer objects, each representing a product label containing data from the key-value storage. This collection will be empty for abstract products that are not assigned any product labels. All locale-specific label fields will be returned for the currently active store locale.
-
-Here's a simple example of a possible template:
-
-```php
-
- {% raw %}{%{% endraw %} for productLabelTransfer in productLabelTransferCollection {% raw %}%}{% endraw %}
-
-
- {% raw %}{{{% endraw %} productLabelTransfer.getName() {% raw %}}}{% endraw %}
-
-
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
-```
-
-A more detailed example implementation is available in the [demo-shop](https://github.com/spryker/demoshop).
-
-### Checking Validity
-
-Product labels can be configured to have a validity date range. They will only be represented in the key-value storage if they fall between the `valid_from` and `valid_to` dates.
-
-{% info_block warningBox "Verification" %}
-To make sure that invalid product labels become valid when the specified validity date range is entered, run the console command `console product-label:validity`. It will also handle labels that are currently valid but become invalid due to exceeding the `valid_to` date. The command checks validity date ranges for all active labels and "touch" the ones for which the validity state changes.
-{% endinfo_block %}
-
-The [demo-shop](https://github.com/spryker/demoshop) ships with a Cronjob triggers this command once a day.
-
-## Under the hood
-
-### Database schema
-![product_label_db.png](https://cdn.document360.io/9fafa0d5-d76f-40c5-8b02-ab9515d3e879/Images/Documentation/product_label_db%281%29.png)
-
-The `Product Label` module adds three new tables:
-
-1. **spy_product_label**
-This table stores the main product label information such as its name, validity dates, flags, etc.
-2. **spy_product_label_localized_attributes**
-This tables stores all localized information. Currently it only stores the translated product label names.
-3. **spy_product_label_product_abstract**
-This table stores the relations between product labels and abstract products.
-
-### Representation In The Key-Value Storage
-
-Product labels are exported in two parts, a dictionary that contains all active and valid product-labels and a list of product label IDs for each abstract product.
-
-#### Product Label Dictionary
-
-The dictionary contains only active and valid product labels. The active state is derived from the `is_active` flag and validity is checked against the `valid_from` and `valid_to` fields. There is a dedicated transfer object that represents the structure of each product label in the dictionary, called `ProductLabelStorageTransfer`.
-
-#### Abstract Product to Product Label Relations
-
-All relations between an abstract product and a product label will be exported not taking into account active state and validity.
-
-When using `\Spryker\Client\ProductLabel\ProductLabelClient::findLabelsByIdProductAbstract()` (or the Twig function `spyProductLabels`) each relation is checked against the dictionary and only a collection of active and valid product labels will be returned for a single abstract product. This prevents having to update each product relation in the key-value storage whenever a product label changes thus reducing the number of required "touches".
-
-## Feature Extensions
-
-### Discounts Based on Product Labels
-
-It's possible to create discount rules based on products that have specific label(s). On the discount UI select the `product-label` rule for **Discount calculation** to define that the discount will be apply to the selected predefined labels. You can also select the `product-label` rule for **Conditions** to define that your discount is applied when the selected labels are present.
-
-Follow the steps below to activate this feature:
-
-1. Install `ProductLabelDiscountConnector` module in your project.
-2. Activate the Decision rule and Collector plugins in `\Pyz\Zed\Discount\DiscountDependencyProvider`:
-
-```php
- new ProductLabelDictionaryCollectorStoragePlugin(),
- ProductLabelConstants::RESOURCE_TYPE_PRODUCT_ABSTRACT_PRODUCT_LABEL_RELATIONS => new ProductLabelProductAbstractRelationCollectorStoragePlugin(),
- ];
- };
-
- // ...
- }
-}
-```
-
-To provide product label information for Search documents, you need to extend your product search collector by adding a new `search-result-data` entry (for example, `id_product_labels`) for products. The data of this field can be easily read with the `ProductLabelFacade::findLabelIdsByIdProductAbstract()` method.
-
-### Data Setup
-
-The Zed user interface can be used to manage product labels. The collectors that were enabled before will take care of exporting active labels to the key-value storage. Product labels can also be imported using the demo-shop's importer infrastructure. Spryker provides a couple of example installer implementations in the [demo-shop](https://github.com/spryker/demoshop) that can be used for ideas.
-
-### Usage in Yves
-
-The Product Label module ships with a Twig extension to easily access and render product labels in templates. The extension provides the `spyProductLabels` twig function that renders labels based on the label dictionary. The function excepts the following parameters:
-
-1. **$idProductLabels**: an array of product label IDs to render labels
-2. **$templateName**: The name of a template to use for rendering the labels
-
-It also provides the `spyProductAbstractLabels` Twig function. This function is **deprecated**
- to use due to performance reasons. It first needs to read product label relation information from Storage and only then renders product labels based on the label dictionary. Use this only when it's not possible to have the list of product label IDs for the rendered product. The function excepts the following parameters:
-
-1. **$idProductAbstract**: ID of the abstract product to render labels for
-2. **$templateName**: The name of a template to use for rendering the labels
-
-To enable the Twig extension it is necessary to register it as a new service provider in `\Pyz\Yves\Application\YvesBootstrap`
-```php
-
-application->register(new ProductLabelTwigServiceProvider());
- }
-}
-
-```
-
-An example implementation of template rendering labels for an abstract product looks like this (e.g. on a product details page):
-
-```php
-
- {% raw %}{{{% endraw %} spyProductLabels(product.getIdProductLabels(), '@ProductLabel/partials/group.twig') {% raw %}}}{% endraw %}
-
-```
-
-### Creating a Custom Template for Rendering Product Labels
-
-The template specified in the second parameter in the `spyProductLabels` Twig function receives a collection of transfer objects, each representing a product label containing data from the key-value storage. This collection will be empty for abstract products that are not assigned any product labels. All locale-specific label fields will be returned for the currently active store locale.
-
-Here's a simple example of a possible template:
-
-```php
-
- {% raw %}{%{% endraw %} for productLabelTransfer in productLabelTransferCollection {% raw %}%}{% endraw %}
-
-
- {% raw %}{{{% endraw %} productLabelTransfer.getName() {% raw %}}}{% endraw %}
-
-
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
-```
-
-A more detailed example implementation is available in the [demo-shop](https://github.com/spryker/demoshop).
-
-### Checking Validity
-
-Product labels can be configured to have a validity date range. They will only be represented in the key-value storage if they fall between the `valid_from` and `valid_to` dates.
-
-To make sure that invalid product labels become valid when the specified validity date range is entered, run the console command `console product-label:validity`. It will also handle labels that are currently valid but become invalid due to exceeding the `valid_to` date. The command checks validity date ranges for all active labels and "touch" the ones for which the validity state changes.
-
-The [demo-shop](https://github.com/spryker/demoshop) ships with a Cronjob triggers this command once a day.
-
-### Dynamic Labels
-It's possible to manage product label relations dynamically based on some custom business logic. The custom logic can be implemented with a set of `\Spryker\Zed\ProductLabel\Dependency\Plugin\ProductLabelRelationUpdaterPluginInterface` plugins.
-
-By registering the necessary plugins in `\Pyz\Zed\ProductLabel\ProductLabelDependencyProvider::getProductLabelRelationUpdaterPlugins()`you will be able to run the `vendor/bin/console product-label:relations:update` command from your project to update the dynamic labels of the products.
-
-To enable this console command add `\Spryker\Zed\ProductLabel\Communication\Console\ProductLabelRelationUpdaterConsole`to `\Pyz\Zed\Console\ConsoleDependencyProvider::getConsoleCommands()`. It's also suggested to set a cron job
-to run this command periodically. In demoshop we've set this to run every minute so it's aligned with collectors and less likely to experience inconsistency with product data and its labels.
-
-## Under the Hood
-
-### Database Schema
-![product_label_db](https://cdn.document360.io/9fafa0d5-d76f-40c5-8b02-ab9515d3e879/Images/Documentation/product_label_db.png)
-
-The `Product Label` module adds three new tables:
-
-1. **spy_product_label**
-This table stores the main product label information such as its name, validity dates, flags, etc.
-2. **spy_product_label_localized_attributes**
-This tables stores all localized information. Currently it only stores the translated product label names.
-3. **spy_product_label_product_abstract**
-This table stores the relations between product labels and abstract products.
-
-### Representation in the Key-Value Storage
-
-Product labels are exported in two parts, a dictionary that contains all active and valid product-labels and a list of product label IDs for each abstract product.
-
-#### Product Label Dictionary
-
-The dictionary contains only active and valid product labels. The active state is derived from the `is_active` flag and validity is checked against the `valid_from` and `valid_to` fields. There is a dedicated transfer object that represents the structure of each product label in the dictionary, called `ProductLabelStorageTransfer`.
-
-#### Abstract Product to Product Label Relations
-
-All relations between an abstract product and a product label will be exported not taking into account active state and validity.
-
-When using `\Spryker\Client\ProductLabel\ProductLabelClient::findLabelsByIdProductAbstract()` (or the `spyProductLabels` and `spyProductAbstractLabels` Twig functions) each relation is checked against the dictionary and only a collection of active and valid product labels will be returned for a single abstract product. This prevents having to update each product relation in the key-value storage whenever a product label changes thus reducing the number of required "touches".
-
-## Feature Extensions
-
-### Discounts Based on Product Labels
-
-It's possible to create discount rules based on products that have specific label(s). On the discount UI
-select the `product-label` rule for **Discount calculation** to define that the discount will be apply to the selected predefined labels. You can also select the `product-label` rule for **Conditions** to define that your discount is applied when the selected labels are present.
-
-Follow the steps below to activate this feature:
-
-1. Install `ProductLabelDiscountConnector` module in your project.
-2. Active the Decision rule and Collector plugins in `\Pyz\Zed\Discount\DiscountDependencyProvider`:
-
-```php
-
Module
Expected Directory
`CustomerCatalog`
`vendor/spryker/customer-catalog`
`ProductList`
`vendor/spryker/product-list`
`ProductListDataImport`
`vendor/spryker/product-list-data-import`
`ProductListGui`
`vendor/spryker/product-list-gui`
`ProductListGuiExtension`
`vendor/spryker/product-list-gui-extension`
`ProductListSearch`
`vendor/spryker/product-list-search`
`ProductListStorage`
`vendor/spryker/product-list-storage`
`ProductStorageExtension`
`vendor/spryker/product-storage-extension`
-{% endinfo_block %}
-
-### 2) Set up Database Schema and Transfer Objects
-Adjust the schema definition so that entity changes trigger events.
-
-| Affected entity | Triggered events |
-| --- | --- |
-| `spy_product_list` | `Entity.spy_product_list.create` `Entity.spy_product_list.update` `Entity.spy_product_list.delete` |
-| `spy_product_list_product_concrete` | `Entity.spy_product_list_product_concrete.create` `Entity.spy_product_list_product_concrete.update` `Entity.spy_product_list_product_concrete.delete` |
-| `spy_product_list_category` | `Entity.spy_product_list_category.create` `Entity.spy_product_list_category.update` `Entity.spy_product_list_category.delete` |
-
-Make the following changes in `spy_product_list.schema.xml`.
-
-src/Pyz/Zed/ProductList/Persistence/Propel/Schema/spy_product_list.schema.xml
-
-``` html
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-Set up synchronization queue pools so that non-multi-store entities (not store specific entities) can be synchronized among stores:
-
-
-src/Pyz/Zed/ProductList/Persistence/Propel/Schema/spy_product_list.schema.xml
-
-``` html
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-Run the following commands to apply database changes and generate entity and transfer changes:
-```
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-{% info_block warningBox "Verification" %}
-Make sure that the following changes have been applied by checking your database:
Database Entity
Type
Event
spy_product_list
table
created
spy_product_list_product_concrete
table
created
spy_product_list_category
table
created
spy_product_abstract_product_list_storage
table
created
spy_product_concrete_product_list_storage
table
created
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that propel entities were generated successfully by checking their existence. Also, change the generated entity classes to extend from Spryker core classes:
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that the changes were implemented successfully. For this purpose, trigger the following methods and make sure that the above events have been triggered:
)
-
-## 3) Add Translations
-
-Append glossary according to your language configuration:
-
-src/data/import/glossary.csv
-
-```yaml
-product-cart.info.restricted-product.removed,"Unavailable item %sku% was removed from your shopping cart.",en_US
-product-cart.info.restricted-product.removed,"Der nicht verfügbare Artikel% sku% wurde aus Ihrem Einkaufswagen entfernt.",de_DE
-```
-
-
-
-Run the following console command to import data:
-```
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the configured data are added to the `spy_glossary` table in the database.
-{% endinfo_block %}
-
-## 4) Configure Export to Redis and Elasticsearch
-### Set up Event Listeners
-With this step, you will be able to publish tables on change (create, edit, delete) to the `spy_product_abstract_product_list_storage`, `spy_product_concrete_product_list_storage` and synchronize the data to Storage and Search.
-
-| Plugin | Specification |Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductListStorageEventSubscriber` | Registers listeners that are responsible for publishing product list information to storage when a related entity changes. | None | `Spryker\Zed\ProductListStorage\Communication\Plugin\Event\Subscriber` |
-|`ProductListSearchEventSubscriber`|egisters listeners that are responsible for publishing product list information to search when a related entity changes.|None|`Spryker\Zed\ProductListSearch\Communication\Plugin\Event\Subscriber`|
-
-
-src/Pyz/Zed/Event/EventDependencyProvider.php
-
-```php
-add(new ProductListStorageEventSubscriber());
- $eventSubscriberCollection->add(new ProductListSearchEventSubscriber());
-
- return $eventSubscriberCollection;
- }
-}
-```
-
-
-
-{% info_block warningBox "Verification" %}
-your content goes hereMake sure when a product list is created, updated or deleted, they are exported (or removed
-{% endinfo_block %} to Redis and Elasticsearch accordingly.
Storage type
Target entity
Example expected data identifier
Redis
Product Abstract Product List
kv:product_abstract_product_lists:1
Redis
Product Concrete Product List
kv:product_concrete_product_list:1
Elasticsearch
Product Abstract
product_abstract:de:en_us:1
)
-
-
-Example expected data fragment for Product Abstract Product List
-
-```yaml
-{
-"id_product_abstract": 1,
-"id_whitelists": [1,2],
-"id_blacklists": [3]
-}
-```
-
-
-
-
-Example expected data fragment for Product Concrete Product List
-
-```yaml
-{
-"id_product_concrete": 1,
-"id_whitelists": [1,2],
-"id_blacklists": [3]
-}
-```
-
-
-
-
-Example expected data fragment for Product Abstract
-
-```yaml
-{
-"product-lists": {
-"whitelists": [1,2],
-"blacklists": [3]
-}
-}
-```
-
-
-
-### Prepare search data for export
-With this step, we are extending Elasticsearch documents with product list data. Add the following plugins to your project:
-
-| Plugin | Specification |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `ProductListDataLoaderPlugin` |Loads product list data as payload for the publishing process. | None|`Spryker\Zed\ProductListSearch\Communication\Plugin\ProductPageSearch\DataLoader` |
-|`ProductListDataLoadExpanderPlugin`|Expands product page data with all its product lists for publishing based on the previously collected product information.|Product list data should be available in the product payload. Suggestion: use `ProductListDataLoaderPlugin` (see above).|`Spryker\Zed\ProductListSearch\Communication\Plugin\ProductPageSearch\DataExpander`|
-|`ProductListMapExpanderPlugin`|Maps product list data to Elasticsearch document structure.|Product list data should be available. Suggestion: use `ProductListDataLoadExpanderPlugin` (see above).|`Spryker\Zed\ProductListSearch\Communication\Plugin\ProductPageSearch`|
-|`ProductAbstractProductListSynchronizationDataPlugin`|Can be executed to synchronize all product_abstract_product_list entries from database to Redis.|None|`Spryker\Zed\ProductListStorage\Communication\Plugin\Synchronization`|
-|`ProductConcreteProductListSynchronizationDataPlugin`|Can be executed to synchronize all product_concrete_product_list entries from database to Redis.|None|`Spryker\Zed\ProductListStorage\Communication\Plugin\Synchronization`|
-
-
-src/Pyz/Zed/ProductPageSearch/ProductPageSearchDependencyProvider.php
-
-```php
- new ProductListDataLoadExpanderPlugin(),
- ];
- }
-
- /**
- * @return \Spryker\Zed\ProductPageSearch\Dependency\Plugin\ProductPageMapExpanderInterface[]
- */
- protected function getMapExpanderPlugins()
- {
- return [
- new ProductListMapExpanderPlugin(),
- ];
- }
-
- /**
- * @return \Spryker\Zed\ProductPageSearchExtension\Dependency\Plugin\ProductPageDataLoaderPluginInterface[]
- */
- protected function getDataLoaderPlugins()
- {
- return [
- new ProductListDataLoaderPlugin(),
- ];
- }
-}
-```
-
-
-
-
-src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php
-
-```php
-
-
-
-### Prepare the Search Queries
-
-Once the product list data is exported to Elasticsearch, make sure to extend your search queries to filter out restricted products by adding the following query expander plugin to your search queries where necessary.
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductListQueryExpanderPlugin` |
Expands an Elasticsearch query with blacklist and whitelist filters based on the customer session.
The result of the query will contain only products that were on the given whitelists, but not on the given blacklists.
|
The Customer session must contain product list information.
Suggestion: See "Merchant Product Lists" integration guide, for example, implementation.
| `Spryker\Client\CustomerCatalog\Plugin\Search` |
-
-{% info_block infoBox "Note" %}
-The order of the query expander plugins matters for the search result. Make sure that your query expanders are in the appropriate order. I.e. the `FacetQueryExpanderPlugin` needs to follow all other plugins that filter down the result, otherwise, it can't generate the proper query fragment for itself.
-{% endinfo_block %}
-
-
-src/Pyz/Client/Catalog/CatalogDependencyProvider.php
-
-```php
-
-
-{% info_block warningBox "Verification" %}
-Make sure that you haven't missed the expansion of any product search queries in your project where you need to consider product lists.
-{% endinfo_block %}
-{% info_block warningBox "Verification" %}
-Once you are done with this step, you should only be able to see those products in your search results, which are on the product lists of your customer's session.
-{% endinfo_block %}
-
-## 5) Import Data
-### Import Product Lists
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/product-list-data-import/data/import/product_list.csv
-
-```yaml
-"product_list_key","name","type"
-"pl-001","All computers","whitelist"
-"pl-002","No ASUS","blacklist"
-"pl-003","All tablets","blacklist"
-"pl-004","Cameras, Wearables & Phones","whitelist"
-"pl-005","Camcorders over 400€","blacklist"
-"pl-006","All cameras","whitelist"
-"pl-007","Tablets with enough storage","whitelist"
-"pl-008","No Smartwatches","blacklist"
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| product_list_key | mandatory | string (unique) | pl-001 | Unique identifier used to identify a product list. |
-|name|mandatory|string|All computers|Custom product list name used to provide a readable title or sentence of what the list contains. Used only for internal representation.|
-|type|mandatory|string ("blacklist"/"whitelist")|whitelist|Defines whether the list is a blacklist or a whitelist.|
-Register the following plugin to enable data import:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductListDataImportPlugin` | Imports basic product list data into the database. | None | `Spryker\Zed\ProductListDataImport\Communication\Plugin` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```
-console data:import product-list
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data are added to the spy_product_list table.
-{% endinfo_block %}
-
-### Import Product List Category Assignments
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/product-list-data-import/data/import/product_list_to_category.csv
-
-```yaml
-product_list_key,category_key
-pl-001,computer
-pl-003,tablets
-pl-004,cameras-and-camcorder
-pl-004,smart-wearables
-pl-004,smartphones
-pl-008,smartwatches
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| `product_list_key` | mandatory | string | pl-001 | An existing product list identifier for the assignment. |
-|`category_key`|mandatory|string|computer|An existing category identifier to be assigned to the product list.|
-Register the following plugin to enable data import:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductListCategoryDataImportPlugin` | Imports category assignments for product lists. | Product list data and category data must exist before this installer plugin runs. | `Spryker\Zed\ProductListDataImport\Communication\Plugin` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```
-console data:import product-list-category
-```
-{% info_block warningBox "Verificaton" %}
-Make sure that the configured data are added to the spy_product_list_category table in the database.
-{% endinfo_block %}
-
-### Import Product List Concrete Product Assignments
-
-Prepare your data according to your requirements using our demo data:
-
-vendor/spryker/product-list-data-import/data/import/product_list_to_concrete_product.csv
-
-```yaml
-product_list_key,concrete_sku
-pl-002,166_30230575
-pl-002,166_29565389
-pl-002,165_29879507
-pl-002,165_29879528
-pl-002,099_27207215
-pl-002,114_29911081
-pl-002,114_30580483
-pl-002,139_24699831
-pl-002,140_22766487
-pl-002,141_29380410
-pl-002,142_30943081
-pl-002,143_31035196
-pl-002,144_29804740
-pl-002,144_30312874
-pl-002,144_29804741
-pl-002,157_29525342
-pl-002,158_29885222
-pl-002,159_29885260
-pl-002,159_29885269
-pl-002,160_29533301
-pl-002,161_29533300
-pl-002,162_29533299
-pl-002,163_29728850
-pl-002,164_29565390
-pl-002,165_29879507
-pl-002,165_29879528
-pl-002,166_30230575
-pl-002,166_29565389
-pl-002,215_123
-pl-002,215_124
-pl-005,204_29851280
-pl-005,187_26306352
-pl-005,188_26306353
-pl-005,194_25904145
-pl-005,195_25904159
-pl-007,161_29533300
-pl-007,177_24867659
-pl-007,177_25913296
-```
-
-
-
-| Column | Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| `product_list_key` | mandatory | string | pl-002 | An existing product list identifier for the assignment. |
-|`concrete_sku`|mandatory|string|166_30230575|An existing concrete product SKU to assign to the product list.|
-
-Register the following plugin to enable data import:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductListProductConcreteDataImportPlugin` | Imports concrete product assignments for product lists. | Product list data and concrete product data must exist before this importer plugin runs. | `vendor/spryker/product-list-data-import/src/Spryker/Zed/ProductListDataImport/Communication/Plugin/ProductListProductConcreteDataImportPlugin.php` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```
-console data:import product-list-product-concrete
-```
-{% info_block warningBox "Verification" %}
-Make sure that the configured data are added to the `spy_product_list_product_concrete` table in the database.
-{% endinfo_block %}
-
-## 6) Set up Behavior
-### Reading From Product Storage
-Add the following plugins to your project:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ProductAbstractRestrictionPlugin` | Responsible for determining if an abstract product is restricted for the current customer or not. | None | `Spryker\Client\ProductListStorage\Plugin\ProductStorageExtension` |
-|`ProductConcreteRestrictionPlugin`|Responsible for determining if a concrete product is restricted for the current customer or not.|None|`Spryker\Client\ProductListStorage\Plugin\ProductStorageExtension`|
-|`ProductViewVariantRestrictionPlugin`|Responsible for filtering out product variants of a product view object.|The product view object should contain all available variant information. Suggestion: use `ProductViewVariantExpanderPlugin`before, to collect variant data.|`Spryker\Client\ProductListStorage\Plugin\ProductStorageExtension`|
-
-
-src/Pyz/Client/ProductStorage/ProductStorageDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure that features which use Redis to read product data (for example, Product Details Page, Product relations, etc.
-{% endinfo_block %} don't show it when a product is restricted for the customer.)
-
-### Product Restrictions in the Cart
-Add the following plugins to handle product restrictions for cart items:
-
-| Plugin |Specification |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `ProductListRestrictedItemsPreCheckPlugin` | Checks all cart items and adds violations to the cart precheck response when they are restricted for the current customer. | None | `Spryker\Zed\ProductList\Communication\Plugin\CartExtension` |
-|`RemoveRestrictedItemsPreReloadPlugin`|Checks and removes restricted cart items from the quote and adds a message for each removed item.|None|`Spryker\Zed\ProductList\Communication\Plugin\CartExtension`|
-
-
-Spryker\Zed\ProductList\Communication\Plugin\CartExtension
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-
-Make sure that no restricted products can be added to a cart and if they were already in a cart, they get properly removed once a product became restricted for the customer.
-
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-
-After completing the integration of this feature, you need to further extend it to provide one or many owner types for product lists to be able to assign them. A product list can only be fully functional when a user who browses the catalog gets product lists assigned and this can be done by providing owners for product lists.Check out our Merchant Relationship Product Restrictions integration guide that adds this functionality for merchant relationships: [Merchant Product Restrictions feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/merchant-product-restrictions-feature-integration.html).
-
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/product-rating-and-reviews-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/product-rating-and-reviews-feature-integration.md
deleted file mode 100644
index d941ee868ce..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/product-rating-and-reviews-feature-integration.md
+++ /dev/null
@@ -1,209 +0,0 @@
----
-title: Product Rating and Reviews feature integration
-description: The guide walks you through the process of installing the Product Reviews feature in your project.
-last_updated: Nov 26, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-review-feature-integration
-originalArticleId: 70376d67-bd83-4461-a0c6-1506aaaa22ad
-redirect_from:
- - /v1/docs/product-review-feature-integration
- - /v1/docs/en/product-review-feature-integration
----
-
-## Prerequisites
-To prepare your project to work with Product Reviews:
-1. Require the Product Review modules in your composer by running
- * `composer require spryker/product-review`
- * `composer require spryker/product-review-collector`
- * `composer require spryker/product-review-gui`
-2. Install the new database tables by running `vendor/bin/console propel:diff`. Propel should generate a migration file with the changes.
-3. Run `vendor/bin/console propel:migrate` to apply the database changes.
-4. Generate ORM models by running `vendor/bin/console propel:model:build`.
-This command will generate some new classes in your project under `\Orm\Zed\ProductReview\Persistence` namespace. It is important to make sure that they extend the base classes from the Spryker core, e.g.:
- * `\Orm\Zed\ProductReview\Persistence\SpyProductReview` extends `\Spryker\Zed\ProductReview\Persistence\Propel\AbstractSpyProductReview`
- * `\Orm\Zed\ProductReview\Persistence\SpyProductReviewQuery` extends `\Spryker\Zed\ProductReview\Persistence\Propel\AbstractSpyProductReviewQuery`
-5. Run `vendor/bin/console transfer:generate` to generate the new transfer objects.
-6. Activate the product review collectors by adding the `ProductReviewCollectorSearchPlugin` and the `ProductAbstractReviewCollectorStoragePlugin` to the Storage and Search Collector plugin stack.
-
-
-Example: collector plugin list extension
-
-```php
- new ProductReviewCollectorSearchPlugin(),
- ];
- };
-
- $container[static::STORAGE_PLUGINS] = function (Container $container) {
- return [
- // ...
- ProductReviewConfig::RESOURCE_TYPE_PRODUCT_ABSTRACT_REVIEW => new ProductAbstractReviewCollectorStoragePlugin(),
- ];
- };
-
-
- // ...
- }
- }
-```
-
-
-
-
-7. Run `vendor/bin/console setup:search` to set up Search before you run Search collectors.
-8. Make sure the new Zed user interface assets are built by running `npm run zed` (or antelope build zed for older versions).
-9. Update Zed’s navigation cache to show the new items for the Product Review management user interface by running `vendor/bin/console application:build-navigation-cache`.
-
-You should now be able to use the Zed API of Product Reviews to approve, reject and delete reviews, and the collectors should also be able to push approved reviews and ratings into Storage and Search. Check out our [Demoshop implementation](https://github.com/spryker/demoshop) for frontend implementation example and idea.
-
-## Usage in Yves
-### Submitting a Product Review
-To store an already validated product review, populate a `\Generated\Shared\Transfer\ProductReviewTransfer` transfer object and send it to Zed by calling the `\Spryker\Client\ProductReview\ProductReviewClientInterface::submitCustomerReview` method.
-This action will create a new pending product review in your persistent storage. The saved product review will be exported to Search and Storage after it was approved on Zed UI.
-Make sure that the provided rating value does not exceed [the configured maximum rating](/docs/pbc/all/ratings-reviews/{{site.version}}/tutorials-and-howtos/howto-configure-product-reviews.html#configuring-the-maximum-rating) limit.
-Example of how to store a validated customer review:
-```php
-getFactory()->getCustomerClient()->getCustomer()->getCustomerReference();
-
- $this->getFactory()->getProductReviewClient()->submitCustomerReview(
- (new ProductReviewRequestTransfer())
- ->setCustomerReference($customerReference)
- ->setLocaleName($this->getLocale())
- ->setIdProductAbstract($request->attributes->get('idProductAbstract'))
- ->setSummary($request->attributes->get('summary'))
- ->setDescription($request->attributes->get('description'))
- ->setRating($request->attributes->get('rating'))
- ->setNickname($request->attributes->get('nickname'))
- );
- }
- }
-```
-
-### Displaying an Average Rating
-To display the average rating stored in Storage, you will need to use `spyProductAbstractReview` and `spyProductAbstractReviewMaximumRating` twig extensions shipped by `ProductReview` module.
-
-* `spyProductAbstractReview` twig extension takes product abstract ID as first argument and injects the corresponding `ProductAbstractReviewTransfer` transfer object into the twig template provided as the second argument.
-
-* `spyProductAbstractReviewMaximumRating` twig extension allows you to retrieve the configured maximum rating on demand.
-
-To register these plugins, you need to add `ProductAbstractReviewTwigServiceProvider` service provider to your` \Pyz\Yves\Application\YvesBootstrap.php`.
-
-Example of how to register twig extensions:
-```php
-application->register(new ProductAbstractReviewTwigServiceProvider());
- }
-
- }
-```
-Now you will be able to call the registered `spyProductAbstractReview` and `spyProductAbstractReviewMaximumRating` twig extensions in your twig templates.
-
-Below is the example `spyProductAbstractReview` call.
-`@ProductReview/index/index.twig`:
-```yaml
-
Product name: {% raw %}{{{% endraw %}product.name{% raw %}}}{% endraw %}
-{% raw %}{{{% endraw %} spyProductAbstractReview(product.idProductAbstract, '@ProductReview/partials/average-rating.twig') {% raw %}}}{% endraw %}
-```
-The `spyProductAbstractReview` twig extension will render the template provided as a second argument and inject the productAbstractReviewTransfer variable.
-
-Below is the example average-rating.twig implementation.
-`@ProductReview/partials/average-rating.twig:`
-
-```yaml
-{% raw %}{%{% endraw %} block content {% raw %}%}{% endraw %}
- {% raw %}{%{% endraw %} if productAbstractReviewTransfer {% raw %}%}{% endraw %}
- Average product rating is {% raw %}{{{% endraw %} productAbstractReviewTransfer.averageRating {% raw %}}}{% endraw %} out of {% raw %}{{{% endraw %} spyProductAbstractReviewMaximumRating() {% raw %}}}{% endraw %}
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
-{% raw %}{%{% endraw %} endblock {% raw %}%}{% endraw %}
-```
-### Displaying Reviews and Rating Summary
-To display previously posted and already approved reviews from Search, you will need to call `\Spryker\Client\ProductReview\ProductReviewClientInterface::findProductReviewsInSearch` method.
-
-To alter the retrieved number of product reviews per page, change the Client configuration.
-
-Example of product review retrieval:
-```php
-namespace Pyz\Yves\ProductReview\Controller;
-
-use Generated\Shared\Transfer\ProductReviewSearchRequestTransfer;
-use Pyz\Yves\Application\Controller\AbstractController;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * @method \Spryker\Client\ProductReview\ProductReviewClientInterface getClient()
- */
-class IndexController extends AbstractController
-{
-
- /**
- * @param \Symfony\Component\HttpFoundation\Request $request
- *
- * @return array
- */
- public function indexAction(Request $request)
- {
- $productReviews = $this->getClient()->findProductReviewsInSearch(
- (new ProductReviewSearchRequestTransfer())
- ->setIdProductAbstract($request->attributes->get('idProductAbstract'));
- ->setRequestParams($request->query->all())
- );
-
- return [
- 'productReviews' => $productReviews['productReviews'],
- 'pagination' => $productReviews['pagination'],
- 'ratingAggregation' => $productReviews['ratingAggregation'],
- ];
- }
-
-}
-```
-
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/product-relations-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/product-relations-feature-integration.md
deleted file mode 100644
index 458dadc9078..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/product-relations-feature-integration.md
+++ /dev/null
@@ -1,186 +0,0 @@
----
-title: Product Relation Integration
-description: The guide walks you through the process of installing the Product Relation feature in your project.
-last_updated: Nov 26, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-relation-integration
-originalArticleId: 93c167da-65fa-4a4f-961d-aa63b815e8e1
-redirect_from:
- - /v1/docs/product-relation-integration
- - /v1/docs/en/product-relation-integration
----
-
-
-1. Register a new collector plugin. How to is in .
-2. Then register a new twig service plugin
-`\Spryker\Yves\ProductRelation\Plugin\ProductRelationTwigServiceProvider` inside the `\Pyz\Yves\Application\YvesBootstrap::registerServiceProviders` plugin stack. This will allow to use the UI carousel component to display relations.
-3. Add this new twig extension to your templates. By default, it is included in the product detail and cart overview pages of our demoshop.
-
-**To render the component, include the provided twig function as shown bellow**:
-
-* **Product detail**- `product_relation("related-products", {idProductAbstract : product.idProductAbstract}, 'Similar products', '@ProductRelation/partial/product_relation_carousel.twig') ` .
-* **Cart Overview** - `product_relation("up-selling", {quote : quoteTransfer}, 'You might also be interested in these products', '@ProductRelation/partial/product_relation_carousel.twig')`.
-
-Each type accepts a number of parameters:
-
-"up-selling" - `abstractProductIds` which is an array of abstract product ids `(['abstractProductIds' => [1,2,3]])` or `quote `which is quote transfer object `(['quote' => $quoteTransfer])`.
-
-"related-products" - i`dProductAbstract (['idProductAbstract' => 1])`.
-
-* Include javascript carousel component `slick.js` In `package.json `include
-
-```php
-"dependencies": {
-...
-"slick-carousel": "~1.6.0",
-}
-```
-
-and run `npm install`
-
-Create a new component under `assets/Yves/default/app/components/carousel/_carousel.scss` with contents.
-
-```css
-.carousel {
- font-size:14px;
-
- .image-container {
- width: 150px;
- height: 180px;
- }
-
- .slick-slide {
- margin-left: 10px;
- }
-
- .product-name {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
- }
- ```
-
-include this style file in `/assets/Yves/default/app/style/index.scss` like `@import '../components/carousel/carousel';assets/Yves/default/app/components/carousel/index.js` - configures the slick.js javascript carousel component.
-
-```css
-var $ = require('jquery');
-var carousel = require('slick-carousel');
-
-module.exports = {
-name: 'carousel',
- view: {
- init: function($root) {
- this.$root = $root;
- this.$root.slick({
- infinite: true,
- slidesToShow: 6,
- slidesToScroll: 6,
- responsive: [
- {
- breakpoint: 1024,
- settings: {
- slidesToShow: 3,
- slidesToScroll: 3
- }
- },
- {
- breakpoint: 600,
- settings: {
- slidesToShow: 2,
- slidesToScroll: 2
- }
- },
- {
- breakpoint: 480,
- settings: {
- slidesToShow: 1,
- slidesToScroll: 1
- }
- }
- ]
- });
- },
- }
-};
-
-```
-
-Include this `js` file in` assets/Yves/default/app/index.js`:
-
-```css
-run([
- ...
- require('./components/carousel')
- ]);
-```
-
-Create file `/assets/Yves/default/vendor/slick-carousel.scss` with contents.
-
-```css
-$slick-assets-relative-path: "../../../../node_modules/slick-carousel/slick/";
-
- $slick-font-path: "#{$slick-assets-relative-path}fonts/";
- $slick-font-family: "slick";
- $slick-loader-path: $slick-assets-relative-path;
- $slick-arrow-color: black;
- $slick-dot-color: black;
- $slick-dot-color-active: black;
- $slick-prev-character: "\2190";
- $slick-next-character: "\2192";
- $slick-dot-character: "\2022";
- $slick-dot-size: 30px;
- $slick-opacity-default: 0.75;
- $slick-opacity-on-hover: 1;
- $slick-opacity-not-active: 0.25;
-
- @import '~slick-carousel/slick/slick.scss';
- @import '~slick-carousel/slick/slick-theme.scss';
-
- .slick-list {
- .slick-loading & {
- background: none !important;
- }
- }
- ```
-
- Run `npm run yves` to generate javascript and css.
-
-{% info_block warningBox "Note" %}
-To reference an example implementation, see the latest demoshop .
-{% endinfo_block %}
-
-Add template for rendering html `src/Pyz/Yves/ProductRelation/Theme/default/partial/product_relation_carousel.twig`
-
-```html
-{% raw %}{%{% endraw %} if productRelations {% raw %}%}{% endraw %}
-
-
-
-
{% raw %}{{{% endraw %} name {% raw %}}}{% endraw %}
-
-
-
- {% raw %}{%{% endraw %} for relation in productRelations {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} include "@catalog/catalog/partials/product.twig" with {
- detailsUrl: relation.url,
- name:relation.name,
- priceValue: relation.price,
- product: relation,
- imageUrl: (relation.imageSets|length ? relation.imageSets.default[0].externalUrlSmall : '')
- } {% raw %}%}{% endraw %}
-
- {% raw %}{%{% endraw %} endfor {% raw %}%}{% endraw %}
-
-
-
-
-
-
- {% raw %}{%{% endraw %} endif {% raw %}%}{% endraw %}
- ```
-This is sample a template and has to be updated for the project.
-
-You may also want to adjust the product relations updater script (how often it should run). The relations have a periodic updater `product-relation:update` which is started by Jenkins.
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/product-set-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/product-set-feature-integration.md
deleted file mode 100644
index fb56b1a10ba..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/product-set-feature-integration.md
+++ /dev/null
@@ -1,187 +0,0 @@
----
-title: Product Set feature integration
-description: The Product Sets feature allows you to put together multiple products for the purpose of emphasizing that the set of products can be bought together.
-last_updated: Nov 26, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/product-set-feature-integration
-originalArticleId: b247a92a-628b-431b-9213-93fb77daf909
-redirect_from:
- - /v1/docs/product-set-feature-integration
- - /v1/docs/en/product-set-feature-integration
----
-
-The Product Sets feature allows you to put together multiple products for the purpose to emphasize that the set of products can be bought together. Product Sets usually have their separate list and detail pages in the shop frontend where customers can add containing products to the cart.
-
-## Prerequisites
-To prepare your project to work with Product Sets:
-1. Require the Product Set modules in your `composer.json` by running:
-
-```bash
-composer require spryker/product-set spryker/product-set-collector spryker/product-set-gui
-```
-2. Install the new database tables by running:
-
-```bash
-vendor/bin/console propel:diff
-```
-Propel should generate a migration file with the changes.
-
-3. Apply the database changes. For this, run:
-
-```bash
-vendor/bin/console propel:migrate
-```
-4. To generate ORM models, run:
-
-```bash
-vendor/bin/console propel:model:build
-```
-
-5. After running this command, new classes are added.
-
-The classes are located in your project under the `\Orm\Zed\ProductSet\Persistence` namespace.
-
-{% info_block warningBox “Verification” %}
-
-Make sure that they extend the base classes from the Spryker core, for example:
-
-* `\Orm\Zed\ProductSet\Persistence\SpyProductSet` extends `\Spryker\Zed\ProductSet\Persistence\Propel\AbstractSpyProductSet`
-
-* `\Orm\Zed\ProductSet\Persistence\SpyProductSetData` extends `\Spryker\Zed\ProductSet\Persistence\Propel\AbstractSpyProductSetData`
-
-* `\Orm\Zed\ProductSet\Persistence\SpyProductAbstractSet` extends `\Spryker\Zed\ProductSet\Persistence\Propel\AbstractSpyProductAbstractSet`
-
-* `\Orm\Zed\ProductSet\Persistence\SpyProductSetQuery` extends `\Spryker\Zed\ProductSet\Persistence\Propel\AbstractSpyProductSetQuery`
-
-* `\Orm\Zed\ProductSet\Persistence\SpyProductSetDataQuery` extends `\Spryker\Zed\ProductSet\Persistence\Propel\AbstractSpyProductSetDataQuery`
-
-* `\Orm\Zed\ProductSet\Persistence\SpyProductAbstractSetQuery` extends `\Spryker\Zed\ProductSet\Persistence\Propel\AbstractSpyProductAbstractSetQuery`
-
-{% endinfo_block %}
-
-6. To get the new transfer objects, run the following command:
-
-```bash
-vendor/bin/console transfer:generate
-```
-
-7. To rebuild Zed navigation, run the following command:
-
-```bash
-vendor/bin/console navigation:build-cache
-```
-
-8. Activate the Product Set collectors:
-
-Adding `ProductSetCollectorStoragePlugin` to the storage collector plugin stack and `ProductSetCollectorSearchPlugin` to the search collector plugin stack, see the example below.
-
-```php
- new ProductSetCollectorSearchPlugin(),
- ];
- };
-
- $container[self::STORAGE_PLUGINS] = function (Container $container) {
- return [
- // ...
- ProductSetConfig::RESOURCE_TYPE_PRODUCT_SET => new ProductSetCollectorStoragePlugin(),
- ];
- };
-
- // ...
- }
-}
-```
-
-## Data Setup
-
-You should now be able to use the `ProductSet` module Zed API to manage Product Sets, and the collectors should also be able to export them to the KV storage and Elasticsearch. In Zed you can also manage Product Sets under Products > Product Sets menu point.
-
-This is a good time to implement an installer in your project to put products together in sets representing how you want them to be displayed in your shop frontend. Check out our [Demoshop](https://github.com/spryker/demoshop) implementation for examples and ideas.
-
-### Listing Products Sets in Yves
-The KV storage and Elasticsearch should by now have some Product Sets you can list and display in your shop. The exported documents in Search by default do not support the configurable search features as products (full-text search, faceted navigation, sorting, and pagination). However, since their data structure is the same it is possible to implement the same features with a custom implementation.
-
-For simple listing the `ProductSet` module provides a Client API to list Product Sets from Elasticsearch. By calling the `ProductSetClient::getProductSetList()` method, a limited set of documents can be listed in Yves. The results are sorted in descending order by the Product Set’s weight attribute.
-
-The executed search query works the same way as described in Search Query.
-If you need to extend the query, for example, by filtering current store and locale, you will need to add the necessary query expander plugins, like in the example below. Also, to format the raw response from Elasticsearch we also need to provide a result formatter plugin that is also provided by the `ProductSet` module.
-
-Take a look at the following example to see how to activate the plugins:
-
-```php
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/quick-add-to-cart-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/quick-add-to-cart-feature-integration.md
deleted file mode 100644
index ce1d410ad04..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/quick-add-to-cart-feature-integration.md
+++ /dev/null
@@ -1,157 +0,0 @@
----
-title: Quick Add to Cart feature integration
-description: Quick Add to Cart allows customers to buy products in a few clicks. This guide will walk you through the process of integrating this feature into your project.
-last_updated: Nov 22, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/quick-order-feature-integration-201811
-originalArticleId: ea9ad960-c5c0-465b-847c-cdbe16dd4eb6
-redirect_from:
- - /v1/docs/quick-order-feature-integration-201811
- - /v1/docs/en/quick-order-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-To start the feature integration, overview and install the necessary features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core E-commerce |2018.11.0 |
-| Cart|2018.11.0 |
-| Product |2018.11.0 |
-| Checkout | 2018.11.0|
-
-## Install the required modules using Composer
-
-Run the following command(s) to install the required modules:
-
-```bash
-composer require spryker-feature/quick-add-to-cart:"^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox “Verification” %}
-
-Make sure that the module listed in the following table has been installed:
-
-| Module |Expected Directory |
-| --- | --- |
-| `QuickOrderPage` | `vendor/spryker-shop/quick-order-page`|
-
-{% endinfo_block %}
-
-## Set up Transfer Objects
-
-Run the following commands to generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-{% info_block warningBox “Verification” %}
-
-Make sure that the modules listed in the following table have been installed:
-
-| Module |Type |Event |Path |
-| --- | --- |--- |--- |
-| `QuickOrderTransfer`|class |created| `vendor/spryker-shop/quick-order-page`|
-| `QuickOrderItemTransfer`|class |created| `src/Generated/Shared/Transfer/QuickOrderItemTransfer`|
-
-{% endinfo_block %}
-
-## Add Translations
-
-Feature specific glossary keys:
-
-src/data/import/glossary.csv
-
-```yaml
-quick-order.page-title,Quick Order,en_US
-quick-order.page-title,Schnellbestellung,de_DE
-quick-order.input-label.qty,"# Qty",en_US
-quick-order.input-label.qty,"# Anzahl",de_DE
-quick-order.input-label.sku,SKU,en_US
-quick-order.input-label.sku,Artikelnummer,de_DE
-quick-order.button.add-more-rows,Add More Rows,en_US
-quick-order.button.add-more-rows,Reihen hinzufügen,de_DE
-quick-order.button.create-order,Create Order,en_US
-quick-order.button.create-order,Bestellen,de_DE
-quick-order.errors.items-required,Please enter at least one product SKU,en_US
-quick-order.errors.items-required,Bitte geben Sie mindestens eine Produkt-Artikelnummer,de_DE
-quick-order.errors.quantity-required,Quantity must be at least 1,en_US
-quick-order.errors.quantity-required,Die Anzahl muss mindestens 1 sein,de_DE
-quick-order.paste-order.title,Paste your order,en_US
-quick-order.paste-order.title,Bestellung einfügen,de_DE
-quick-order.paste-order.description,"Copy and paste your order with the item # and quantity separated by spaces, semicolons or commas. One sku per line.",en_US
-quick-order.paste-order.description,"Kopieren Sie und fügen Sie Ihre Bestellung bestehend aus Artikel # und Anzahl, getrennt durch Leerzeichen, Semikolon oder Komma, hier ein. Eine Artikel # pro Reihe.",de_DE
-quick-order.paste-order.input-placeholder.copy-paste-order,Paste your order here,en_US
-quick-order.paste-order.input-placeholder.copy-paste-order,Bestellung hier einfügen,de_DE
-quick-order.paste-order.button.verify,Verify,en_US
-quick-order.paste-order.button.verify,Prüfen,de_DE
-quick-order.paste-order.errors.text-order-format-incorrect,"Order format is incorrect.",en_US
-quick-order.paste-order.errors.text-order-format-incorrect,"Falsches Bestellungsformat.",de_DE
-quick-order.paste-order.errors.parser.separator-not-detected,"Separator is not defined.",en_US
-page.detail.add-to-cart,In den Warenkorb,de_DE
-page.detail.add-to-cart,Add to Cart,en_US
-```
-
-
-
-Run the following command to import glossary changes:
-
-```bash
-console data:import:glossary
-```
-
-{% info_block warningBox “Verification” %}
-
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-
-{% endinfo_block %}
-
-## Enable Controllers
-
-### Controller Provider List
-
-Register controller provider(s) to Yves application:
-
-| Provider | Namespace | Enable Controller|Controller Specification |
-| --- | --- | --- | --- |
-| ` QuickOrderPageControllerProvider` | ` SprykerShop\Yves\QuickOrderPage\Plugin\Provider` | ` QuickOrderController` |Provides functionality to display and process Quick Order table. |
-
-**src/Pyz/Yves/ShopApplication/YvesBootstrap.php**
-
-```php
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/shared-carts-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/shared-carts-feature-integration.md
deleted file mode 100644
index 6a22f874d28..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/shared-carts-feature-integration.md
+++ /dev/null
@@ -1,753 +0,0 @@
----
-title: Shared Carts feature integration
-description: The Shared Carts Feature allows sharing shopping carts within an entire business unit. The guide describes how to integrate the feature into your project.
-last_updated: Nov 25, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/shared-carts-feature-integration-201811
-originalArticleId: 3459b42e-9e0b-47a0-8774-5755e00c9353
-redirect_from:
- - /v1/docs/shared-carts-feature-integration-201811
- - /v1/docs/en/shared-carts-feature-integration-201811
- - /docs/scos/dev/feature-integration-guides/201811.0/glue-api/shared-carts-feature-integration.html
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Cart| 2018.11.0 |
-| Persistent Cart |2018.11.0 |
-|Multiple Carts | 2018.11.0|
-| Company Account | 2018.11.0|
-| Spryker Core |2018.11.0 |
-
-### 1) Install Require Modules Using Composer
-
-Run the following command(s) to install the required modules:
-
-```bash
-composer require spryker-feature/shared-carts: "^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules have been installed:
Module
Expected directory
`SharedCart`
`vendor/spryker/shared-cart`
`SharedCartDataImport`
`vendor/spryker/shared-cart-data-import`
-{% endinfo_block %}
-
-### 2) Set up the Database Schema
-
-Run the following commands to apply database changes and generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes have been applied by checking your database:
Database entity
Type
Event
spy_quote_company_user
table
created
spy_quote_permission_group
table
created
spy_quote_permission_group_to_permission
table
created
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes in transfer objects have been applied:
-{% endinfo_block %}
-
-### 3) Add Translations
-
-Glossary keys for flash messages:
-
-
-src/data/import/glossary.csv
-
-```yaml
-shared_cart.share.error.already_exist,Cart was already shared with this customer,en_US
-shared_cart.share.error.already_exist,Der Warenkorb wurde bereits mit diesem Kunden geteilt,de_DE
-```
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data has been added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 4) Import Data
-
-#### Add Infrastructural Data
-
-Register the following plugins:
-
-| Plugin |Specification|Prerequisites|Namespace |
-| --- | --- |--- |--- |
-|`SharedCartPermissionInstallerPlugin` |Installs the registered infrastructural quote permissions. |None|`Spryker\Zed\SharedCart\Communication\Plugin`|
-| `ReadSharedCartPermissionPlugin` | Quote permission to check read shared cart permissions in client layer. |None |`Spryker\Client\SharedCart\Plugin`|
-|`WriteSharedCartPermissionPlugin`| Quote permission to check write shared cart permissions in client layer. |None |`Spryker\Client\SharedCart\Plugin`|
-|`ReadSharedCartPermissionPlugin`| Quote permission to check read shared cart permissions in zed layer. |None |`Spryker\Zed\SharedCart\Communication\Plugin`|
-| `WriteSharedCartPermissionPlugin` | Quote permission to check write shared cart permissions in zed layer. |None |`Spryker\Zed\SharedCart\Communication\Plugin` |
-
-
-src/Pyz/Zed/Installer/InstallerDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Client/Permission/PermissionDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/Permission/PermissionDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to execute registered installer plugins and install infrastructural data:
-
-```bash
-console setup:init-db
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that records with the keys `ReadSharedCartPermissionPlugin` and `WriteSharedCartPermissionPlugin` have been added to the `spy_permission` table.
-Make sure that in the database the configured infrastructural quote permission groups have been added to the `spy_quote_permission_group` and `spy_quote_permission_group_to_permission` tables.
-{% endinfo_block %}
-
-#### Import Carts sharing
-{% info_block infoBox "Info" %}
-The following imported entities will be used as carts to the company user relation in the Spryker OS.
-{% endinfo_block %}
-
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/shared-cart-data-import/data/import/shared_cart.csv
-
-```yaml
-quote_key,company_user_key,permission_group_name
-quote-22,Spryker--1,FULL_ACCESS
-quote-23,Spryker--1,FULL_ACCESS
-quote-23,Spryker--2,FULL_ACCESS
-quote-23,Spryker--3,FULL_ACCESS
-quote-23,Spryker--6,FULL_ACCESS
-quote-23,Spryker--4,READ_ONLY
-quote-23,Spryker--5,READ_ONLY
-```
-
-
-
-| Column |REQUIRED | Data Type |Data Example |Data explanation |
-| --- | --- | --- | --- | --- |
-| `quote_key` |mandatory | string|quote-22 | Key that will identify the quote to add data to. |
-| `company_user_key` | mandatory | string| Spryker--1|Key that will identify the company user that the quote is shared with. |
-|`permission_group_name` | mandatory | string| FULL_ACCESS | Permission group that will be assigned to the shared company user. |
-
-Register the following plugin to enable data import:
-
-| Plugin |Specification |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `SharedCartDataImportPlugin` |Imports customer's quotes sharing to database. | Make sure that customers have been already imported. Make sure that company users have been already imported. Make sure that a cart has been already imported.| `Spryker\Zed\SharedCartDataImport\Communication\Plugin` |`src/Pyz/Zed/DataImport/DataImportDependencyProvider.php`
-
-```php
- It is executed after the cart has been created or updated. | None | `Spryker\Zed\SharedCart\Communication\Plugin` |
-| `RemoveSharedQuoteBeforeQuoteDeletePlugin` | Removes the sharing relation for the current cart before the cart has been removed. | None |`Spryker\Zed\SharedCart\Communication\Plugin `|
-| `UpdateShareDetailsQuoteAfterSavePlugin`| Updates the cart sharing relations after the cart has been created or updated. |None |`Spryker\Zed\SharedCart\Communication\Plugin `|
-| `SharedQuoteSetDefaultBeforeQuoteSavePlugin `| Marks the cart sharing relation for the current customer as active if the quote has been marked as active. |None |`Spryker\Zed\SharedCart\Communication\Plugin` |
-
-{% info_block infoBox "Info" %}
-All shared cart plugins must be added after multicart plugins have been registered.
-{% endinfo_block %}
-
-
-src/Pyz/Zed/Quote/QuoteDependencyProvider.php
-
-```php
-
-
-
-{% info_block infoBox "Info" %}
-A shared quote can be marked as default for a customer that has access. The `is_default` field in the `spy_quote_company_user` DB table must be set to true in the corresponding record. A new record will be added to `spy_quote_company_user` if the sharing quote functionality is used.
-{% endinfo_block %}
-
-#### Persistent Cart Integration
-
-Register the following plugins:
-
-| Plugin |Specification |Prerequisites |Namespase |
-| --- | --- | --- | --- |
-| `SharedCartsUpdateQuoteUpdatePlugin` | Adds shared cart list to multi cart collection. Sorts the collection by name. Saves the multicart collection in the session. | `SharedCartQuoteResponseExpanderPlugin` should be included. It should be executed after `\Spryker\Client\MultiCart\Plugin\SaveCustomerQuotesQuoteUpdatePlugin` has been registered and before `\Spryker\Client\MultiCart\Plugin\DefaultQuoteUpdatePlugin` has been registered. |`Spryker\Client\SharedCart\Plugin` |
-| `ProductSeparatePersistentCartChangeExpanderPlugin` | Allows adding a product as a separate item if the product with the same sku already exists in the cart. | 1 | `Spryker\Client\SharedCart\Plugin` |
-| `PermissionUpdateQuoteUpdatePlugin` | Takes a permission list from `QuoteResponseTransfer` and updates a customer from the session. | `SharedCartQuoteResponseExpanderPlugin` should be included. | `Spryker\Client\SharedCart\Plugin`|
-| `SharedCartQuoteResponseExpanderPlugin`| Expands `QuoteResponseTransfer` with the following shared cart related data:
Carts shared with the customer.
Customer permission list.
Expands a customer cart with the sharing data.
|1 | `Spryker\Zed\SharedCart\Communication\Plugin` |
-
-
-src/Pyz/Client/PersistentCart/PersistentCartDependencyProvider.php
-
-```php
-
-
-
-
-
-src/Pyz/Zed/PersistentCart/PersistentCartDependencyProvider
-
-```php
-
-
-
-{% info_block infoBox "Info" %}
-After adding items to the cart, the following things must be done:
Quotes shared with the current customer must be added to the multicart session;
`CustomerTransfer::$permissions` must contain permissions and be updated in the customer session.
-{% endinfo_block %}
-
-#### Set up Permission Integration
-
-Register the following plugin:
-
-| Plugin |Specification | Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `QuotePermissionStoragePlugin`| Shared cart permission provider. | None | `Spryker\Zed\SharedCart\Communication\Plugin` |
-
-
-src/Pyz/Zed/Permission/PermissionDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Note" %}
-A customer cannot add an item to read only shared quote.
-{% endinfo_block %}
-
-#### Set up Customer Integration
-
-Register the following plugin:
-
-| Plugin| Specification| Prerequisites |Namespace |
-| --- | --- | --- | --- |
-|`QuotePermissionCustomerExpanderPlugin`| Expands customer with shared cart permissions. |None | `Spryker\Zed\SharedCart\Communication\Plugin`|
-
-
-src/Pyz/Zed/Customer/CustomerDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Note" %}
-Logged in customer's `CustomerTransfer::$permissions` must contain such permissions as `ReadSharedCartPermissionPlugin` and `WriteSharedCartPermissionPlugin`.
-{% endinfo_block %}
-
-#### Set up Company User Integration
-
-Register the following plugin:
-
-|Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `SharedCartCompanyUserPreDeletePlugin` | Removes all company users from the cart relations before a company user has been removed.| None | `Spryker\Zed\SharedCart\Communication\Plugin\CompanyUserExtension` |
-
-
-src/Pyz/Zed/CompanyUser/CompanyUserDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Note" %}
-Before removing a company user, all records from the `spy_quote_company_user` DB table related to the company user must be removed.
-{% endinfo_block %}
-
-## Install feature frontend
-
-### Prerequisites
-
-Please review and install the necessary features before beginning the integration step.
-
-| Name |Version |
-| --- | --- |
-| Cart | 2018.11.0 |
-|Persistent Cart |2018.11.0 |
-| Multiple Carts |2018.11.0 |
-| Spryker Core E-commerce | 2018.11.0 |
-
-### 1) Install Require Modules Using Composer
-
-Run the following command(s) to install the required modules:
-
-```bash
-composer require spryker-feature/shared-carts: "^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules have been installed:
Module
Expected directory
`SharedCartPage`
<`vendor/spryker-shop/shared-cart-page`
`SharedCartWidget`
`vendor/spryker-shop/shared-cart-widget`
-{% endinfo_block %}
-
-### 2) Add Translations
-
-Append glossary according to your configuration:
-
-
-src/data/import/glossary.csv
-
-```yaml
-shared_cart_widget.add_product.separate,"Add as separate item",en_US
-shared_cart_widget.add_product.separate,"Als separaten Artikel hinzufügen",de_DE
-shared_cart_widget.cart.share,"Share cart",en_US
-shared_cart_widget.cart.share,"Warenkorb teilen",de_DE
-shared_cart_widget.cart.unshare,"Unshare cart",en_US
-shared_cart_widget.cart.unshare,"Freigabewagen wird aufgehoben",de_DE
-shared_cart_widget.cart.dismiss,Dismiss,en_US
-shared_cart_widget.cart.dismiss,Ablehnen,de_DE
-shared_cart_widget.share_list.shared_with,Cart shared with,en_US
-shared_cart_widget.share_list.shared_with,Warenkorb geteilt mit,de_DE
-shared_cart_widget.share_list.customer_name,Customer name,en_US
-shared_cart_widget.share_list.customer_name,Kundenname,de_DE
-shared_cart_widget.share_list.permission,Access level,en_US
-shared_cart_widget.share_list.permission,Zugriffsebene,de_DE
-shared_cart_widget.share_list.actions,Actions,en_US
-shared_cart_widget.share_list.actions,Aktionen,de_DE
-shared_cart_widget.share_list.action.unshare,Unshare cart,en_US
-shared_cart_widget.share_list.action.unshare,Freigabe des Einkaufswagens,de_DE
-shared_cart.share_list.permissions.NO_ACCESS,No access,en_US
-shared_cart.share_list.permissions.NO_ACCESS,Kein Zugang,de_DE
-shared_cart.share_list.permissions.READ_ONLY,Read-only,en_US
-shared_cart.share_list.permissions.READ_ONLY,Schreibgeschützt,de_DE
-shared_cart.share_list.permissions.FULL_ACCESS,Full access,en_US
-shared_cart.share_list.permissions.FULL_ACCESS,Ohne Einschränkung,de_DE
-shared_cart.share_list.permissions.OWNER_ACCESS,Owner access,en_US
-shared_cart.share_list.permissions.OWNER_ACCESS,Eigentümer Zugriff,de_DE
-shared_cart.form.share_cart,"Share cart",en_US
-shared_cart.form.share_cart,"Warenkorb teilen",de_DE
-shared_cart.form.share_cart.title,"Share cart ""cart_name""",en_US
-shared_cart.form.share_cart.title,"Warenkorb teilen ""cart_name""",de_DE
-shared_cart.form.customer,"Customer name",en_US
-shared_cart.form.customer,Kundenname,de_DE
-shared_cart.form.select_customer,Select customer,en_US
-shared_cart.form.select_customer,"Wählen Sie den Kunden aus",de_DE
-shared_cart.form.select_permissions,Select access level,en_US
-shared_cart.form.select_permissions,"Wählen Sie Zugriffsebene",de_DE
-shared_cart.form.share_button,Share,en_US
-shared_cart.form.share_button,Aktie,de_DE
-shared_cart.form.save_button,Save,en_US
-shared_cart.form.save_button,Sparen,de_DE
-shared_cart.form.data_empty,"There are no Users with whom you can share shopping cart.",en_US
-shared_cart.form.data_empty,"Es gibt keine Benutzer, mit denen Sie den Einkaufswagen teilen können.",de_DE
-shared_cart.share.breadcrumbs.share,Share,en_US
-shared_cart.share.breadcrumbs.share,Teilen,de_DE
-shared_cart.share.breadcrumbs.shopping_carts,Shopping carts,en_US
-shared_cart.share.breadcrumbs.shopping_carts,Warenkörbe,de_DE
-shared_cart.share.form.users,Users,en_US
-shared_cart.share.form.users,Benutzer,de_DE
-shared_cart_page.share.success,Cart was successfully shared,en_US
-shared_cart_page.share.success,Warenkorb wurde erfolgreich geteilt,de_DE
-shared_cart_page.unshare.success,Cart was successfully unshared,en_US
-shared_cart_page.unshare.success,Teilen des Warenkorbs wurde erfolgreich aufgehoben ,de_DE
-shared_cart_page.dismiss_confirmation.warning,Warning,en_US
-shared_cart_page.dismiss_confirmation.warning,Warnung,de_DE
-shared_cart.dismiss.title,Dismiss shared cart ‘quote_name’,en_US
-shared_cart.dismiss.title,Warenkorb ‘quote_name’ ablehnen,de_DE
-shared_cart_page.share.breadcrumbs.dismiss,Dismiss,en_US
-shared_cart_page.share.breadcrumbs.dismiss,Ablehnen,de_DE
-shared_cart_page.cart.dismiss,Dismiss,en_US
-shared_cart_page.cart.dismiss,Ablehnen,de_DE
-shared_cart_page.dismiss_confirmation.trying_to_dismiss,Are you sure that you what to dismiss shopping cart?,en_US
-shared_cart_page.dismiss_confirmation.trying_to_dismiss,"Sind Sie sicher, dass Sie den Warenkorb ablehnen wollen?",de_DE
-shared_cart_page.dismiss.success,Shopping cart was dismissed successfully.,en_US
-shared_cart_page.dismiss.success,Warenkorb wurde erfolgreich abgelehnt.,de_DE
-```
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data has been added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 3) Set up Widgets
-
-Register the following global widgets:
-
-| Plugin |Description |Prerequisistes |Namespace |
-| --- | --- | --- | --- |
-|`SharedCartPermissionGroupWidget`| Adds a cart access level for the multicart list to the header.| None |`SprykerShop\Yves\SharedCartWidget\Widget` |
-| `CartListPermissionGroupWidget` | Adds the cart access level column and share/dismiss links to the action column for the multicart list page. |None | `SprykerShop\Yves\SharedCartWidget\Widget` |
-| `CartDeleteCompanyUsersListWidget` |Renders a list, shared with the customer, for the cart confirm delete page. | None | `SprykerShop\Yves\SharedCartWidget\Widget` |
-
-
-src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
-```php
-
-
-
-Run the following command to enable Javascript and CSS changes:
-
-```bash
-console frontend:yves:build
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following plugin has been registered: Open Yves and log in with customer.
-{% endinfo_block %}
-
-| Module |Test |
-| --- | --- |
-| `SharedCartPermissionGroupWidget `| Hover over the multicart list in the header: it should contain the access column.|
-| `CartListPermissionGroupWidget` |Open https://example.url/multi-cart/ - the page should contain the access column and share cart link. |
-| `CartDeleteCompanyUsersListWidget` |Open https://example.url/multi-cart/. Click on the share cart link. Share the cart and click on the delete link. The list of customers whom this cart is shared with should appear on the delete confirmation page.|
-
-
-### 4) Enable Controllers
-
-| Plugin |Description |Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `SharedCartPageControllerProvider` |Provides routes used in SharedCartPage. |None | `SprykerShop\Yves\SharedCartPage\Plugin\Provider` |
-
-
-src/Pyz/Yves/ShopApplication/YvesBootstrap.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-Make sure that the following plugin has been registered:
Open Yves and log in with customer.
Open `https://mysprykershop.com/multi-cart/` - the page should contain all customer's quotes.
Click on the share link. The share cart page should open.
-{% endinfo_block %}
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-feature-integration.md
deleted file mode 100644
index 0a5e7290ad5..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-feature-integration.md
+++ /dev/null
@@ -1,1163 +0,0 @@
----
-title: Shopping Lists feature integration
-description: This guide walks you through the process of installing the Shopping lists feature into your project.
-last_updated: Jan 28, 2020
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/shopping-lists-feature-integration-201811
-originalArticleId: d8898b5e-8b5e-42ac-b44e-b644f3878d42
-redirect_from:
- - /v1/docs/shopping-lists-feature-integration-201811
- - /v1/docs/en/shopping-lists-feature-integration-201811
----
-
-## Install Feature Core
-### Prerequisites
-To start Shopping Lists feature integration, review and install the necessary features:
-
-| Name |Version |
-| --- | --- |
-| Company Account | 2018.11.0 |
-| Customer Account Management | 2018.11.0 |
-|Spryker Core | 2018.11.0 |
-| Cart| 2018.11.0 |
-| Prices| 2018.11.0|
-| Product |2018.11.0|
-
-### 1) Install Require Modules using Composer
-
-Run the following command to install the required modules:
-
-```yaml
-composer require spryker-feature/shopping-lists:"^2018.11.0" --update-with-dependencies
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following modules were installed:
Module
Expected Directory
`ShoppingList`
`vendor/spryker/shopping-list`
`ShoppingListNote`
`vendor/spryker/shopping-list-note`
`ShoppingListSession`
`vendor/spryker/shopping-list-session`
-{% endinfo_block %}
-
-### 2) Set up the Database Schema
-
-Adjust the schema definition so that entity changes will trigger events.
-
-| Affected Entity |Triggered Events |
-| --- | --- |
-| `spy_shopping_list`| `Entity.spy_shopping_list.create` `Entity.spy_shopping_list.update` `Entity.spy_shopping_list.delete` |
-| `spy_shopping_list_item` | `Entity.spy_shopping_list_item.create` `Entity.spy_shopping_list_item.update` `Entity.spy_shopping_list_item.delete` |
-| `spy_shopping_list_company_user` | `Entity.spy_shopping_list_company_user.create` `Entity.spy_shopping_list_company_user.update` `Entity.spy_shopping_list_company_user.delete` |
-|`spy_shopping_list_company_business_unit `|`Entity.spy_shopping_list_company_business_unit.create` `Entity.spy_shopping_list_company_business_unit.update` `Entity.spy_shopping_list_company_business_unit.delete` |
-
-
-src/Pyz/Zed/ShoppingList/Persistence/Propel/Schema/spy_shopping_list.schema.xml
-
-```html
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-
-
-Run the following commands to apply database changes and generate entity and transfer changes:
-
-```bash
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that the following changes have been applied by checking your database:
-{% endinfo_block %}
-
-| Database Entity |Type | Event |
-| --- | --- | --- |
-| `spy_shopping_list` |table |created |
-| `spy_shopping_list_item` |table |created |
-| `spy_shopping_list_company_user` |table |created |
-| `spy_shopping_list_company_business_unit` |table |created |
-| `spy_shopping_list_company_business_unit_blacklist` |table |created |
-| `spy_shopping_list_permission_group` |table |created |
-| `spy_shopping_list_permission_group_to_permission` |table |created |
-| `spy_shopping_list_item_note` |table |created |
-
-{% info_block warningBox "Verification" %}
-
-Verify the following changes in transfer objects
-
-|Transfer|Type|Event|Path|
-|--- |--- |--- |--- |
-|`ShoppingList`|class|created|`src/Generated/Shared/Transfer/ShoppingListTransfer`|
-|`ShoppingListCollection`|class|created|`src/Generated/Shared/Transfer/ShoppingListCollectionTransfer`|
-|`ShoppingListOverviewRequest`|class|created|`src/Generated/Shared/Transfer/ShoppingListOverviewRequestTransfer`|
-|`ShoppingListOverviewResponse`|class|created|`src/Generated/Shared/Transfer/ShoppingListOverviewResponseTransfer`|
-|`ShoppingListResponse`|class|created|`src/Generated/Shared/Transfer/ShoppingListResponseTransfer`|
-|`ShoppingListCompanyUser`|class|created|`src/Generated/Shared/Transfer/ShoppingListCompanyUserTransfer`|
-|`ShoppingListCompanyUserCollection`|class|created|`src/Generated/Shared/Transfer/ShoppingListCompanyUserCollectionTransfer`|
-|`ShoppingListCompanyBusinessUnit`|class|created|`src/Generated/Shared/Transfer/ShoppingListCompanyBusinessUnitTransfer`|
-|`ShoppingListCompanyBusinessUnitCollection`|class|created|`src/Generated/Shared/Transfer/ShoppingListCompanyBusinessUnitCollectionTransfer`|
-|`ShoppingListPermissionGroup`|class|created|`src/Generated/Shared/Transfer/ShoppingListPermissionGroupTransfer`|
-|`ShoppingListPermissionGroupCollection`|class|created|`src/Generated/Shared/Transfer/ShoppingListPermissionGroupCollectionTransfer`|
-|`ShoppingListAddToCartRequest`|class|created|`src/Generated/Shared/Transfer/ShoppingListAddToCartRequestTransfer`|
-|`ShoppingListAddToCartRequestCollection`|class|created|`src/Generated/Shared/Transfer/ShoppingListAddToCartRequestCollectionTransfer`|
-|`ShoppingListShareRequest`|class|created|`src/Generated/Shared/Transfer/ShoppingListShareRequestTransfer`|
-|`ShoppingListShareResponse`|class|created|`src/Generated/Shared/Transfer/ShoppingListShareResponseTransfer`|
-|`ShoppingListDismissRequest`|class|created|`src/Generated/Shared/Transfer/ShoppingListDismissRequestTransfer`|
-|`ShoppingListCompanyBusinessUnitBlacklist`|class|created|`src/Generated/Shared/Transfer/ShoppingListCompanyBusinessUnitBlacklistTransfer`|
-|`ShoppingListFromCartRequest`|class|created|`src/Generated/Shared/Transfer/ShoppingListFromCartRequestTransfer`|
-|`ShoppingListItem`|class|created|`src/Generated/Shared/Transfer/ShoppingListItemTransfer`|
-|`ShoppingListItemCollection`|class|created|`src/Generated/Shared/Transfer/ShoppingListItemCollectionTransfer`|
-|`ShoppingListItemResponse`|class|created|`src/Generated/Shared/Transfer/ShoppingListItemResponseTransfer`|
-|`ShoppingListPreAddItemCheckResponse`|class|created|`src/Generated/Shared/Transfer/ShoppingListPreAddItemCheckResponseTransfer`|
-|`ItemCollection`|class|created|`src/Generated/Shared/Transfer/ItemCollectionTransfer`|
-|`SpyShoppingListEntity`|class|created|`src/Generated/Shared/SpyShoppingListEntityTransfer`|
-|`SpyShoppingListCompanyUserEntity`|class|created|`src/Generated/Shared/SpyShoppingListCompanyUserEntityTransfer`|
-|`SpyShoppingListCompanyBusinessUnit`|class|created|`src/Generated/Shared/SpyShoppingListCompanyBusinessUnitTransfer`|
-|`SpyShoppingListCompanyBusinessUnitBlacklist`|class|created|`src/Generated/Shared/SpyShoppingListItemEntityTransfer`|
-|`SpyShoppingListPermissionGroupEntity`|class|created|`src/Generated/Shared/SpyShoppingListPermissionGroupEntityTransfer`|
-|`SpyShoppingListPermissionGroupToPermissionEntity`|class|created|`src/Generated/Shared/SpyShoppingListPermissionGroupToPermissionEntityTransfer`|
-|`SpyShoppingListItemEntity`|class|created|`src/Generated/Shared/SpyShoppingListItemEntityTransfer`|
-|`SpyShoppingListItemNoteEntity`|class|created|`src/Generated/Shared/SpyShoppingListItemEntityTransfer`|
-
-{% endinfo_block %}
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the changes were implemented successfully. For this purpose, trigger the following methods and make sure that the above events have been triggered:
-
-|Path|Method Name|
-|--- |--- |
-|`src/Orm/Zed/ShoppingList/Persistence/Base/SpyShoppingList.php`|`prepareSaveEventName()` `addSaveEventToMemory()` `addDeleteEventToMemory()`|
-|`src/Orm/Zed/ShoppingList/Persistence/Base/SpyShoppingListItem.php`|`prepareSaveEventName()` `addSaveEventToMemory()` `addDeleteEventToMemory()`|
-|`src/Orm/Zed/ShoppingList/Persistence/Base/SpyShoppingListCompanyUser.php`|`prepareSaveEventName()` `addSaveEventToMemory()` `addDeleteEventToMemory()`|
-|`src/Orm/Zed/ShoppingList/Persistence/Base/SpyShoppingList.php`|`prepareSaveEventName()` `addSaveEventToMemory()` `addDeleteEventToMemory()`|
-
-{% endinfo_block %}
-
-### 3) Add Translations
-
-Append glossary for feature:
-
-
-src/data/import/glossary.csv
-
-```yaml
-customer.account.shopping_list.item.add.success,Item %sku% was added to the List.,en_US
-customer.account.shopping_list.item.add.success,Artikel %sku% wurde zu der Liste hinzugefügt.,de_DE
-customer.account.shopping_list.item.add.failed,Item %sku% could not be added to the List.,en_US
-customer.account.shopping_list.item.add.failed,Artikel %sku% konnte der Liste nicht hinzugefügt werden.,de_DE
-customer.account.shopping_list.create.success,"List '%name%' was created successfully.",en_US
-customer.account.shopping_list.create.success,"Einkaufsliste '%name%' wurde erfolgreich erstellt.",de_DE
-customer.account.shopping_list.error.cannot_update,Cannot update shopping list.,en_UScustomer.account.shopping_list.error.cannot_update,Die Liste konnte nicht aktualisiert werden.,de_DE
-customer.account.shopping_list.share.share_shopping_list_fail,This shopping list has been shared before with this entity,en_US
-customer.account.shopping_list.share.share_shopping_list_fail,Diese Einkaufsliste wurde bereits mit dieser Entität geteilt,de_DE
-```
-
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-
-{% endinfo_block %}
-
-### 4) Configure Export to Redis
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-|`ShoppingListStorageEventSubscriber` | Registers listeners that are responsible for publishing shopping list data based on changes to shopping lists or related entities|None | `Spryker\Zed\ShoppingListStorage\Communication\Plugin\Event\Subscriber` |
-
-
-src/Pyz/Zed/Event/EventDependencyProvider.php
-
-```php
-add(new ShoppingListStorageEventSubscriber());
-
- return $eventSubscriberCollection;
- }
-}
-```
-
-
-
-
-#### Set up Re-Sync Features
-
-| Plugin| Specification| Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ShoppingListSynchronizationDataPlugin`| Allows populating empty storage table with data. | None| `Spryker\Zed\ShoppingListStorage\Communication\Plugin\Synchronization` |
-
-
-src/Pyz/Zed/Synchronization/SynchronizationDependencyProvider.php
-
-```php
-
-
-
-### 5) Import Data
-Add Infrastructural Data
-
-| Plugin | Specification | Prerequisites |Namespace |
-| --- | --- | --- | --- |
-| `ShoppingListPermissionsInstallerPlugin`| Installs infrastructural shopping list permissions and permission groups| None |`Spryker\Zed\ShoppingList\Communication\Plugin` |
-
-
-src/Pyz/Zed/Installer/InstallerDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to execute registered installer plugins and install infrastructural data:
-
-```bash
-console setup:init-db
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that in the database the permission groups are added to `spy_shoppping_list_permission_group` table and the permissions are added to `spy_permission` table and the relations between them are added to `spy_shopping_list_permission_group_to_permission` table.
-
-{% endinfo_block %}
-
-#### Import Shopping Lists
-
-{% info_block infoBox "Info" %}
-The following imported entities will be used as shopping lists in Spryker OS.
-{% endinfo_block %}
-
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/shopping-list-data-import/data/import/shopping_list.csv
-
-```yaml
-shopping_list_key,name,owner_customer_reference
-Laptops,Laptops,DE--21
-Cameras,Cameras,DE--21
-Workstations,Workstations,DE--21
-```
-
-
-
-
-| Column |Is obligatory? |Data Type | Data Example | Data Explanation |
-| --- | --- | --- | --- | --- |
-|`shopping_list_key |mandatory` | string |Laptops | The key that will identify the shopping list to be referred in future imports|
-|`name` |mandatory | string | Laptops | The name of the shopping list |
-| `owner_customer_reference` |mandatory | string | DE--21 |The customer reference of the owner of the shopping list |
-
-Register the following plugin to enable the data import:
-
-| Plugin| Specification | Prerequisites |Data Explanation |
-| --- | --- | --- | --- |
-|`ShoppingListDataImportPlugin`| Imports demo shopping lists into database.| None | `Spryker\Zed\ShoppingListDataImport\Communication\Plugin\DataImport`|
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import the data:
-
-```bash
-console data:import shopping-list
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that in the database that the configured data is added to the `spy_shopping_list` table.
-
-{% endinfo_block %}
-
-#### Import Shopping List Items
-
-{% info_block infoBox "Information" %}
-The following imported entities will be used as shopping list items in Spryker OS.
-{% endinfo_block %}
-
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/shopping-list-data-import/data/import/shopping_list_item.csv
-
-```bash
-shopping_list_key,product_sku,quantity
-Laptops,134_29759322,1
-Laptops,136_24425591,1
-Laptops,135_29836399,3
-Laptops,138_30657838,1
-Laptops,139_24699831,1
-Laptops,141_29380410,1
-Laptops,145_29885473,1
-Laptops,152_27104941,1
-Laptops,137_29283479,1
-Laptops,142_30943081,1
-Laptops,140_22766487,1
-Cameras,013_25904584,1
-Cameras,184_17365820,1
-Cameras,035_17360369,1
-Cameras,017_21748906,1
-Cameras,185_25904533,1
-Cameras,187_26306352,1
-Cameras,015_25904009,5
-Cameras,001_25904006,1
-Cameras,198_19692589,5
-Cameras,027_26976107,2
-Cameras,186_25904506,1
-Cameras,033_32125568,1
-Workstations,115_27295368,1
-Workstations,118_29804739,1
-Workstations,124_31623088,1
-Workstations,126_26280142,1
-Workstations,119_29804808,1
-Workstations,128_29955336,1
-Workstations,127_20723326,1
-Workstations,117_30585828,1
-Workstations,129_30706500,1
-```
-
-
-
-
-| Column |Is obligatory? |Data Type |Data Example |Data Explanation |
-| --- | --- | --- | --- | --- |
-|`shopping_list_key` | mandatory | string |Laptops | The key that will identify the shopping list to add data to|
-|`product_sku` | mandatory | string | 187_26306352 | The SKU of the concrete product variant that will be added to the shopping list |
-| `quantity` | mandatory | integer | 3 | The number of products that will be added to the shopping list|
-
-Register the following plugin to enable the data import:
-
-| Plugin | Specification| Prerequisites | Namespace|
-| --- | --- | --- | --- |
-|`ShoppingListItemDataImportPlugin` |Imports demo shopping list items into database. | Assumes that the shopping list keys exist in database |`Spryker\Zed\ShoppingListDataImport\Communication\Plugin\DataImport` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import the data
-
-```bash
-console data:import shopping-list-item
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that in the database that the configured data is added to the `spy_shopping_list_item` table.
-
-{% endinfo_block %}
-
-#### Import Shopping List Company Users
-
-{% info_block infoBox "Information" %}
-The following imported entities will be used as shopping lists being directly shared with specific company users in Spryker OS.
-{% endinfo_block %}
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/shopping-list-data-import/data/import/shopping_list_company_user.csv
-
-```bash
-shopping_list_key,company_user_key,permission_group_name
-Laptops,Spryker--7,FULL_ACCESS
-Cameras,Spryker--7,READ_ONLY
-Workstations,Spryker--7,READ_ONLY
-Laptops,Spryker--1,FULL_ACCESS
-Workstations,Spryker--1,FULL_ACCESS
-Workstations,Spryker--2,READ_ONLY
-Workstations,Spryker--3,READ_ONLY
-Workstations,Spryker--6,READ_ONL
-```
-
-
-
-
-| Column|Is obligatory? | Data Type | Data Example | Data Explanation |
-| --- | --- | --- | --- | --- |
-|`shopping_list_key` | mandatory |string |Laptops |The key that will identify the shopping list to add data to |
-| `company_user_key` |mandatory | string | Spryker--7 | The key that will identify the company user that the shopping list is shared with |
-| `permission_group_name` | mandatory | integer| READ_ONLY | The permission group that will be assigned to the shared company user|
-
-Register the following plugin to enable the data import:
-
-| Plugin | Specification |Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `ShoppingListCompanyUserDataImportPlugin` | Imports demo shopping lists sharing data with company users | Assumes that the shopping list keys, company user keys and the permission groups exist in database | `Spryker\Zed\ShoppingListDataImport\Communication\Plugin\DataImport` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import the data:
-
-```bash
-console data:import shopping-list-company-user
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that in the database that the configured data is added to the `spy_shopping_list_company_user` table.
-
-{% endinfo_block %}
-
-#### Import Shopping List Company Business Units
-
-{% info_block infoBox "Information" %}
-The following imported entities will be used as shopping lists being directly shared with specific company business units in Spryker OS.
-{% endinfo_block %}
-
-Prepare your data according to your requirements using our demo data:
-
-
-vendor/spryker/shopping-list-data-import/data/import/shopping_list_company_business_unit.csv
-
-```yaml
-shopping_list_key,business_unit_key,permission_group_name
-Laptops,spryker_systems_HR,FULL_ACCESS
-Cameras,spryker_systems_Zurich,FULL_ACCESS
-Workstations,spryker_systems_Berlin,READ_ONLY
-```
-
-
-
-
-| Column |Is obligatory? | Data Type | Data Example| Data Explanation |
-| --- | --- | --- | --- | --- |
-|`shopping_list_key` |mandatory | string| Laptops |The key that will identify the shopping list to add data to |
-|`business_unit_key` | mandatory | string |spryker_systems_HR | The key that will identify the company business unit that the shopping list is shared with |
-| `permission_group_name` | mandatory | integer|FULL_ACCESS | The permission group that will be assigned to the shared company business unit |
-
-Register the following plugin to enable the data import:
-
-|Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-|`ShoppingListCompanyBusinessUnitDataImportPlugin`| Imports demo shopping lists sharing data with company business units| Assumes that the shopping list keys, company business unit keys and the permission groups exist in database | `Spryker\Zed\ShoppingListDataImport\Communication\Plugin\DataImport`|
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import the data
-
-```bash
-console data:import shopping-list-company-business-unit
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that in the database that the configured data is added to the `spy_shopping_list_company_busines_unit` table.
-
-{% endinfo_block %}
-
-### 6) Set up Behavior
-
-#### Implementation
-Enable the following behaviors by registering the plugins:
-
-|Plugin|Specification|Prerequisites|Namespace|
-|--- |--- |--- |--- |
-|`ReadShoppingListPermissionPlugin`|Provides the ability to read a certain set of shopping lists on the Client side using twig function `can()`|None|`Spryker\Client\ShoppingList\Plugin`|
-|`WriteShoppingListPermissionPlugin`|Provides the ability to write to a certain set of shopping lists on the Client side using twig function `can()`|None|`Spryker\Client\ShoppingList\Plugin`|
-|`ReadShoppingListPermissionPlugin`|Provides the ability to read a certain set of shopping lists on the Zed side using `PermissionAwareTrait`|None|`Spryker\Zed\ShoppingList\Communication\Plugin`|
-|`WriteShoppingListPermissionPlugin`|Provides the ability to write to a certain set of shopping lists on the Zed side using `PermissionAwareTrait`|None|`Spryker\Zed\ShoppingList\Communication\Plugin`|
-|`ShoppingListPermissionStoragePlugin`|Retrieves a set of shopping lists permissions related to a certain company user|None|`Spryker\Zed\ShoppingList\Communication\Plugin`|
-|`ShoppingListPermissionCustomerExpanderPlugin`|Expands `CustomerTransfer::PERMISSIONS` data with a set of permissions that allow the customer to read or write to shopping lists|Expects `CustomerTransfer` to contain a `CompanyUserTransfer` with `idCompanyUser`. (hint: CompanyUser.CustomerTransferCompanyUserExpanderPlugin)|`Spryker\Zed\ShoppingList\Communication\Plugin`|
-|`ShoppingListItemNoteToItemCartNoteMapperPlugin`|Maps shopping list item notes to cart item notes when creating a cart out of a shopping list|None|`Spryker\Client\ShoppingListNote\Plugin`|
-|`ItemCartNoteToShoppingListItemNoteMapperPlugin`|Maps cart item notes to shopping list notes when creating shopping list out of a cart|None|`Spryker\Zed\ShoppingListNote\Communication\Plugin`|
-|`ShoppingListItemNoteBeforeDeletePlugin`|Deletes shopping list item note before deleting shopping list item|None|`Spryker\Zed\ShoppingListNote\Communication\Plugin`|
-|`ShoppingListItemNoteExpanderPlugin`|Expands `ShoppingListItemTransfer` with `ShoppingListItemNoteTransfer`|None|`Spryker\Zed\ShoppingListNote\Communication\Plugin`|
-|`ShoppingListItemNotePostSavePlugin`|Saves shopping list item note when saving shopping list item|None|`Spryker\Zed\ShoppingListNote\Communication\Plugin`|
-
-
-src/Pyz/Client/Permission/PermissionDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/Permission/PermissionDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/Customer/CustomerDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/ShoppingList/ShoppingListDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Zed/ShoppingList/ShoppingListDependencyProvider.php
-
-```php
-
-
-
-{% info_block warningBox "Verification" %}
-
-
-Share User A's shopping list with User B, then change the shopping list from User A's profile, User B should get the updated shopping list. Also make sure that sharing shopping lists should have correct permission group (the ones you had in your installation).
-Make sure that shopping list item notes are being saved on shopping list item save and deleted on shopping list item delete. Also make sure that shopping list item notes are transferred to cart item notes when creating a cart from a shopping list.
-
-{% endinfo_block %}
-
-
-
-
-## Install feature frontend
-### Prerequisites
-
-Please overview and install the necessary features before beginning the integration step.
-
-| Name |Version |
-| --- | --- |
-|Spryker Core | 2018.11.0 |
-|Company Account | 2018.11.0 |
-|Multiple Carts |2018.11.0 |
-|Product |2018.11.0 |
-|Customer Account Management | 2018.11.0 |
-
-### 1) Install Require Modules using Composer
-
-Run the following command to install the required modules:
-
-```bash
-composer require spryker-feature/shopping-lists:"^2018.11.0" --update-with-dependencie
-```
-{% info_block warningBox "Verification" %}
-
-Make sure that he following modules were installed:
-
-| Module |Expected Directory |
-| --- | --- |
-|`ShoppingListPage` |`vendor/spryker-shop/shopping-list-page`|
-|`ShoppingListWidget`| `vendor/spryker-shop/shopping-list-widget`|
-|`ShoppingListNoteWidget` |`vendor/spryker-shop/shopping-list-note-widget`|
-
-{% endinfo_block %}
-
-### 2) Add Translations
-
-#### Implementation
-Append glossary according to your configuration:
-
-
-src/data/import/glossary.csv
-
-```yaml
-customer.account.shopping_list.overview.edit,Edit,en_US
-customer.account.shopping_list.overview.edit,Bearbeiten,de_DE
-shopping_list.item_note,Note:,en_US
-shopping_list.item_note,Hinweis:,de_DE
-shopping_list.item_note.add,"Add a note +",en_US
-shopping_list.item_note.add,"Füg ein Notiz hinzu +",de_DE
-customer.account.shopping_list.overview.share,Share,en_US
-customer.account.shopping_list.overview.share,Teilen,de_DE
-customer.account.shopping_list.overview.print,Print,en_US
-customer.account.shopping_list.overview.print,Drucken,de_DE
-customer.account.shopping_list.overview.delete,Delete,en_US
-customer.account.shopping_list.overview.delete,Löschen,de_DE
-customer.account.shopping_list.overview.owner,Owner,en_US
-customer.account.shopping_list.overview.owner,Inhaber,de_DE
-customer.account.shopping_list.access,Access,en_US
-customer.account.shopping_list.access,Zugriff,de_DE
-company.account.company_user,Users,en_US
-company.account.company_user,Benutzer,de_DE
-customer.account.shopping_list.delete.warning,Warning,en_US
-customer.account.shopping_list.delete.warning,Warnung,de_DE
-customer.account.shopping_list.delete.you_are_trying_to_delete_shopping_list,"You are trying to delete shopping list %name%",en_US
-customer.account.shopping_list.delete.you_are_trying_to_delete_shopping_list,"Sie versuchen die Einkaufsliste %name% zu löschen",de_DE
-customer.account.shopping_list.delete.it_belongs_to_follow,It belongs to following,en_US
-customer.account.shopping_list.delete.it_belongs_to_follow,Es gehört zu folgenden,de_DE
-company.account.business_unit,Business Units,en_US
-company.account.business_unit,Geschäftseinheiten,de_DE
-customer.account.shopping_list.delete.it_wll_be_deleted_from_all_of_them,It will be deleted from all of them,en_US
-customer.account.shopping_list.delete.it_wll_be_deleted_from_all_of_them,Es wird von allen gelöscht,de_DE
-customer.account.shopping_list.overview.name,Name,en_US
-customer.account.shopping_list.overview.name,Name,de_DE
-customer.account.shopping_list.overview.created_date,Date of creation,en_US
-customer.account.shopping_list.overview.created_date,Erstelldatum,de_DE
-customer.account.shopping_list.overview.item_count,Number of Items,en_US
-customer.account.shopping_list.overview.item_count,Anzahl der Teile,de_DE
-customer.account.shopping_list.overview.actions,Actions,en_US
-customer.account.shopping_list.overview.actions,Aktion,de_DE
-customer.account.shopping_list.overview.add_shopping_list_to_cart,Add selected to,en_US
-customer.account.shopping_list.overview.add_shopping_list_to_cart,Hinzufügen zu,de_DE
-customer.account.shopping_list.product,Product,en_US
-customer.account.shopping_list.product,Produkt,de_DE
-customer.account.shopping_list.price,Price,en_US
-customer.account.shopping_list.price,Preis,de_DE
-customer.account.shopping_list.quantity,Quantity,en_US
-customer.account.shopping_list.quantity,Anzahl,de_DE
-customer.account.shopping_list.availability,Availability,en_US
-customer.account.shopping_list.availability,Verfügbarkeit,de_DE
-product_alternative_widget.not_applicable,N/A,en_US
-product_alternative_widget.not_applicable,N/A,de_DE
-customer.account.shopping_list.available,Available,en_US
-customer.account.shopping_list.available,Verfügbar,de_DE
-customer.account.shopping_list.not_available,Currently not available,en_US
-customer.account.shopping_list.not_available,Nicht verfügbar,de_DE
-customer.account.shopping_list.remove,Remove,en_US
-customer.account.shopping_list.remove,Löschen,de_DE
-customer.account.shopping_list.permissions.FULL_ACCESS,Full access,en_US
-customer.account.shopping_list.permissions.FULL_ACCESS,Voller Zugriff,de_DE
-customer.account.shopping_list.permissions.READ_ONLY,Read only,en_US
-customer.account.shopping_list.permissions.READ_ONLY,Schreibgeschützt,de_DE
-customer.account.shopping_list.permissions.NO_ACCESS,No access,en_US
-customer.account.shopping_list.permissions.NO_ACCESS,Kein Zugriff,de_DE
-customer.account.shopping_list,Shopping lists,en_US
-customer.account.shopping_list,Einkaufslisten,de_DE
-customer.account,Customer Account,en_US
-customer.account,Mein Konto,de_DE
-customer.account.shopping_list.create_from_cart.title,Add to shopping list,en_US
-customer.account.shopping_list.create_from_cart.title,Auf die Merkliste,de_DE
-customer.account.shopping_list.shopping_cart,Shopping cart,en_US
-customer.account.shopping_list.shopping_cart,Einkaufswagen,de_DE
-customer.account.shopping_list.create_from_cart.form_title,'%cart_name%' add to shopping list,en_US
-customer.account.shopping_list.create_from_cart.form_title,'%cart_name%' auf die Merkliste,de_DE
-customer.account.shopping_list.share.from.share,Share,en_US
-customer.account.shopping_list.share.from.share,Teilen,de_DE
-customer.account.shopping_list.share.from.share_with,Share Shopping List with:,en_US
-customer.account.shopping_list.share.from.share_with,Einkaufsliste teilen mit:,de_DE
-customer.account.shopping_list.share.select_company_business_unit,Select business unit,en_US
-customer.account.shopping_list.share.select_company_business_unit,Wählen Sie die Geschäftseinheit aus,de_DE
-customer.account.shopping_list.share.select_company_user,Select user,en_US
-customer.account.shopping_list.share.select_company_user,Benutzer wählen,de_DE
-customer.account.print_shopping_list.title.shopping_list_id,Shopping List ID,en_US
-customer.account.print_shopping_list.title.shopping_list_id,Einkaufslisten-ID,de_DE
-customer.account.print_shopping_list.title.shopping_list_name,Shopping List Name,en_US
-customer.account.print_shopping_list.title.shopping_list_name,Name der Einkaufsliste,de_DE
-customer.account.print_shopping_list.table.barcode,Barcode,en_US
-customer.account.print_shopping_list.table.barcode,Barcode,de_DE
-customer.account.print_shopping_list.table.product_sku,Product SKU,en_US
-customer.account.print_shopping_list.table.product_sku,Produkt Artikelnummer,de_DE
-customer.account.print_shopping_list.table.product_name,Product name,en_US
-customer.account.print_shopping_list.table.product_name,Produktname,de_DE
-customer.account.print_shopping_list.table.default_price,Default price,en_US
-customer.account.print_shopping_list.table.default_price,Standardpreis,de_DE
-customer.account.print_shopping_list.table.note,Note,en_US
-customer.account.print_shopping_list.table.note,Notiz,de_DE
-customer.account.shopping_list.print_shopping_list,Print,en_US
-customer.account.shopping_list.print_shopping_list,Drucken,de_DE
-customer.account.shopping_list.add_selected_items_to_cart,Add selected items to cart,en_US
-customer.account.shopping_list.add_selected_items_to_cart,Ausgewählte Artikel in den Warenkorb legen,de_DE
-customer.account.shopping_list.add_all_available_to_cart,Add all available products to cart,en_US
-customer.account.shopping_list.add_all_available_to_cart,Alle Produkte zum Warenkorb hinzufügen,de_DE
-customer.account.shopping_list.empty,Currently there are no items in your shopping list.,en_US
-customer.account.shopping_list.empty,Zurzeit ist kein Produkt auf deiner Einkaufsliste.,de_DE
-customer.account.shopping_list.overview.dismiss,Dismiss,en_US
-customer.account.shopping_list.overview.dismiss,Ablehnen,de_DE
-customer.account.shopping_list.overview.warning,Warning,en_US
-customer.account.shopping_list.overview.warning,Warnung,de_DE
-shopping_list_page.dismiss_confirmation.trying_to_dismiss,"Are you sure that you what to dismiss shopping list?",en_US
-shopping_list_page.dismiss_confirmation.trying_to_dismiss,"Sind Sie sicher, dass Sie den Einkaufsliste ablehnen wollen?",de_DE
-shopping_list_page.dismiss.failed,Shopping list was not dismissed.,en_US
-shopping_list_page.dismiss.failed,Einkaufsliste wurde nicht abgelehnt,de_DE
-shopping_list_page.dismiss.success,Shopping list was dismissed successfully.,en_US
-shopping_list_page.dismiss.success,"Einkaufsliste wurde erfolgreich abgelehnt.",de_DE
-general.cancel.button,Cancel,en_US
-general.cancel.button,Abbrechen,de_DE
-customer.account.shopping_list.overview.add_new,Add new shopping list,en_US
-customer.account.shopping_list.overview.add_new,Neue Einkaufsliste hinzufügen,de_DE
-forms.submit-btn,Submit,en_US
-forms.submit-btn,Speichern,de_DE
-general.back.button,Back,en_US
-general.back.button,Zurück,de_DE
-shopping_list.cart.items_add.success,Items were added to the List,en_US
-shopping_list.cart.items_add.success,Artikel wurden zu der Liste hinzugefügt,de_DE
-shopping_list.cart.items_add.failed,Items could not be added to the List,en_US
-shopping_list.cart.items_add.failed,Artikel konnten der Liste nicht hinzugefügt werden,de_DE
-customer.account.shopping_list.item.remove.success,Product removed successfully.,en_US
-customer.account.shopping_list.item.remove.success,Produkt erfolgreich entfernt.,de_DE
-customer.account.shopping_list.item.remove.failed,Product was not removed from shopping list.,en_US
-customer.account.shopping_list.item.remove.failed,Artikel wurde nicht von der Einkaufsliste entfernt,de_DE
-customer.account.shopping_list.item.added_to_cart.failed,Item was not added to cart.,en_US
-customer.account.shopping_list.item.added_to_cart.failed,Produkt konnte nicht in den Warenkorb gelegt werden.,de_DE
-customer.account.shopping_list.item.added_to_cart,Item added to cart successfully.,en_US
-customer.account.shopping_list.item.added_to_cart,Produkt erfolgreich in den Warenkorb gelegt.,de_DE
-customer.account.shopping_list.item.added_all_available_to_cart.failed,Not all items are added to cart successfully,en_US
-customer.account.shopping_list.item.added_all_available_to_cart.failed,Nicht alle Artikel konnten erfolgreich in den Warenkorb gelegt werden.,de_DE
-customer.account.shopping_list.item.added_all_available_to_cart,Available items added to cart successfully.,en_US
-customer.account.shopping_list.item.added_all_available_to_cart,Verfügbare Produkte wurden erfolgreich in den Warenkorb gelegt.,de_DE
-customer.account.shopping_list.item.select_item,At least one product should be selected.,en_US
-customer.account.shopping_list.item.select_item,Mindestens ein Produkt sollte ausgewählt werden.,de_DE
-customer.account.shopping_list.delete.success,Shopping list deleted successfully.,en_US
-customer.account.shopping_list.delete.success,Einkaufsliste erfolgreich gelöscht.,de_DE
-customer.account.shopping_list.delete.failed,Shopping list was not deleted.,en_US
-customer.account.shopping_list.delete.failed,Einkaufsliste konnte nicht gelöscht.,de_DE
-shopping_list_page.dismiss.failed,Shopping list was not dismissed.,en_US
-shopping_list_page.dismiss.failed,Einkaufsliste wurde nicht abgelehnt,de_DE
-shopping_list_page.dismiss.success,Shopping list was dismissed successfully.,en_US
-shopping_list_page.dismiss.success,"Einkaufsliste wurde erfolgreich abgelehnt.",de_DE
-customer.account.shopping_list.updated,Shopping list updated successfully,en_US
-customer.account.shopping_list.updated,Einkaufsliste erfolgreich aktualisiert.,de_DE
-customer.account.shopping_list.items.added_to_cart.not_found,There are no products available for adding to cart.,en_US
-customer.account.shopping_list.items.added_to_cart.not_found,Es sind keine Produkte zum Hinzufügen in den Warenkorb verfügbar.,de_DE
-customer.account.shopping_list.items.added_to_cart.failed,Items were not added to cart.,en_US
-customer.account.shopping_list.items.added_to_cart.failed,Produkte konnten nicht in den Warenkorb gelegt werden.,de_DE
-customer.account.shopping_list.items.added_to_cart,Items added to cart successfully.,en_US
-customer.account.shopping_list.items.added_to_cart,Produkte erfolgreich in den Warenkorb gelegen.,de_DE
-customer.account.shopping_list.share.share_shopping_list_successful,Sharing shopping list was successful,en_US
-customer.account.shopping_list.share.share_shopping_list_successful,Einkaufsliste wurde erfolgreich geteilt,de_DE
-customer.account.shopping_list.clear.success,Shopping list was successfully cleared.,en_US
-customer.account.shopping_list.clear.success,Einkaufsliste wurde erfolgreich gelöscht.,de_DE
-customer.account.shopping_list.share.error.one_id_required,Please choose either customer or business unit to share the shopping list with,en_US
-customer.account.shopping_list.share.error.one_id_required,"Bitte wählen Sie entweder einen Kunden oder eine Geschäftseinheit aus, mit welchem Sie die Einkaufsliste teilen möchten.",de_DE
-cart.add-to-shopping-list.form.add_new,Add new shopping list,en_US
-cart.add-to-shopping-list.form.add_new,Einkaufsliste erstellen,de_DE
-cart.add-to-shopping-list.form.placeholder,Enter name of a new shopping list,en_US
-cart.add-to-shopping-list.form.placeholder,Geben Sie den Namen einer neuen Einkaufsliste ein,de_DE
-cart.add-to-shopping-list.form.error.empty_name,"Please, enter shopping list name",en_US
-cart.add-to-shopping-list.form.error.empty_name,Bitte geben Sie den Namen der Einkaufsliste ein,de_DE
-customer.account.shopping_list.create_from_cart.choose_shopping_list,Choose shopping list,en_US
-customer.account.shopping_list.create_from_cart.choose_shopping_list,Wählen Sie die Einkaufsliste,de_DE
-customer.account.shopping_list.create_from_cart.name,Name,en_US
-customer.account.shopping_list.create_from_cart.name,Name,de_DE
-customer.account.shopping_list.item.not_added,Failed to add product to shopping list.,en_US
-customer.account.shopping_list.item.not_added,Hinzufügen zur Einkaufsliste fehlgeschlagen.,de_DE
-widget.shopping_list.multi_cart.to_shopping_list,To shopping list,en_US
-widget.shopping_list.multi_cart.to_shopping_list,Zur Einkaufsliste,de_DE
-shopping_list_widget.items,Items,en_US
-shopping_list_widget.items,Artikel,de_DE
-shopping_list_widget.full_access,Full access,en_US
-shopping_list_widget.full_access,Ohne Einschränkung,de_DE
-shopping_list_widget.read_only,Read only,en_US
-shopping_list_widget.read_only,Schreibgeschützt,de_DE
-widget.shopping_list.multi_cart.to_shopping_list,To shopping list,en_US
-widget.shopping_list.multi_cart.to_shopping_list,Zur Einkaufsliste,de_DE
-shopping_list.item_quantity,Anzahl,de_DE
-shopping_list.item_quantity,Quantity,en_US
-page.detail.add-to-shopping-list,Add to Shopping list,en_US
-page.detail.add-to-shopping-list,In die Einkaufsliste,de_DE
-shopping_list.shopping_list,Shopping list,en_US
-shopping_list.shopping_list,Einkaufsliste,de_DE
-shopping_list.no_lists_created,You do not have any shopping lists yet.,en_US
-shopping_list.no_lists_created,Du hast noch keine Einkaufslisten.,de_DE
-shopping_list.create_new_list,Create new list,en_US
-shopping_list.create_new_list,Erstelle eine neue Liste,de_DE
-```
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-
-{% endinfo_block %}
-
-### 3) Set up Widgets
-
-Enable global widgets:
-
-|Widget|Description|Namespace|
-|--- |--- |--- |
-|`ShoppingListNavigationMenuWidget`|Shows a top-navigation sub-menu containing all of the current logged-in customer shopping lists|`SprykerShop\Yves\ShoppingListWidget\Widget`|
-|`ShoppingListMenuItemWidget`|Shows customer shopping lists in customer account navigation side menu.|`SprykerShop\Yves\ShoppingListWidget\Widget`|
-|`AddToShoppingListWidget`|Allows customer to be able to add a product with an sku to one of the shopping lists they have write access for|`SprykerShop\Yves\ShoppingListWidget\Widget`|
-|`ShoppingListItemNoteWidget`|Allows customer to create/save/remove notes from shopping list items|`SprykerShop\Yves\ShoppingListNoteWidget\Widget`|
-
-
-src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
-```php
-
-
-
-
-{% info_block infoBox "Additional Information" %}
-`ShoppingListWidget` uses Javascript for some functionality:
-{% endinfo_block %}
-
-| Functionality | Path |
-| --- | --- |
-| Injects item quantity from item quantity dropdown into shopping list save form. |`vendor/spryker/spryker-shop/Bundles/shopping-list-widget/src/SprykerShop/Yves/ShoppingListWidget/Theme/default/components/molecules/form-data-injector/form-data-injector.ts` |
-
-Run the following command to enable Javascript and CSS changes:
-
-```bash
-console frontend:yves:build
-```
-
-{% info_block warningBox "Verification" %}
-
-Make sure that the following widgets were registered:
-
-|Module|Test|
-|--- |--- |
-|`AddToShoppingListWidget`|Go to the product detail page and add a product to a shopping list|
-|`ShoppingListItemNoteWidget`|Go to a shopping list save a note to an item|
-|`ShoppingListMenuItemWidget`|Login with a customer with a company account that has a shopping and you should see the shopping list widget in the top navigation bar|
-|`ShoppingListNavigationMenuWidget`|Login with a customer with a company account and go to My Account page, the shopping list side navigation should show on the left side|
-
-{% endinfo_block %}
-
-
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-product-options-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-product-options-feature-integration.md
deleted file mode 100644
index 9565ca617a1..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/shopping-lists-product-options-feature-integration.md
+++ /dev/null
@@ -1,242 +0,0 @@
----
-title: Shopping Lists + Product Options feature integration
-last_updated: Apr 24, 2020
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/shopping-lists-product-options-feature-integration-2018-11
-originalArticleId: 258508f1-0ce9-4f7c-92af-94ba0eb70016
-redirect_from:
- - /v1/docs/shopping-lists-product-options-feature-integration-2018-11
- - /v1/docs/en/shopping-lists-product-options-feature-integration-2018-11
-related:
- - title: Shopping Lists feature integration
- link: docs/scos/dev/feature-integration-guides/page.version/shopping-lists-feature-integration.html
----
-
-## Install Feature Core
-### Prerequisites
-To start feature integration, review and install the necessary features.
-|Name|Version|
-|---|---|
-|Product Options|2018.11.0|
-|Shopping Lists|2018.11.0|
-### 1) Install the Required Modules by Using Composer
-#### Implementation
-Run the following command to install the required modules:
-```bash
-composer require spryker-feature/shopping-list-product-option-connector:"^1.0.0" --update-with-dependencies
-```
-#### Verification
-Verify if the following modules were installed:
-|Module|Expected Directory|
-|---|---|
-|`ShoppingListProductOptionConnector`|`vendor/spryker/shopping-list-product-option-connector`|
-### 2) Set up the Database Schema and Transfer Objects
-#### Implementation
-Run the following commands to apply database changes and generate entity and transfer changes:
-```yaml
-console transfer:generate
-console propel:install
-console transfer:generate
-```
-#### Verification
-Make sure that the following changes are applied by checking your database:
-|Module|Type|Event|
-|---|---|---|
-|`spy_shopping_list_product_option`|`table`|`created`|
-Make sure that the following changes are applied in transfer objects:
-|Module|Type|Event|Path|
-|---|---|---|---|
-|`ProductOption`|`class`|`created`|`src/Generated/Shared/Transfer/ProductOptionTransfer`|
-|`ProductOptionCriteria`|`class`|`created`|`src/Generated/Shared/Transfer/ProductOptionCriteriaTransfer`|
-|`ProductOptionCollection`|`class`|`created`|`src/Generated/Shared/Transfer/ProductOptionCollectionTransfer`|
-|`ProductOptionValueStorage`|`class`|`created`|`src/Generated/Shared/Transfer/ProductOptionValueStorageTransfer`|
-|`ShoppingListItem`|`class`|`created`|`src/Generated/Shared/Transfer/ShoppingListItemTransfer`|
-### 3) Set up Behavior
-#### Implementation
-Enable the following behavior be registering the plugins:
-|Plugin|Specification|Prerequisites|Namespaces|
-|---|---|---|---|
-|`ShoppingListItemProductOptionRequestMapperPlugin`|Provides the ability to map product options from request parameters to `ShoppingListItemTransfer`.|None|S`pryker\Client\ShoppingListProductOptionConnector\ShoppingList`|
-|`ProductOptionQuoteItemToItemMapperPlugin`|Provides the ability to map an item product option to a shopping list item product option when transferring items from a shopping list to a cart.|None|`Spryker\Client\ShoppingListProductOptionConnector\ShoppingList`|
-|`ShoppingListItemProductOptionToItemProductOptionMapperPlugin`|Provides the ability to map a shopping list item product option to an item product option when transferring items from a shopping list to a cart.|None|`Spryker\Client\ShoppingListProductOptionConnector\ShoppingList`|
-
-
-src/Pyz/Client/ShoppingList/ShoppingListDependencyProvider.php
-
-
-```php
-
-
-
-#### Verification
-Add an item with a product option to a shopping list, make sure that the corresponding table row has been created in `spy_shopping_list_product_option`.
-Make sure that when creating a cart from a shopping list, the product options are transferred to cart. The other way around should also work, having a cart with an item with product options in it, when creating a shopping list out of should contain the selected product options.
-
-## Install feature frontend
-### Prerequisites
-Please review and install the necessary features before beginning the integration step.
-|Name|Version|
-|---|---|
-|Spryker Core| 2018.11.0|
-|Product Options|2018.11.0|
-### 1) Add Translations
-#### Implemenation
-Append glossary according to your configuration:
-
-src/data/import/glossary.csv
-
-```yaml
-customer.account.shopping_list.remove_all,Remove all,en_US
-customer.account.shopping_list.remove_all,Alles entfernen,de_D
-```
-
-
-
-Run the following console command to import data:
-```yaml
-console data:import glossary
-```
-#### Verification
-
-Make sure that in the database the configured data are added to the `spy_glossary` table.
-
-### 2) Set up Behavior
-Enable the following behaviors by registering the plugins:
-|Plugin|Specification|Prerequisites|Namespaces|
-|---|---|---|---|
-|`ShoppingListItemProductOptionFormExpanderPlugin`|Provides the ability to have the ability to product option form elements to shopping list item form.|None|`SprykerShop\Yves\ProductOptionWidget\Plugin\ShoppingListPage`|
-|`ShoppingListItemProductOptionToItemProductOptionMapperPlugin`|Provides the ability to populate the shopping list with product option data.|None|`SprykerShop\Yves\ProductOptionWidget\Plugin\ShoppingListPage`|
-
-src/Pyz/Yves/ShoppingListPage/ShoppingListPageDependencyProvider.php
-
-```php
-
-
-
-#### Verification
-Make sure that items with product options attached to them in shopping list have the dropdown menu of product options next to them. Also make sure that the saved product option is the one that is saved on page reload.
-
-### 3) Set up Widgets
-#### Implementation
-Register the following plugins to enable widgets:
-|Plugin|Specification|Prerequisites|Namespaces|
-|---|---|---|---|
-|`ShoppingListItemProductOptionWidgetPlugin`|Shows a drop-down of product options when showing a shopping list item with the selected product option as the selected one.|None|`SprykerShop\Yves\ProductOptionWidget\Plugin\ShoppingListPage`|
-
-
-Yves/ShoppingListPage/ShoppingListPageDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-```yaml
-console frontend:yves:build
-```
-#### Verification
-Make sure that the following changes are applied by checking your database:
-|Module|Test|
-|---|---|
-|`ShoppingListItemProductOptionWidgetPlugin`|Go to the shopping list page and check a product added to it with product options|
-
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/splittable-order-items-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/splittable-order-items-feature-integration.md
deleted file mode 100644
index 428f9de67a6..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/splittable-order-items-feature-integration.md
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: Splittable Order Items feature integration
-last_updated: Oct 11, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/splittable-order-items-integration
-originalArticleId: 8b3b87f9-9237-4630-845c-46495f0d61e8
-redirect_from:
- - /v1/docs/splittable-order-items-integration
- - /v1/docs/en/splittable-order-items-integration
----
-
-The Splittable Order Items feature is shipped with following modules:
-
-| Module | Description |
-| --- | --- |
-| [DiscountExtension](https://github.com/spryker/spryker/tree/master/Bundles/DiscountExtension) | Provides extension plugins for the `Discount` module. |
-| [SalesQuantity](https://github.com/spryker/spryker/tree/master/Bundles/SalesQuantity)| Provides support in handling and configuring quantity for sales orders and items. |
-
-To install the Merchants and Merchant relations feature, follows the steps below:
-
-1. Install necessary modules using composer
-Update existing and install the required modules:
-
-```bash
-composer update "spryker/*" "spryker-shop/*"
-```
-
-```bash
-composer require spryker/discount-extension:"^1.0.0" spryker/sales-quantity:"^1.0.0" --update-with-dependencies
-```
-
-2. Run the commands:
-
-```bash
-console transfer:generate
-console propel:install
-```
-
-3. Add a plugin to Zed `CartDependencyProvider`:
-
-
-| Module | Plugin | Description | Method in Dependency Provider |
-| --- | --- | --- | --- |
-| `Cart` | `IsQuantitySplittableItemExpanderPlugin` | Adds a new `isQuantitySplittable` attribute for products | `getExpanderPlugins` |
-
-**src/Pyz/Zed/Cart/CartDependencyProvider.php**
-
-```php
-...
-use Spryker\Zed\SalesQuantity\Communication\Plugin\Cart\IsQuantitySplittableItemExpanderPlugin;
-...
-protected function getExpanderPlugins(Container $container)
- {
- return [
- ...
- new IsQuantitySplittableItemExpanderPlugin(),
- ...
- ];
- }
-```
-
-4. Add a plugin to Zed `SalesDependencyProvider`:
-
-
-| Module | Plugin | Description | Method in Dependency Provider |
-| --- | --- | --- | --- |
-| `Sales` | `NonSplittableItemTransformerStrategyPlugin` | Defines order item breakdown strategy for cart items depending on if the product is splittable or non-splittable. | `getItemTransformerStrategyPlugins` |
-
-**src/Pyz/Zed/Sales/SalesDependencyProvider.php**
-
-```php
-...
-use Spryker\Zed\Sales\Communication\Plugin\SalesExtension\SingleQuantityBasedItemTransformerStrategyPlugin;
-...
-use Spryker\Zed\SalesQuantity\Communication\Plugin\SalesExtension\NonSplittableItemTransformerStrategyPlugin;
-...
- /**
- * @return \Spryker\Zed\SalesExtension\Dependency\Plugin\ItemTransformerStrategyPluginInterface[]
- */
- public function getItemTransformerStrategyPlugins(): array
- {
- return [
- ...
- new NonSplittableItemTransformerStrategyPlugin(),
- ...
- ];
- }
-```
-
-5. Add plugins to Zed `DiscountDependencyProvider`:
-
-
-| Module | Plugin | Description | Method in Dependency Provider |
-| --- | --- | --- | --- |
-| `Discount` |`NonSplittableDiscountableItemTransformerStrategyPlugin and` | Defines discountable item transformation strategy for splittable and non-splittable items to adjust the discount calculation item breakdown according to the corresponding order item breakdown. | `getDiscountableItemTransformerStrategyPlugins` |
-
-**src/Pyz/Zed/Discount/DiscountDependencyProvider.php**
-
-```php
-...
-use Spryker\Zed\Discount\Communication\Plugin\DiscountExtension\SingleQuantityBasedDiscountableItemTransformerStrategyPlugin;
-...
-use Spryker\Zed\SalesQuantity\Communication\Plugin\DiscountExtension\NonSplittableDiscountableItemTransformerStrategyPlugin;
-...
- /**
- * @return \Spryker\Zed\DiscountExtension\Dependency\Plugin\DiscountableItemTransformerStrategyPluginInterface[]
- */
- protected function getDiscountableItemTransformerStrategyPlugins(): array
- {
- return [
- new NonSplittableDiscountableItemTransformerStrategyPlugin(),
- ...
- ];
- }
-```
diff --git a/docs/scos/dev/feature-integration-guides/201811.0/volume-prices-feature-integration.md b/docs/scos/dev/feature-integration-guides/201811.0/volume-prices-feature-integration.md
deleted file mode 100644
index 9359f3b5ba9..00000000000
--- a/docs/scos/dev/feature-integration-guides/201811.0/volume-prices-feature-integration.md
+++ /dev/null
@@ -1,323 +0,0 @@
----
-title: Volume Prices feature integration
-description: The Volume Prices Feature allows setting specific prices for units based on quantities. The guide describes how to integrate the feature into your project.
-last_updated: Nov 26, 2019
-template: feature-integration-guide-template
-originalLink: https://documentation.spryker.com/v1/docs/volume-prices-feature-integration
-originalArticleId: 672326c2-ded8-4d9a-9ea2-3ffcfece9f34
-redirect_from:
- - /v1/docs/volume-prices-feature-integration
- - /v1/docs/en/volume-prices-feature-integration
-related:
- - title: Volume Prices Feature Overview
- link: docs/scos/user/features/page.version/prices-feature-overview/volume-prices-overview.html
- - title: Adding Volume Prices
- link: docs/scos/user/back-office-user-guides/page.version/catalog/products/manage-abstract-products/adding-volume-prices-to-abstract-products.html
----
-
-## Install Feature Core
-### Prerequisites
-Install the required features:
-
-| Name | Version |
-| --- | --- |
-| Spryker Core | 2018.11.0 |
-| Prices | 2018.11.0 |
-
-
-
-**Verification**
-
-Make sure that the following modules have been installed:
-
-| Module | Expected directory |
-| --- | --- |
-| `PriceProductVolume` | `vendor/spryker/price-product-volume` |
-
-
-
-### 1) Set up Transfer Objects
-Run the following commands to generate transfer changes:
-
-```bash
-console transfer:generate
-```
-
-
-**Verification**
-Make sure that the following changes in transfer objects have been applied:
-
-| Transfer | Type | Event | Path |
-| --- | --- | --- | --- |
-| `MoneyValue` | class | created | `src/Generated/Shared/Transfer/MoneyValueTransfer` |
-| `PriceProduct` |class |created | `src/Generated/Shared/Transfer/PriceProductTransfer` |
-| `PriceProductVolume` |class | created | `src/Generated/Shared/Transfer/PriceProductVolumeTransfer` |
-| `PriceProductVolumeCollection` |class | created |`src/Generated/Shared/Transfer/PriceProductVolumeCollectionTransfer` |
-| `PriceProductFilter` |class | created | `src/Generated/Shared/Transfer/PriceProductFilterTransfer` |
-| `PriceProductCriteria` | class | created | `src/Generated/Shared/Transfer/PriceProductCriteriaTransfer` |
-
-
-
-### 2) Import Data
-#### Import Volume Prices
-
-{% info_block infoBox "Info" %}
-The following imported entities will be used as _productvol_ in Spryker OS.
-{% endinfo_block %}
-
-Prepare your data according to your requirements using our demo data:
-
-
-src/data/import/product_price.csv
-
-```bash
-abstract_sku,concrete_sku,price_type,store,currency,value_net,value_gross,price_data.volume_prices
-193,,DEFAULT,DE,EUR,16195,17994,"[{""quantity"":5,""net_price"":150,""gross_price"":165}, {""quantity"":10,""net_price"":145,""gross_price"":158}, {""quantity"":20,""net_price"":140,""gross_price"":152}]"
-195,,DEFAULT,DE,CHF,40848,45387,"[{""quantity"":3,""net_price"":350,""gross_price"":385}, {""quantity"":8,""net_price"":340,""gross_price"":375}]"
-194,,DEFAULT,AT,EUR,20780,23089,"[{""quantity"":5,""net_price"":265,""gross_price"":295}, {""quantity"":10,""net_price"":275,""gross_price"":310}, {""quantity"":20,""net_price"":285,""gross_price"":320}]"
-```
-
-
-
-
-| Column| Is obligatory? | Data type | Data example | Data explanation |
-| --- | --- | --- | --- | --- |
-| `abstract_sku` | optional | string | 193 | Either `abstract_sku` or `concrete_sku` should be present to attach the given prices to the correct product. |
-| `concrete_sku` | optional | string | 117_29890338 |Either `abstract_sku` or `concrete_sku` should be present to attach the given prices to the correct product. |
-| `price_type` | mandatory |string | DEFAULT | None |
-| `store` |mandatory | string |DE |Store in which the specific product has that specific price. |
-|`currency` | mandatory |string | EUR | Currency in which the specific product has that specific price. |
-| `value_net` | mandatory | integer |10200 | Net (after tax is paid) price in cents. |
-| `value_gross` | mandatory | integer |12000 | Gross (before tax is paid) price in cents. |
-|`price_data.volume_prices` | optional| json string|`"[{""quantity"":5,""net_price"":150,""gross_price"":165}]"` |A json description of prices when the quantity changes (volume based pricing). In the example given, the product bought, when it has a quantity of less than 5, it uses the normal price, but uses this volume price when the quantity is greater than 5. |
-
-Register the following plugin to enable data import:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `PriceProductDataImportPlugin` | Imports demo product price data into the database. | None | `Spryker\Zed\PriceProductDataImport\Communication\Plugin` |
-
-
-src/Pyz/Zed/DataImport/DataImportDependencyProvider.php
-
-```php
-
-
-
-Run the following console command to import data:
-
-```bash
-console data:import price-product
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data has been added to the `spy_product_price` table.
-{% endinfo_block %}
-
-### 3) Set up Behavior
-Enable the following behaviors by registering the plugins:
-
-| Plugin | Specification | Prerequisites | Namespace |
-| --- | --- | --- | --- |
-| `PriceProductVolumeExtractorPlugin` | Provides the ability to extract volume prices from an array of `PriceProductTransfers` for abstract or concrete products to show them on Frontend side to the customer while buying. | None | `Spryker\Client\PriceProductVolume\Plugin\PriceProductStorageExtension` |
-| `PriceProductVolumeExtractorPlugin` | Provides the ability to extract volume prices from an array of `PriceProductTransfers` for abstract or concrete products to validate prices when adding items to cart or to validate prices on the backend side. | None | `Spryker\Zed\PriceProductVolume\Communication\Plugin\PriceProductExtension` |
-| `PriceProductVolumeFilterPlugin` |Provides the ability to decide, based on selected product quantity, which `PriceProduct` should be chosen based on the set volume prices. | None | `Spryker\Service\PriceProductVolume\Plugin\PriceProductExtension` |
-
-
-src/Pyz/Zed/PriceProduct/PriceProductDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Client/PriceProductStorage/PriceProductStorageDependencyProvider.php
-
-```php
-
-
-
-
-src/Pyz/Service/PriceProduct/PriceProductDependencyProvider.php
-
-```php
-
-
-
-## Install feature frontend
-
-### Prerequisites
-
-Please overview and install the necessary features before beginning the integration step.
-
-| Name | Version |
-| --- | --- |
-| Spryker Core E-commerce |2018.11.0 |
-| Prices | 2018.11.0 |
-
-
-
-**Verification**
-Make sure that the following modules have been installed:
-
-| Module | Expected directory |
-| --- | --- |
-|`PriceProductVolumeWidget` |`vendor/spryker-shop/price-product-volume-widget` |
-
-
-
-### 1) Add Translations
-Append glossary according to your configuration:
-
-src/data/import/glossary.csv
-
-```bash
-page.detail.volume_price.quantity,Quantity,en_US
-page.detail.volume_price.quantity,Anzahl,de_DE
-page.detail.volume_price.price,Price,en_US
-page.detail.volume_price.price,Preis,de_DE
-```
-
-Run the following console command to import data:
-
-```bash
-console data:import glossary
-```
-
-{% info_block warningBox "Verification" %}
-Make sure that in the database the configured data has been added to the `spy_glossary` table.
-{% endinfo_block %}
-
-### 2) Set up Widgets
-Enable global widgets:
-
-| Widget | Description | Namespace |
-| --- | --- | --- |
-| `ProductPriceVolumeWidget` | Shows a table of volume prices for a product that contains the columns: quantity and price for that quantity threshold. | `SprykerShop\Yves\PriceProductVolumeWidget\Widget` |
-
-src/Pyz/Yves/ShopApplication/ShopApplicationDependencyProvider.php
-
-```php
-
-
-**Verification**
-Make sure that the following widgets have been registered:
-
-| Module | Test |
-| --- | --- |
-| `ProductPriceVolumeWidget` | Go to the product detail page for a product with volume prices set, and observe the table in the detail area that contains the volume prices data. |
-
-
-
-
-
-[//]: # (by Ahmed Sabaa, Yuliia Boiko)
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/calculation-3.0.md b/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/calculation-3.0.md
deleted file mode 100644
index 6c2a6ec1a06..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/calculation-3.0.md
+++ /dev/null
@@ -1,258 +0,0 @@
----
-title: Calculation 3.0
-description: The Calculation module is used to calculate the cart totals displayed in the cart/checkout or when the order is placed. The article describes its workflow.
-last_updated: May 19, 2020
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/calculation-3-0
-originalArticleId: de8670c2-8f5e-463b-8527-3cc073ca78b8
-redirect_from:
- - /v1/docs/calculation-3-0
- - /v1/docs/en/calculation-3-0
- - /docs/scos/user/features/201811.0/cart-feature-overview/calculation/calculation-3.0.html
- - /docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/calculation-3-0.html
-related:
- - title: Cart Functionality
- link: docs/scos/dev/feature-walkthroughs/page.version/cart-feature-walkthrough/cart-functionality.html
- - title: Calculation Data Structure
- link: docs/scos/dev/feature-walkthroughs/page.version/cart-feature-walkthrough/calculation-data-structure.html
----
-
-Spryker uses the Calculation module to calculate the cart totals that are displayed in the cart/checkout or when the order is placed.
-
-The calculation module extensively uses plugins to inject calculation algorithms.
-
-## How Calculation Works
-
-{% info_block infoBox "Quote Transfer" %}
-The quote transfer object is used to store data and plugins that calculate the amounts.
-{% endinfo_block %}
-
-There is already a list of plugins which populate quote transfer with corresponding data. Calculations are executed every time the content of the cart is updated.
-
-{% info_block infoBox %}
-For more details, check [Cart Data Flow](/docs/scos/user/features/{{page.version}}/cart-feature-overview/cart-functionality-and-calculations/cart-functionality.html#cart-data-flow
-{% endinfo_block %} in the *Cart Functionality* section.)
-If manual recalculation of cart is required, then `CalculationFacade::recalculate` can be called from Zed or `CalculationClient::recalculate` from Yves with prepared [Calculation Data Structure](/docs/scos/user/features/{{page.version}}/cart-feature-overview/calculation/calculation-data-structure.html). When the recalculation operation is called, the calculator runs the calculator plugin stack and each plugin modifies the `QuoteTransfer` (calculates discounts, adds sum gross prices, calculates taxes, etc.). Most plugins require the `unitGrossPrice` and the `quantity` to be provided.
-
-{% info_block infoBox "Calculated amounts" %}
-Each amount is being calculated and stored in cents.
-{% endinfo_block %}
-
-## Calculator Plugins
-
-Calculator plugins are registered in the `CalculationDependencyProvider::getCalculatorStack()` method. This method can be extended on the project level and the plugin stack can be updated with your own plugins. Each calculator must implement `CalculatorPluginInterface`.
-
-For more information see:
-
-```php
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-feature-walkthrough.md
deleted file mode 100644
index c7bef0d295d..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-feature-walkthrough.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: Cart feature walkthrough
-last_updated: Aug 12, 2021
-description: The Cart feature provides functionality of the shopping cart and cart total calculations
-template: concept-topic-template
----
-
-The _Cart_ feature provides functionality of the shopping cart and cart total calculations.
-
-
-To learn more about the feature and to find out how end users use it, see [Cart](/docs/scos/user/features/{{page.version}}/cart-feature-overview/cart-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | GLUE API GUIDES | TUTORIALS AND HOWTOS | REFERENCES |
-|---------|---------|---------|---------|
-| [Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/cart-feature-integration.html) | [Managing guest carts](/docs/marketplace/dev/glue-api-guides/{{page.version}}/guest-carts/managing-guest-carts.html) | [HowTo: Define if a cart should be deleted after placing an order](/docs/pbc/all/cart-and-checkout/{{site.version}}/base-shop/tutorials-and-howtos/howto-define-if-a-cart-should-be-deleted-after-placing-an-order.html) | [Calculation 3.0](/docs/scos/dev/feature-walkthroughs/{{page.version}}/cart-feature-walkthrough/calculation-3-0.html) |
-| [Glue API: Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-cart-feature-integration.html) | [Managing carts of registered users](/docs/marketplace/dev/glue-api-guides/{{page.version}}/carts-of-registered-users/managing-carts-of-registered-users.html) | | [Calculation data structure](/docs/scos/dev/feature-walkthroughs/{{page.version}}/cart-feature-walkthrough/calculation-data-structure.html) |
-| [Product Bundles + Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-bundles-cart-feature-integration.html) | [Retrieving customer carts](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/retrieving-customer-carts.html) | | [Calculator plugins](/docs/scos/dev/feature-walkthroughs/{{page.version}}/cart-feature-walkthrough/calculator-plugins.html) |
-| [Inventory Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/inventory-management-feature-integration.html) | | | [Cart module: Reference information](/docs/scos/dev/feature-walkthroughs/{{page.version}}/cart-feature-walkthrough/cart-module-reference-information.html) |
-| [Product feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-feature-integration.html) | | | |
-| [Product Measurement feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-measurement-unit-feature-integration.html) | | | |
-| [Product Packaging Unit feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/packaging-units-feature-integration.html) | | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality-and-calculations.md b/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality-and-calculations.md
deleted file mode 100644
index 4342b4e94cb..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality-and-calculations.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-title: Cart Functionality and Calculations
-description: The extensive Cart allows your customers to add products to their Cart by simply selecting the desired quantity.
-last_updated: Jan 13, 2020
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/cart-functionality-calculations
-originalArticleId: 85ee84a7-555e-4748-a5f2-18740aa6948c
-redirect_from:
- - /v1/docs/cart-functionality-calculations
- - /v1/docs/en/cart-functionality-calculations
-related:
- - title: Cart Functionality
- link: docs/scos/dev/feature-walkthroughs/page.version/cart-feature-walkthrough/cart-functionality.html
- - title: Calculation Data Structure
- link: docs/scos/dev/feature-walkthroughs/page.version/cart-feature-walkthrough/calculation-data-structure.html
- - title: Calculator Plugins
- link: docs/scos/dev/feature-walkthroughs/page.version/cart-feature-walkthrough/calculator-plugins.html
----
-
-The extensive Cart allows your customers to add products to their Cart by simply selecting the desired quantity. Inside the Cart, customers can change the quantity of items, switch between different Variants of the product, add personal notes, apply vouchers and remove items. The total price is immediately adjusted whenever changes are made to the Cart. Additionally, logged-in customers can see and edit their Cart from any device. As an additional option, the Persistent Cart functionality lets logged-in customers store their Cart throughout multiple sessions. The Cart features also ensures that your business rules, such as discounts, taxes or shipping, will be applied, based on the customer's final choice of items. With the Mini-Cart symbol in the header of the page your customers can easily check the contents of their Cart via a flyout box.
-
-## If you are:
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality.md b/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality.md
deleted file mode 100644
index 072daf91e5a..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-functionality.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title: Cart Functionality
-description: Our Cart consists of a few components in Yves and Zed. Cart operations are invoked in CartClient, which contains methods for all common operations.
-last_updated: Oct 17, 2019
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/cart-functionality
-originalArticleId: a5f44efc-1d57-46f9-86e2-fe479b619aad
-redirect_from:
- - /v1/docs/cart-functionality
- - /v1/docs/en/cart-functionality
- - /docs/scos/dev/feature-walkthroughs/201811.0/cart-feature-walkthrough/cart-module-reference-information.html
----
-
-Our Cart consists of a few components in Yves and Zed. The Yves components create the cart requests and persist the cart into the session. The Zed components persist the data into the database and expand the items with data obtained from plugins.
-
-Cart operations are invoked in `CartClient`, which contains methods for all common operations (add, update, remove).
-
-Each cart operation uses `CartChangeTransfer` objects. Each transfer holds the current quote transfer and the items that are being modified. Current `QuoteTransfer` is read from current session and is provided by the `QuoteSession` session adapter.
-
-When an operation is invoked, `CartClient` makes an HTTP request to Zed Cart module. The cart module gateway controller forwards the request to the `CartFacade` where a corresponding operation is handled and modified; `QuoteTransfer` is returned to Yves and persisted into the session.
-
-## Cart Data Flow
-
-![Cart Data Flow](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Shopping+Cart/Cart/Cart+Functionality/cart_data_flow.png)
-
-## Cart Operations
-The Cart module in Zed has a cart operation class that handles cart operation requests. Each operation does the following:
-
-* **Expand cart items** - augment cart items with additional data (prices, product details, ProductOptions, …)
-* **Persisting** - storage provider stores items into the database, merges items if same item was added, by default it uses a NonPersistentProvider.
-* **Item grouping** - cart uses the item grouper to group items in the cart using a specially crafted group key, which is provided by cart Expander (e.g.: a list containing the same item coming from different merchants should be split into separate groups and shipped separately).
-* **Log operation message** - Cart writes to messenger messages which should be returned to Yves (for example: validation messages, success, failure messages).
-* **Cart recalculation** - happens for each operation in cart recalculation. Cart amounts are reset and recalculated with new added items.
-
-## Cart Persistence Providers
-The Cart has different persistence providers in Zed. By default, it only modifies current QuoteTransfer and it doesn’t persists the data. An example for use case for this is building a cart where the cart items are persisted between log-ins. In this case the `StorageProviderInterface` needs to be implemented and the operation dependency must be changed.
-
-## Cart Expanders
-Zed Cart modules can have expander plugins registered. Expander plugins expand the cart with additional data such as price information, product information and add product options.
-
-Currently we ship with a couple of plugins:
-
-| Cart Expander | Description |
-| --- | --- |
-| ProductCartPlugin | Adds product information to ItemTransfer (idConcreteProduct, idAbstractProduct, abstractSku, name and taxRate). |
-| CartItemPricePlugin | Adds unitGrossPrice into itemTransfer. |
-| CartItemProductOptionPlugin | Adds productOption collection into ItemTransfer. |
-| SkuGroupKeyPlugin | Appends SKU to the group key so item's int are grouped by SKU. |
-| CartItemGroupKeyOptionPlugin | Creates product option group key from option ids, so items with different option combinations would be placed separated. |
-
-## Cart Pre-Checks
-The Zed Cart module has a list of Pre-Checks. These are validators which run when adding a new item to the cart. We have a list of default Pre-Checks and of course you might want to add your own. To do so just add a new plugin to `Pyz\Zed\Cart\CartDependencyProvider::getCartPreCheckPlugins()`.
-
-Currently we ship a couple of default Pre-Checks:
-
-| Cart Pre-Check | Description |
-| --- | --- |
-| ProductExistsCartPreCheckPlugin | Checks that passed products exist in the DB. This plugin is provided by ProductCartConnector module. |
-| CartBundleAvailabilityPreCheckPlugin | Check availability of new cart items (products and product bundles). Provided by ProductBundle module. |
-| CheckAvailabilityPlugin | Check availability of new cart items (only products). Provided by AvailabilityCartConnector module. |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/catalog-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/catalog-feature-walkthrough.md
deleted file mode 100644
index 19066dc70d2..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/catalog-feature-walkthrough.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Catalog feature walkthrough
-last_updated: Aug 12, 2021
-description: The Catalog feature allows building and organizing products to meet your and your customer's demands, primarily to make sure everyone can quickly find what they are looking for
-template: concept-topic-template
----
-
-The _Catalog_ feature allows building and organizing products to meet your and your customer's demands, primarily to make sure everyone can quickly find what they are looking for.
-
-To learn more about the feature and to find out how end users use it, see [Catalog feature overview](/docs/scos/user/features/{{page.version}}/catalog-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | GLUE API GUIDES |
-|---------|---------|
-| [Glue API: Catalog feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-catalog-feature-integration.html) | [Searching the product catalog](/docs/scos/dev/glue-api-guides/{{page.version}}/searching-the-product-catalog.html) |
-| | [Retrieving autocomplete and search suggestions](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-autocomplete-and-search-suggestions.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/category-management-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/category-management-feature-walkthrough.md
deleted file mode 100644
index f3d7479fb5b..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/category-management-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Category Management feature walkthrough
-last_updated: Aug 12, 2021
-description: The Category Management feature allows you to manage your product catalog with customized categories, category pages, and filters.
-template: concept-topic-template
----
-
-The _Category Management_ feature allows managing your product catalog with customized categories, category pages, and filters. All products can be categorized into logical clusters so that customers can filter them on the Storefront.
-
-To learn more about the feature and to find out how end users use it, see [Category Management feature overview](/docs/scos/user/features/{{page.version}}/category-management-feature-overview.html) for business users.
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES| GLUE API GUIDES | DATA IMPORT | TUTORIALS AND HOWTOS |
-|---------|---------|---------|---------|---------|
-| [Category Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/category-management-feature-integration.html) | CategoryGui migration| [Retrieving category trees](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-categories/retrieving-category-trees.html) | [File details: category.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/categories/file-details-category.csv.html) | [HowTo: Manage a big number of categories](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/howto-manage-a-big-number-of-categories.html) |
-| [Product + Category feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-category-feature-integration.html) | Category migration | [Retrieving category nodes](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-categories/retrieving-category-nodes.html) | [File details: category_template.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/categories/file-details-category-template.csv.html) | |
-| [CMS + Category Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/cms-category-management-feature-integration.html) |CategoryPageSearch migration| | [File details: category_store.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/categories/file-details-category-store.csv.html) | |
-| [Catalog + Category Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/catalog-category-management-feature-integration.html) | CategoryStorage migration | | | |
-| [Glue API: Category Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-category-management-feature-integration.html) | ProductCategoryStorag migration | | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-extension-points-reference-information.md b/docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-extension-points-reference-information.md
deleted file mode 100644
index e08e99557cf..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-extension-points-reference-information.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: CMS Extension Points
-description: The CMS module provides an extension point for post activation and deactivation of CMS pages.
-last_updated: Jan 24, 2020
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/cms-extension-points
-originalArticleId: 9e994f24-1266-4344-9373-13502dfa1a04
-redirect_from:
- - /v1/docs/cms-extension-points
- - /v1/docs/en/cms-extension-points
-related:
- - title: CMS Page
- link: docs/scos/user/features/page.version/cms-feature-overview/cms-pages-overview.html
- - title: Migration Guide - CMS
- link: docs/pbc/all/content-management-system/{{page.version}}/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-cms-module.html
- - title: Migration Guide - CMS Collector
- link: docs/pbc/all/content-management-system/{{page.version}}/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-cmscollector-module.html
----
-
-The CMS module provides an extension point for post activation and deactivation of CMS pages. The plugin interface set for this extension point is as follows:
-
-```php
-getFacade()->updateCmsPageNavigationNodesIsActive($cmsPageTransfer);
- }
-}
-```
-
-And then in the `CmsDependencyProvider`, in the function `getCmsPagePostActivatorPlugins`, you can register this plugin (or any plugin implementing the above interface) for it to execute post activation or deactivation of CMS pages.
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-feature-walkthrough.md
deleted file mode 100644
index 23e87a5ec54..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/cms-feature-walkthrough/cms-feature-walkthrough.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: CMS feature walkthrough
-last_updated: Aug 13, 2021
-description: The CMS feature adds a content management system that allows creating and managing the content of custom pages that are not part of the product catalog
-template: concept-topic-template
----
-
-The _CMS_ feature adds a content management system that allows creating and managing the content of custom pages that are not part of the product catalog.
-
-
-To learn more about the feature and to find out how end users use it, see [CMS](/docs/scos/user/features/{{page.version}}/cms-feature-overview/cms-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES| GLUE API GUIDES | DATA IMPORT | TUTORIALS AND HOWTOS | TECHNICAL ENHANCEMENTS | REFERENCES |
-|---------|---------|---------|---------|---------|---------|---------|
-| [CMS feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/cms-feature-integration.html) | CMS migration guide | [Retrieving CMS pages](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-cms-pages.html) | [File details: cms_page.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-cms-page.csv.html) | [HowTo: Create CMS templates](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/cms/howto-create-cms-templates.html) | [Enabling the category CMS blocks](/docs/scos/dev/technical-enhancement-integration-guides/integrating-category-cms-blocks.html) | [CMS extension points: Reference information](/docs/scos/dev/feature-walkthroughs/{{page.version}}/cms-feature-walkthrough/cms-extension-points-reference-information.html) |
-| [CMS + product lists + catalog feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/cms-product-lists-catalog-feature-integration.html) | CmsStorage migration guide | [Retrieving autocomplete and search suggestions](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-autocomplete-and-search-suggestions.html) | [File details: cms_block.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-cms-block.csv.html) | [HowTo: Define the maximum size of content fields](/docs/scos/dev/tutorials-and-howtos/howtos/howto-define-the-maximum-size-of-content-fields.html) | [Enabling the product CMS block](/docs/scos/dev/technical-enhancement-integration-guides/integrating-product-cms-blocks.html) | |
-| [Content Items feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/content-items-feature-integration.html) | CmsGui migration guide | [Retrieving abstract product list content items](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-content-items/retrieving-abstract-product-list-content-items.html) | [File details: cms_block_store.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-cms-block-store.csv.html) | [HowTo: Create a visibility condition for CMS blocks](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/cms/howto-create-a-visibility-condition-for-cms-blocks.html) | [Enabling CMS block widget](/docs/scos/dev/technical-enhancement-integration-guides/integrating-cms-block-widgets.html) | |
-| [CMS + Catalog feature integration](/docs/scos/dev/feature-walkthroughs/{{page.version}}/cms-feature-walkthrough/cms-feature-walkthrough.html) | CmsPageSearch migration guide | [Retrieving banner content items](/docs/pbc/all/content-management-system/{{page.version}}/base-shop/manage-using-glue-api/retrieve-banner-content-items.html) | [File details: cms_template.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-cms-template.csv.html) | [HowTo: Create a custom content item](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/cms/howto-create-a-custom-content-item.html) | | |
-| [Content Items feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/content-items-feature-integration.html) | CmsCollector migration guide | | [File details: cms_slot.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-cms-slot.csv.html) | [Learn about the CoreMedia technology partner integration](/docs/scos/user/technology-partners/{{page.version}}/content-management/coremedia.html) | | |
-| [Glue API: Content items API feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-content-items-feature-integration.html) | CmsBlock migration guide | | [File details: cms_slot_template.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-cms-slot-template.csv.html) | | | |
-| [Glue API: CMS feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-cms-feature-integration.html) | CMS Block Category Connector migration guide| | [File details: cms_slot_block.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-cms-slot-block.csv.html) | | | |
-| | CMS Block Category Connector Migration Console migration guide| | [File details: content_navigation.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-content-navigation.csv.html) | | | |
-| | CMS Block Collector migration guide| | [File details: content_banner.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-content-banner.csv.html) | | | |
-| | CmsBlockGui migration guide | | [File details: content_product_set.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-content-product-set.csv.html) | | | |
-| | CMSBlockStorage migration guide | | [File details: content_product_abstract_list.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/content-management/file-details-content-product-abstract-list.csv.html) | | | |
-| | CmsBlockWidget migration guide | | | | | |
-| | ContentBannerGui migration guide | | | | | |
-| | ContentBanner migration guide | | | | | |
-| | ContentStorage migration guide | | | | | |
-| | Content migration guide | | | | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-feature-walkthrough.md
deleted file mode 100644
index aa57fd1229a..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-feature-walkthrough.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-title: Company Account feature walkthrough
-last_updated: Sep 2, 2021
-description: The Company Account feature allows controlling user access to the system within an organization by configuring different permissions and roles for the company's entities (units) and users.
-template: concept-topic-template
----
-
-The _Company Account_ feature allows controlling user access to the system within an organization by configuring different permissions and roles for the company's entities (units) and users.
-
-
-To learn more about the feature and to find out how end users use it, see [Company Account](/docs/scos/user/features/{{page.version}}/company-account-feature-overview/company-account-feature-overview.html) for business users.
-
-
-## Entity diagram
-
-The following schema illustrates relations between a company, business unit, company unit address and customer.
-
-
-
-The `BusinessOnBehalfGui` module provides the `BusinessOnBehalfGuiAttachToCompanyButtonCustomerTableActionExpanderPlugin` plugin for the `Customer` module, and `CompanyUserTableAttachToBusinessUnitActionLinksExpanderPlugin` as well as `ReplaceDeleteButtonCompanyUserTableActionLinksExpanderPlugin` plugins for the `CompanyUserG` module. Also, `BusinessOnBehalfGui` takes user information from the `CompanyUser` module.
-
-The following schema represents module relations of the Customer Login by Token feature:
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES| GLUE API GUIDES | TUTORIALS AND HOWTOS | REFERENCES |
-|---------|---------|---------|---------|---------|
-| [Company Account feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/company-account-feature-integration.html)| CompanyUser migration guide | [Retrieving companies](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/retrieving-companies.html) |[ HowTo - Generate a token for login](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/howto-generate-a-token-for-login.html) | [Customer Login by Token reference information](/docs/scos/dev/feature-walkthroughs/{{page.version}}/company-account-feature-walkthrough/customer-login-by-token-reference-information.html) |
-| [Glue API: Company Account feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-company-account-feature-integration.html) | BusinessOnBehalfDataImport migration guide | [Retrieving business units](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/retrieving-business-units.html) | | |
-| | | [Retrieving business unit addresses](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/retrieving-business-unit-addresses.html) | | |
-| | | [Retrieving company users](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/retrieving-company-users.html) | | |
-| | | [Retrieving company roles](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/retrieving-company-roles.html) | | |
-| | | [Authenticating as a company user](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/authenticating-as-a-company-user.html) | | |
-| | | [Managing company user authentication tokens](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-b2b-account/managing-company-user-authentication-tokens.html) | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-module-relations.md b/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-module-relations.md
deleted file mode 100644
index 5d18eba0613..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/company-account-module-relations.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Company account- module relations
-description: Explore the module relations of the Company Account features
-last_updated: May 28, 2021
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v6/docs/company-account-module-relations
-originalArticleId: 215d5a46-f558-40cf-90b6-7820804cac85
-redirect_from:
- - /v6/docs/company-account-module-relations
- - /v6/docs/en/company-account-module-relations
----
-
-The schema below illustrates relations between company, business unit, company unit address and company user (customer).
-
-![schema_1.png](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Company+Account+Management/Company+Account/Company+Account:+Module+Relations/schema_1.png)
-
-
-The schema below illustrates relations between modules in of the business on behalf functionality:
-
-![business-on-behalf-module-relations.png](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Company+Account+Management/Business+on+Behalf/Business+on+Behalf+Feature+Overview/business-on-behalf-module-relations.png)
-
-`BusinessOnBehalfGui` module provides plugin `BusinessOnBehalfGuiAttachToCompanyButtonCustomerTableActionExpanderPlugin` for Customer module, and `CompanyUserTableAttachToBusinessUnitActionLinksExpanderPlugin` as well as `ReplaceDeleteButtonCompanyUserTableActionLinksExpanderPlugin` plugins for `CompanyUserG` module. Also, `BusinessOnBehalfGui` takes user information from `CompanyUser` module.
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/customer-login-by-token-reference-information.md b/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/customer-login-by-token-reference-information.md
deleted file mode 100644
index e3dd62131d4..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/company-account-feature-walkthrough/customer-login-by-token-reference-information.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: Customer Login by Token reference information
-description: This document describes the token structure.
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/2021080/docs/customer-login-by-token-overview
----
-
-A *token* is a unique identifier that contains all the information needed for authentication to fetch a specific resource without using a username and password. The tokens are JSON strings that are encoded in base64url format.
-
-The lifetime of the token is 8 hours by default, but this value can be changed on the project level.
-
-## Token structure
-Every token consists of the three sections separated by periods.
-
-![Token struc](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Workflow+&+Process+Management/Customer+Login+by+Token/Customer+Login+by+Token+Feature+Overview/token-structure.png)
-
-* **Header** contains the information about the token type (JWT) and the encryption algorithm (RS256). For example:
-
-```json
-{
- "typ": "JWT",
- "alg": "RS256",
- "jti": "9ced66ac5cefe17681576bf95b800078e3020142faaa524da871ffb2a63508952045e10453136bde"
-}
-```
-Once the header is encoded, we get the part of the token:
-
-```
-eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjljZWQ2NmFjNWNlZmUxNzY4MTU3NmJmOTViODAwMDc4ZTMwMjAxNDJmYWFhNTI0ZGE4NzFmZmIyYTYzNTA4OTUyMDQ1ZTEwNDUzMTM2YmRlIn0
-```
-
-* **Payload** is the part where multiple claims (statements) about the user identity and additional data, for example, permissions are stored. Here we put the information that we need to transmit. _id_customer_ and _idcompanyuser_ are included by default, however, you can extend the payload with any data according to your project requirements.
-
-Example payload:
-
-```json
-{
- "aud": "frontend",
- "jti": "9ced66ac5cefe17681576bf95b800078e3020142faaa524da871ffb2a63508952045e10453136bde",
- "iat": 1557926620,
- "nbf": 1557926620,
- "exp": 1557955420,
- "sub": " {/"customer_reference/":null,/"id_customer/":6,/"id_company_user/":/"1/",/"permissions/":null}",
- "scopes": []
-}
-```
-The example above contains six [registered claims](https://www.iana.org/assignments/jwt/jwt.xhtml) that, when encoded, correspond to:
-
-```
-eyJhdWQiOiJmcm9udGVuZCIsImp0aSI6IjljZWQ2NmFjNWNlZmUxNzY4MTU3NmJmOTViODAwMDc4ZTMwMjAxNDJmYWFhNTI0ZGE4NzFmZmIyYTYzNTA4OTUyMDQ1ZTEwNDUzMTM2YmRlIiwiaWF0IjoxNTU3OTI2NjIwLCJuYmYiOjE1NTc5MjY2MjAsImV4cCI6MTU1Nzk1NTQyMCwic3ViIjoie1wiY3VzdG9tZXJfcmVmZXJlbmNlXCI6bnVsbCxcImlkX2N1c3RvbWVyXCI6NixcImlkX2NvbXBhbnlfdXNlclwiOlwiMVwiLFwicGVybWlzc2lvbnNcIjpudWxsfSIsInNjb3BlcyI6W119
-```
-
-* **Signature** contains the hash of the header, the payload and the secret needed
-
-The example signature is the following:
-
-```json
-RSASHA256(
- base64UrlEncode(header) + "." +
- base64UrlEncode(payload),
- secret
-)
-```
-
-The final part of the encoded token will look like this:
-```
-v6kvCtNMM-_x-sRWugigT2j7qXVXQ9Ds5a-65sD_d4Oaun0toGnM_A-458mCyV1FCdyOHU572hdz7w3SFcIHzFw4zGGr_cqMdBmCF6VJS21lcOK401j2Li4NJB-8TmOHMk1XmjrJ92EyBScvycTg8TCkY3w4jcIGN7TPGAwzvEWaJhIwqYGjEUcTWtsiIemeWijTWVYd4qE6gnXdzMeyekFLon9syLnXdxeAQ8qNM7BML5QfvazvuMBvFQWfatDcRd2SFfIkNmMrxEQ6daEaPEfyqpdXpHfhpzvuQpA0hQQ9BfYBrwvTskpH_CWTht7IsOqlY4KYRNIg-t3tcZYt6Q
-```
-Combining the three parts, an exemplary URL with the full token will look like:
-
-```
-http://mysprykershop.com/access-token/eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjljZWQ2NmFjNWNlZmUxNzY4MTU3NmJmOTViODAwMDc4ZTMwMjAxNDJmYWFhNTI0ZGE4NzFmZmIyYTYzNTA4OTUyMDQ1ZTEwNDUzMTM2YmRlIn0.eyJhdWQiOiJmcm9udGVuZCIsImp0aSI6IjljZWQ2NmFjNWNlZmUxNzY4MTU3NmJmOTViODAwMDc4ZTMwMjAxNDJmYWFhNTI0ZGE4NzFmZmIyYTYzNTA4OTUyMDQ1ZTEwNDUzMTM2YmRlIiwiaWF0IjoxNTU3OTI2NjIwLCJuYmYiOjE1NTc5MjY2MjAsImV4cCI6MTU1Nzk1NTQyMCwic3ViIjoie1wiY3VzdG9tZXJfcmVmZXJlbmNlXCI6bnVsbCxcImlkX2N1c3RvbWVyXCI6NixcImlkX2NvbXBhbnlfdXNlclwiOlwiMVwiLFwicGVybWlzc2lvbnNcIjpudWxsfSIsInNjb3BlcyI6W119.v6kvCtNMM-_x-sRWugigT2j7qXVXQ9Ds5a-65sD_d4Oaun0toGnM_A-458mCyV1FCdyOHU572hdz7w3SFcIHzFw4zGGr_cqMdBmCF6VJS21lcOK401j2Li4NJB-8TmOHMk1XmjrJ92EyBScvycTg8TCkY3w4jcIGN7TPGAwzvEWaJhIwqYGjEUcTWtsiIemeWijTWVYd4qE6gnXdzMeyekFLon9syLnXdxeAQ8qNM7BML5QfvazvuMBvFQWfatDcRd2SFfIkNmMrxEQ6daEaPEfyqpdXpHfhpzvuQpA0hQQ9BfYBrwvTskpH_CWTht7IsOqlY4KYRNIg-t3tcZYt6Q
-
-```
-
-In Spryker Commerce OS, token generation is performed using a facade method, that is why no GUI is present. To generate a token, see [HowTo: Generate a token for login](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/howto-generate-a-token-for-login.html).
-
-Token-based authentication works closely with the [Punch Out](/docs/scos/user/technology-partners/{{page.version}}/order-management-erpoms/punchout-catalogs/punchout-catalogs.html) feature. It allows B2B buyers to log in from their ERP system to a Spryker company user account using a token without entering the username and password and buy the products from Spryker e-commerce shop.
-
-To make the feature more flexible, we have implemented the functionality that allows you to disable switching between the Business-on Behalf accounts. E.g., if the user logs in to the pre-defined company account that has Business-on-Behalf feature integrated, the shop owner can disable the ability to switch between the accounts. In case the Business-on-Behalf is disabled, the company user will log in to the default account and will not be able to switch between the company users within their company account.
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/customer-account-management-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/customer-account-management-feature-walkthrough.md
deleted file mode 100644
index 24c89bdf379..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/customer-account-management-feature-walkthrough.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: Customer Account Management feature walkthrough
-last_updated: Aug 13, 2021
-description: The Customer Account Management feature enables a wide range of management options for customer accounts and additional functionalities
-template: concept-topic-template
-redirect_from:
- - /docs/scos/dev/feature-walkthroughs/201907.0/customer-account-management-feature-walkthrough/customer-module-overview-reference-information.html
----
-
-The _Customer Account Management_ feature enables a wide range of management options for customer accounts and additional functionalities.
-
-
-To learn more about the feature and to find out how end users use it, see [Customer Account Management](/docs/scos/user/features/{{page.version}}/customer-account-management-feature-overview/customer-account-management-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES | GLUE API GUIDES | DATA IMPORT | REFERENCES |
-|---|---|---|---|---|
-| [Agent Assist feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/agent-assist-feature-integration.html) | CompanyUser migration guide | [Authenticating as a customer](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/authenticating-as-a-customer.html) | [File details: customer.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-customer.csv.html) | [Reference information: Customer module overview](/docs/scos/dev/feature-walkthroughs/{{page.version}}/customer-account-management-feature-walkthrough/reference-information-customer-module-overview.html)|
-| [Company Account feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/company-account-feature-integration.html) | | [Confirming customer registration](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/confirming-customer-registration.html) | ||
-| [Customer Account Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/customer-account-management-feature-integration.html) | | [Managing customer addresses](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/managing-customer-addresses.html) | | |
-| [Glue API: Customer Account Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-customer-account-management-feature-integration.html) | | [Managing customer authentication tokens](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/managing-customer-authentication-tokens.html) | | |
-| [Spryker Сore feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) | | [Managing customer authentication tokens via OAuth 2.0](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/managing-customer-authentication-tokens-via-oauth-2.0.html) | | |
-| [Glue API: Spryker Сore feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-spryker-core-feature-integration.html) | | [Managing customer passwords](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/managing-customer-passwords.html) | | |
-| | | [Managing customers](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-customers/managing-customers.html) | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/reference-information-customer-module-overview.md b/docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/reference-information-customer-module-overview.md
deleted file mode 100644
index 8077f5bc174..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/reference-information-customer-module-overview.md
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: Customer Module Overview
-description: This article describes how new customers can be created and managed and how to enable specific features related to customers.
-last_updated: May 19, 2020
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/customer-module-overview
-originalArticleId: ed1e9f56-eab5-490c-9ace-3969c82c9839
-redirect_from:
- - /v1/docs/customer-module-overview
- - /v1/docs/en/customer-module-overview
-related:
- - title: Customers
- link: docs/scos/user/back-office-user-guides/page.version/customer/customers.html
- - title: Customer Groups
- link: docs/scos/user/features/page.version/customer-account-management-feature-overview/customer-groups-overview.html
----
-
-The Customer entity wraps data around registered customers. Customer data is managed from the Administration Interface by the shop administration and from the shop website itself by customers. This article describes how new customers can be created and managed and how to enable specific features related to customers.
-
-## Customer Registration
-Customer registration requires two steps:
-
-1. Creating a new customer: This step can be done from both the back-end and front-end applications. Customers are created in the database if the entered details are valid. A registration key is generated for each customer and used as a token for customer registration confirmation. The key is embedded in the confirmation link sent by email.
-2. Confirming customer registration: Only customer can confirm registration through the front-end application. The customer accesses the link received in the email sent after the customer creation. When opening the link, an update is triggered that sets the customer as registered.
-
-After these two steps are performed, the customer can use the account.
-
-![customer.png](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Customer+Relationship+Management/Customer+Groups/Customer+Module+Overview/customer.png)
-
-## Customer Address
-
-One customer can have many customer addresses stored in the database.
-
-There are two types of customer addresses:
-
-* Billing Address: the address to which the invoice or bill is registered
-* Shipping Address: the address to where the order is shipped
-
-Customers are assigned a default billing and a default shipping address. Customers can update their addresses through their account (from Yves) or have them updated by the Back Office user (from the Back Office).
-
-## Password Restore
-
-Similar to the customer registration flow, password restore makes use of a token that acts as a temporary password for the customer. An email is sent to the user to reset the password. The mail contains a link where password restore token is embedded. This token is generated specifically for this request. After the customer accesses the URL and enters necessary confirmation data, the customer password is updated.
-
-Out of the box Spryker provides the plugin `CustomerRestorePasswordMailTypePlugin` (Customer module) to handle a restore password email template. To enable it, register this plugin in your `MailDependencyProvider` (eg. `Pyz\Zed\Mail\MailDependencyProvider`).
-
-{% info_block infoBox "Token link generation" %}
-By default Customer module will lead to `'‹YVES HOST›/password/restore?token='`. If it's different in your project, you should configure generation of restore links in `Spryker\Zed\Customer\CustomerConfig::getCustomerPasswordRestoreTokenUrl(
-{% endinfo_block %}`)
-
-## Delete Customer
-Customers can remove themselves by clinking the Delete Account button in the Yves Profile page. In addition, this functionality is also available in the Back Office (Customer > View > Delete).
-
-Complete removal from the customer table is strictly prohibited as it could affect the database consistency of e-commerce projects or even be illegal in terms of tax reporting and auditing. In Spryker we don't remove identifiers from a customer table, but anonymize private information. Information related to orders and bills will stay untouched.
-
-{% info_block errorBox %}
-We use irreversible algorithms to make it impossible to repair deleted data.
-{% endinfo_block %}
-
-After the deletion, customers can use an old email for registration, as the new registration does not have any connections to an old one (anonymized).
-
-To prevent missing any customer related information, do the following:
-
-1. Process removal for related customer objects. Here you could take care of information stored in dependent bundles or custom relations. To do so, implement the `CustomerAnonymizerPluginInterface`. As an example, take a look at the Newsletter module plugin for unsubscribing a customer from newsletters before removal `Spryker\Zed\Newsletter\Business\Anonymizer\SubscriptionAnonymizer`.
-2. Anonymize customer address information.
-3. Anonymize customer private information. Information directly related to customer fields (first name, last name, date of birth etc.).
-
-{% info_block errorBox "Information privacy law " %}
-When creating a custom implementation, check and follow the applicable legislation in your country.
-{% endinfo_block %}
-
-## Customer Experience
-
-Spryker consistently delivers the scalable operating system without coupling it to a project infrastructure. As a consequence, the project should take care of impact of the **Customer Delete** functionality on customer experience. Read more about session sensitive actions in [Migration Guide - Customer](/docs/scos/dev/module-migration-guides/migration-guide-customer.html).
-
-### Case insensitive queries for email
-
-From version 7.0.0 on case insensitive queries using filterByEmail conditions are enabled by default. If your version of the Customer module is lower you are still able to use this feature.
-
-To enable case insensitive fields in Propel for filtering queries update PropelOrm module to 1.5.0 version.
-
-When feature is enabled, add an attribute `caseInsensitive="true"` into customer schema file on project level (usually `src/Pyz/Zed/Customer/Persistence/Propel/Schema/spy_customer.schema.xml`).
-
-Finally run `vendor/bin/console propel:diff` and `vendor/bin/console propel:model:build` to update Propel models.
-
-### Orders Display on Customer View Page
-
-From Customer module 7.6.0 (along with Sales module version 8.7.0) we support display of customer orders in the Customers section of the Administration Interface. The Customers View page now has Orders table listing all the orders of a respective customer.
-
-To enable the feature to see extra blocks on the Customer View page in the Administration Interface, go to the `CustomerConfig` class in the `Customer` module and add `getCustomerDetailExternalBlocksUrls` function . This function should return an array where the key is the block name and the value is the URL where this block exists. As for the orders, they are in `/sales/customer/customer-orders` which in our routing architecture points to Sales `module` -> `CustomerController` -> `CustomerOrdersAction`. If this behavior needs to be extended further, all that’s needed is more key-value pairs for more controller actions that provide the data.
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/gift-cards-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/gift-cards-feature-walkthrough.md
deleted file mode 100644
index 2a595fe1915..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/gift-cards-feature-walkthrough.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Gift Cards feature walkthrough
-last_updated: Sep 28, 2021
-description: The Gift Cards feature enables you to create a virtual product (a gift card) with a chosen value amount
-template: concept-topic-template
----
-
-The _Gift Cards_ feature enables you to create a virtual product (a gift card) with a chosen value amount. The purchase of a gift card generates an individual code that is used as a payment method during checkout.
-
-
-To learn more about the feature and to find out how end users use it, see [Gift Cards feature overview](/docs/scos/user/features/{{page.version}}/gift-cards-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES | GLUE API GUIDES | DATA IMPORT |
-|---|---|---|---|
-| [Gift Cards feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/gift-cards-feature-integration.html) | Upgrade the CheckoutPage module | [Managing gift cards of guest users](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/guest-carts/managing-gift-cards-of-guest-users.html) | [File details: gift_card_abstract_configuration.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/special-product-types/gift-cards/file-details-gift-card-abstract-configuration.csv.html) |
-| | | [Managing gift cards of registered users](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/carts-of-registered-users/managing-gift-cards-of-registered-users.html) | [File details: gift_card_concrete_configuration.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/special-product-types/gift-cards/file-details-gift-card-concrete-configuration.csv.html) |
\ No newline at end of file
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/inventory-management-feature-walkthrough/inventory-management-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/inventory-management-feature-walkthrough/inventory-management-feature-walkthrough.md
deleted file mode 100644
index 6c9f50f6e80..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/inventory-management-feature-walkthrough/inventory-management-feature-walkthrough.md
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: Inventory Management feature walkthrough
-last_updated: Aug 13, 2021
-description: The Inventory Management feature adds stock and availability management as well as multiple warehouse stock management for products
-template: concept-topic-template
-redirect_from:
- - /docs/scos/dev/feature-walkthroughs/201811.0/nventory-management-feature-walkthrough/inventory-management-feature-walkthrough.html
----
-
-The _Inventory Management_ feature adds stock and availability management as well as multiple warehouse stock management for products.
-
-## Availability
-
-From this section, you will get to know how product availability is checked and calculated, how products are reserved, how availability can be imported to the database as well as how availability per store works.
-
-### Availability Check
-The process of checking product's availability implies several operations described in the list below.
-
-* Product details page won’t show the **Add to cart** button when a concrete product is out of stock. Instead, informational message is displayed.
-* Pre-check plugin in cart. `\Spryker\Zed\AvailabilityCartConnector\Communication\Plugin\CheckAvailabilityPlugin`checks if all items in cart are available. It’s executed after the "Add to cart" operation. If an item is not available, an error message is sent to Yves.
-* Checkout pre-condition when an order is placed in the last step. `Spryker\Zed\Availability\Communication\Plugin\ProductsAvailableCheckoutPreConditionPlugin` checks all items in cart. If any of them is not available anymore, order placing is aborted and error message is displayed.
-
-### "Reserved" Flag
-When an order is placed, payment state machine is executed and an item is moved through states. Some states have a “reserved” flag which means that the state influences the item availability.
-
-When items are moved to state with the "reserved" flag, `ReservationHandlerPluginInterface::handle()` is triggered. This call means that the product availability has to be updated. State machine is also tracking products in the "reserved" state, and the database table `spy_oms_product_reservation` is used for this.
-
-Below you can see dummy payment state machine, which is a sample implementation with the "reserved" flags:
-![Reserved flags](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Inventory+Management/Stock+and+Availability+Management/dummy_payment.jpg)
-
-### Availability Storage
-
-AvailabilityStorage publishes all availability information for abstract and concrete products. Items are grouped by abstract product. This process is handled by [Publish and Synchronize](/docs/scos/dev/back-end-development/data-manipulation/data-publishing/publish-and-synchronization.html).
-
-Events are generated in these two cases:
-
-| Case | Details |
-| --- | --- |
-| Case 1 | If availability amount was equal to 0 and now it’s more than 0, the event is triggered. |
-| Case 2 | If availability amount was more than 0 and now it’s equal to 0, the event is triggered. |
-
-The default behavior is having **available** or not available **status** set for product while the amount of product does not matter. Even though events are triggered when amount is changed from 0 to N or from N to 0, it's not the amount change that triggers events, but the change of product status. You can change the default behavior for the events to be triggered whenever the amount is changed. For more information, see [HowTo: Change the Default Behavior of Event Triggering in the AvailabilityStorage Module](/docs/pbc/all/warehouse-management-system/{{page.version}}/base-shop/extend-and-customize/configure-product-availability-to-be-published-on-product-amount-changes.html).
-
-Published data example in JSON.
-
-```json
-{
- "id_availability_abstract": 1,
- "fk_store": 1,
- "abstract_sku": "001",
- "quantity": 10,
- "SpyAvailabilities": [
- {
- "id_availability": 1,
- "fk_availability_abstract": 1,
- "fk_store": 1,
- "is_never_out_of_stock": false,
- "quantity": 10,
- "sku": "001_25904006"
- }
- ],
- "Store": {
- "id_store": 1,
- "name": "DE"
- },
- "id_product_abstract": 1,
- "_timestamp": 1554886713.989162
-}
-```
-
-This information is used on product details page when **Add to cart** is rendered.
-
-### Availability Calculation
-
-Product availability can have flag `is_never_out_of_stock`. This indicates that the product is always available for sale and does not have a finite stock. In this situation the availability calculation is not needed anymore.
-
-`Availability = max(0, sum of all stock types(Stock) - Reserved Items)`
-In state machine items get reserved for an open order. There are certain states that release item, for example when payment fails and order is canceled. But if order is successfully fulfilled and item is delivered, item stays reserved till the next stock update.
-
-Stock update triggers the event `stock update`. For example, in our dummy payment’s implementation this will move the items from “Shipped” state to next state. As the consecutive state is not reserved, the items that have already been shipped, will not be reserved any more.
-
-### Import / Change Stock
-
-It’s possible to use `vendor/bin/console data:import:product-stock` command to import stocks into database. The default stock importer uses `csv` file from `src/Pyz/Zed/Updater/Business/Internal/data/import/product_stock.csv` which imports stocks.
-
-The Back Office is provided to allow assigning stocks to products. See [Availability](/docs/scos/user/back-office-user-guides/{{page.version}}/catalog/availability/managing-products-availability.html) for details on how to manage product stocks in the Back Office.
-
-Stock update considers the stock from the stock file to be the absolute value. On stock update, the stock is overwritten with the values from the file. If a certain product does not have a record in the stock file, then it is considered that the stock of this product does not have to be updated.
-
-### Availability Per Store
-
-Since Availability module version 6.* we have added support for multi-store availability. That means that you can now have availability calculated per store basis. In the Administration Interface you can change from which store you want to see availability.
-
-The main change in Availability in that `spy_availability` and `spy_availability_abstract` now have foreign key to store table which indicates to which store it is applicable. Reservations in OMS have also undergone a few changes to support multiple multi-store scenarios.
-
-With Spryker shop, you can actually have several scenarios pertain to product warehouses in a multi-store environment. Each scenario is configured and enabled manually. The possible scenarios are listed below.
-
-1. Each store has own database and own warehouse. This means that stores have separate independent stocks and therefore separated product reservations and availability.
-![Scenario 1](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Inventory+Management/Stock+and+Availability+Management/Scenario_1.png)
-
-2. Each store has own database, but warehouse is shared between the stores. This means that reservation and availabilities are synced.For the case when stores do not share database, but reservations must be shared, three new database tables have been created.
-![Scenario 2](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Inventory+Management/Stock+and+Availability+Management/Scenario_2.png)
-
-* spy_oms_product_reservation_store - this table will store reservation request from other stores.
-* spy_oms_reservation_change_version - this table will store information about when last reservation occurred.
-* spy_oms_reservation_last_exported_version - this table will store information about when reservations were exported to other stores last time.
-
-Also, we provide a few plugins to help implement synchronization:
-
-* `\Spryker\Zed\Oms\Communication\Plugin\Oms\ReservationHandler\ReservationVersionHandlerPlugin` - this plugin will be called when customer makes an order and reservation is made. It will store reservation to spy_oms_reservation_change_version database table. This plugin should be registered in `\Pyz\Zed\Oms\OmsDependencyProvider::getReservationHandlerPlugins` plugin stack.
-* `\Spryker\Zed\Oms\Communication\Plugin\Oms\ReservationImport\ReservationExportPlugin` - is the plugin which will be called when reservation export to other store is called. This plugin should decide if the export should be accepted. The delivery mechanism is not provided, it could be done with files or queue. For example, when ReservationExportPlugin is called, you could write a file copy to other server and then read it there. Similar would be with queue "publish", then "consume" on other end.
-* When reading export data on other store, you can then use `\Spryker\Zed\Oms\Business\OmsFacadeInterface::importReservation` which will store reservation information to `spy_oms_product_reservation_store` table and update all timestamps accordingly.
-
-There is a console command to export all reservations: `\Spryker\Zed\Oms\Communication\Console\ExportReservationConsole`. It will trigger `ReservationExportPlugin` with reservations amounts to export. This command can be added to cronjob and run periodically.
-
-3. Database is shared between stores, but warehouses are separated by store. This means, that reservations and availability are separated per store and the warehouses (and their stocks) belong to specific stores. Assume there are DE and AT stores. DE store has Warehouse 1 and Warehouse 2, and AT has Warehouse 2. If user wants to buy some product from Warehouse 2 which is not available for AT store, but available in DE store, he/she would not be able to buy it in AT store (since the warehouses are separated), but could buy it in DE store (since the database is shared and it’s possible to switch between stores). When orders are placed, each reservation in
-![Scenario 3](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Inventory+Management/Stock+and+Availability+Management/Scenario_3.png)
-
-`spy_oms_product_reservation` table will also store information about store, the relation `fk_store`, to `spy_store` table. When adding a product to cart and displaying it there, the store identifier `fk_store` is used to define the correct availability value for the specific store.
-From Availability module version 6.0 we have added a new configuration option to store.php file to have information about store with shared persistence. Add `'sharedPersistenceWithStores' => []` to `stores.php`, where array is store names.
-
-For example:
-
-```json
- 'storesWithSharedPersistence' => ['DE', 'AT']
- $stores['DE'] = [
- ... //other options
- 'storesWithSharedPersistence' => ['AT']
- ]
- $stores['AT'] = [
- ... //other options
- 'storesWithSharedPersistence' => ['DE']
- ]
-```
-
-That means that DE and AT both share database. This information will be used when updating OMS reservations.
-
-4. Database is shared between stores, warehouses are shared by the stores. In this case the reservation must be synchronized.
-![Scenario 4](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Inventory+Management/Stock+and+Availability+Management/Scenario_4.png)
-
-When placing an order in Store A, the reservation is stored with the store identifier `fk_store`. An event is created and published in the queue, and synchronization with Store B happens. See scenario 3 above for information about how reservations are handled as well learn about the new configuration option for shared database in the `store.php` file.
-
-To learn more about the feature and to find out how end users use it, see [Inventory Management feature overview](/docs/scos/user/features/{{page.version}}/inventory-management-feature-overview.html) for business users.
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | GLUE API GUIDES | DATA IMPORT |
-|---|---|---|
-| [Inventory Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/inventory-management-feature-integration.html) | [Retrieving abstract product availability](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-abstract-product-availability.html) | [File details: product_stock.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/stocks/file-details-product-stock.csv.html) |
-| [Glue API: Inventory Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-inventory-management-feature-integration.html) | [Retrieving concrete product availability](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-concrete-product-availability.html) | [File details: warehouse_address.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-warehouse-address.csv.html) |
-| | | [File details: warehouse_store.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-warehouse-store.csv.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/mailing-and-notifications-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/mailing-and-notifications-feature-walkthrough.md
deleted file mode 100644
index 466112ec897..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/mailing-and-notifications-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Mailing & Notifications feature walkthrough
-last_updated: Aug 13, 2021
-description: The Mailing & Notifications feature allows you to manage newsletters and notifications
-template: concept-topic-template
----
-
-The _Mailing & Notifications_ feature allows you to manage newsletters and notifications.
-
-
-To learn more about the feature and to find out how end users use it, see [Mailing & Notifications feature overview](/docs/scos/user/features/{{page.version}}/mailing-and-notifications-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
- | TUTORIALS AND TUTORIALS AND HOWTOS |
-|---------|
-| [HowTo: Create and Register a MailTypePlugin](/docs/scos/dev/tutorials-and-howtos/howtos/howto-create-and-register-a-mailtypeplugin.html) |
-| [HowTo: Create and Register a Mail Provider](/docs/scos/dev/tutorials-and-howtos/howtos/howto-create-and-register-a-mail-provider.html) |
-| [Tutorial: Sending an email](/docs/scos/dev/tutorials-and-howtos/introduction-tutorials/tutorial-sending-an-email.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/merchant-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/merchant-feature-walkthrough.md
deleted file mode 100644
index 1d53903d729..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/merchant-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Merchant feature walkthrough
-description: In the context of SCOS B2B and Marketplaces, merchant is the selling company.
-template: concept-topic-template
----
-
-The *Merchant* feature provides the core functionality for the SCOS B2B and Marketplace with the basic create-read-update operations over the Merchant entity.
-You cannot delete a merchant, but only deactivate.
-
-## Main Merchant feature modules
-
-| NAME | Description |
-| -------------------- | ---------- |
-| [Merchant](https://github.com/spryker/merchant) | Keeps the core create-read-update functionality of a merchant. |
-
-## Entity diagram
-
-The following schema illustrates relations in the Merchant entity:
-
-![Entity diagram](https://confluence-connect.gliffy.net/embed/image/47ca3486-ab11-49f5-801e-6043b7a7767a.png?utm_medium=live&utm_source=custom)
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/multiple-carts-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/multiple-carts-feature-walkthrough.md
deleted file mode 100644
index 081c247ebe1..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/multiple-carts-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Multiple Carts feature walkthrough
-last_updated: Aug 18, 2021
-description: The Multiple Carts feature allows creating and managing one or multiple shopping carts in one customer account.
-template: concept-topic-template
----
-
-The _Multiple Carts_ feature allows you to create and manage one or multiple shopping carts in one customer account.
-
-
-To learn more about the feature and to find out how end users use it, see [Multiple Carts feature overview](/docs/scos/user/features/{{page.version}}/multiple-carts-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |
-|---------|
-| [Multiple Carts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/multiple-carts-feature-integration.html) |
-| [Multiple carts + Quick Order feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/multiple-carts-quick-order-feature-integration.html) |
-| [Multiple carts + Reorder feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/multiple-carts-reorder-feature-integration.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-feature-walkthrough.md
deleted file mode 100644
index dac1bbfffc6..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Navigation feature walkthrough
-last_updated: Aug 13, 2021
-description: The Navigation feature enables product catalog managers to create intuitive navigation elements and display them on the Storefront
-template: concept-topic-template
----
-
-The _Navigation_ feature enables product catalog managers to create intuitive navigation elements and display them on the Storefront.
-
-
-To learn more about the feature and to find out how end users use it, see [Navigation feature overview](/docs/scos/user/features/{{page.version}}/navigation-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | GLUE API GUIDES | DATA IMPORT | REFERENCES |
-|---|---|---|---|
-| [Navigation feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/navigation-feature-integration.html) | [Retrieving navigation trees](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-navigation-trees.html) | [File details: navigation.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/navigation-setup/file-details-navigation.csv.html) | [Navigation module: Reference information](/docs/scos/dev/feature-walkthroughs/{{page.version}}/navigation-feature-walkthrough/navigation-module-reference-information.html) |
-| [Glue API: Navigation feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-navigation-feature-integration.html) | | [File details: navigation_node.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/navigation-setup/file-details-navigation-node.csv.html) | |
-| [CMS feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/cms-feature-integration.html) | | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-module.md b/docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-module.md
deleted file mode 100644
index e27c39ef0cf..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-module.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: Navigation Module
-description: The module provides database structure and a public API to manage what’s in the database, and a small toolkit for rendering navigation menus in the frontend
-last_updated: Nov 5, 2019
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/module-navigation
-originalArticleId: 1dca8ab1-b18c-4774-a20f-827c484133f5
-redirect_from:
- - /v1/docs/module-navigation
- - /v1/docs/en/module-navigation
- - /docs/scos/dev/feature-walkthroughs/201811.0/navigation-feature-walkthrough/navigation-module-reference-information.html
-related:
- - title: Managing Navigation Elements
- link: docs/scos/user/back-office-user-guides/page.version/content/navigation/managing-navigation-elements.html
- - title: Migration Guide - Navigation
- link: docs/pbc/all/content-management-system/{{page.version}}/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-navigation-module.html
- - title: Migration Guide - NavigationGui
- link: docs/pbc/all/content-management-system/page.version/base-shop/install-and-upgrade/upgrade-modules/upgrade-the-navigationgui-module.html
- - title: Navigation Module Integration
- link: docs/scos/dev/feature-integration-guides/page.version/navigation-module-integration.html
----
-
-## Overview
-The `Navigation` module manages multiple navigation menus that can be displayed on the frontend (Yves). Every navigation section can contain its own nested structure of navigation nodes. Navigation nodes have types that help define what kind of link they represent.
-
-The following node types are available:
-
-* **Label**: These nodes do not link to any specific URL, they are used for grouping other nodes.
-* **Category**: Nodes can be assigned to category node URLs.
-* **CMS Page**: Nodes can be assigned to CMS page URLs.
-* **Link**: These nodes link to internal pages in Yves, for example, login, registration, etc.
-* **External URL**: These nodes link to external URLs (typically tabs opened in a new browser).
-You can control and adjust Navigation node appearance and add icons by assigning custom CSS classes to them.
-
-This feature is shipped with three modules:
-
-* **Navigation module** provides database structure and a public API to manage what’s in the database. It also provides a small toolkit for rendering navigation menus in the frontend.
-* **NavigationGui** module provides a Zed UI to manage navigation menus.
-* **NavigationCollector** module provides full collector logic for exporting navigation menus to the KV storage (Redis).
-
-## Under the Hood
-### Database Schema
-The Navigation module provides the `spy_navigation` table that stores navigation menus. They have a `name` field which is only used for backend display and they also have a `key` field used to reference the navigation menus from Yves.
-
-Every navigation entity contains some nodes stored in the `spy_navigation_node` table. The structure of the navigation tree depends on the `fk_parent_navigation_node` and the position fields which define if a node has a parent on its level, in what `position` they are ordered. Each navigation node has attributes that can be different per displayed locale. This information is stored in the `spy_navigation_node_localized_attributes` table.
-
-The `valid_from`, `valid_to`, and `is_active` fields allow to toggle the node's and its descendants visibility.
-
-![Navigation database schema](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Navigation/Navigation+Module/navigation_db_schema_2_0.png)
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/order-management-feature-wakthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/order-management-feature-wakthrough.md
deleted file mode 100644
index 89b21dd3c1a..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/order-management-feature-wakthrough.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: Order Management feature walkthrough
-last_updated: Aug 18, 2021
-description: The Order Management feature adds a collection of functionalities that allow you to see the quantity of the order items, their status, and how long they exist.
-template: concept-topic-template
----
-
-The _Order Management_ feature adds a collection of functionalities that allow you to see the quantity of the order items, their status, and how long they exist. Also, you can view details per status and order page.
-
-
-To learn more about the feature and to find out how end users use it, see [Order Management](/docs/scos/user/features/{{page.version}}/order-management-feature-overview/order-management-feature-overview.html) for business users.
-
-
-## Entity diagram
-
-The following schema illustrates the module relations of the Custom Order Reference feature:
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES| GLUE API GUIDES | TUTORIALS AND HOWTOS | REFERENCES |
-|---|---|---|---|---|
-| [Custom Order Reference feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/custom-order-reference-feature-integration.html) | [Split delivery migration concept](/docs/scos/dev/migration-concepts/split-delivery-migration-concept.html) | [Retrieving orders](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-orders.html) | [HowTo: Disable split delivery in Yves interface](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/howto-disable-split-delivery-in-yves-interface.html) | [Sales module: reference information](/docs/scos/dev/feature-walkthroughs/{{page.version}}/order-management-feature-walkthrough/sales-module-reference-information.html) |
-| [Order Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/order-management-feature-integration.html) | | | [HowTo: Emailing invoices using BCC](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/howto-emailing-invoices-using-bcc.html) | |
-| [Quick Order + Non-splittable Products feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/quick-add-to-cart-non-splittable-products-feature-integration.html) | | | | |
-| [Glue API: Checkout feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-checkout-feature-integration.html) | | | | |
-|[ Glue API: Company Account feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-company-account-feature-integration.html) | | | | |
-| [Glue API: Customer Account Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-customer-account-management-feature-integration.html) | | | | |
-| [Glue API: Order Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-order-management-feature-integration.html) | | | | |
-| [Glue API: Shipment feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-shipment-feature-integration.html) | | | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/sales-module-reference-information.md b/docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/sales-module-reference-information.md
deleted file mode 100644
index 62dd73376c1..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/order-management-feature-walkthrough/sales-module-reference-information.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-title: Sales
-description: The module provides order management functionality obtained through the ZED UI that renders orders with details and the Client API to get customer orders
-last_updated: Oct 15, 2019
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/sales
-originalArticleId: d171c13d-461d-42f3-962c-cfea4b6cd566
-redirect_from:
- - /v1/docs/sales
- - /v1/docs/en/sales
- - /v1/docs/sales-5-0
- - /v1/docs/en/sales-5-0
----
-
-The Sales module provides the order management functionality. The functionality is obtained through the ZED UI that renders orders with orders details and the Client API to get customer orders.
-
-## Getting Totals for Order
-To get the Order with totals, the facade method SalesFacade::getOrderByIdSalesOrder() creates an order level which returns the OrderTransfer with a hydrated grandTotal, subtotal, expense, discounts and more
-
-{% info_block warningBox %}
-This is an improvement from the Sales 5.0 version where you had to use `SalesAggregatorFacade` to get totalks. This version has been deprecated.
-{% endinfo_block %}
-
-## Persisting Order Calculated Values
-All calculated values are persisted now, when order are first placed. The values are stored by orderSaver plugins from checkout bundle. Check `\Pyz\Zed\Checkout\CheckoutDependencyProvider::getCheckoutOrderSavers` for currently available plugins.
-
-Some values can change during time when order refunded or partially refunded. Then `canceled_amount` and `refundable_amount` are recalculated and new values is persisted. At the same moment totals also change, but it does not overwrite old entry, but creates new row in `spy_sales_order_total` with this you have a history of order totals from the time order was placed.
-
-The following ER diagram shows persisted calculated values:
-![ER diagram](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Order+Management/Sales/sales_persisting_order_values.png)
-
-## Extension Points
-HydrateOrderPluginInterface - its an action which happens when `SalesFacade::getOrderByIdSalesOrder()` method is called. This means that you may want to enrich you `OrderTransfer` with additional data. This plugins accepts passes `OrderTransfer` for additional population.
-
-There are already few plugins provided:
-
-* `DiscountOrderHydratePlugin` - hydrates `OrderTransfer` with discount related data as it was stored when order is placed.
-* `ProductOptionOrderHydratePlugin` - hydrates `OrderTransfer` with product option related data.
-* `ProductBundleOrderHydratePlugin` - hydrates `OrderTransfer` with product bundle related data.
-* `ShipmentOrderHydratePlugin` - hydrates `OrderTransfer` with shipment related data.
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/packaging-units-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/packaging-units-feature-walkthrough.md
deleted file mode 100644
index deb5a461d2b..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/packaging-units-feature-walkthrough.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Packaging Unit feature walkthrough
-last_updated: Aug 18, 2021
-description: The Packaging Unit feature defines if a packaging unit holds a fixed amount of products or if customers can buy any amount of products in this packaging unit. Also, it allows applying amount restrictions to products
-template: concept-topic-template
----
-
-The _Packaging Units_ feature defines if a packaging unit holds a fixed amount of products or if customers can buy any amount of products in this packaging unit. Also, it allows applying amount restrictions to products.
-
-
-To learn more about the feature and to find out how end users use it, see [Packaging Units feature overview](/docs/scos/user/features/{{page.version}}/packaging-units-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES| TUTORIALS AND HOWTOS |
-|---------|---------|---------|
-| [Product Packaging Unit feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/packaging-units-feature-integration.html) | [Decimal Stock migration concept](/docs/scos/dev/migration-concepts/decimal-stock-migration-concept.html) | [HowTo: Import packaging units](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/data-imports/howto-import-packaging-units.html) |
-| | | [HowTo: Integrate and use precise decimal numbers](/docs/scos/dev/tutorials-and-howtos/howtos/howto-integrate-and-use-precise-decimal-numbers.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/payments-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/payments-feature-walkthrough.md
deleted file mode 100644
index c91016823bd..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/payments-feature-walkthrough.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Payments feature walkthrough
-last_updated: Aug 18, 2021
-description: The Payments feature allows customers to pay for orders with none, one, or multiple payment methods during the checkout process.
-template: concept-topic-template
----
-
-The _Payments_ feature allows customers to pay for orders with none, one, or multiple payment methods during the checkout process.
-
-
-To learn more about the feature and to find out how end users use it, see [Payments feature overview](/docs/scos/user/features/{{page.version}}/payments-feature-overview.html) for business users.
-
-
-## Entity diagram
-
-The following schema illustrates relations between the _Payment_, _PaymentGui_, and _PaymentDataImport_ modules:
-
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES | GLUE API GUIDES | DATA IMPORT | TUTORIALS AND HOWTOS | REFERENCES |
-|---|---|---|---|---|---|
-| [Payments feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/payments-feature-integration.html) | Payment migration guide | [Updating payment data](/docs/scos/dev/glue-api-guides/{{page.version}}/checking-out/updating-payment-data.html) | [File details: payment_method.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-payment-method-store.csv.html) | [HowTo: Hydrate payment methods for an order](/docs/scos/dev/tutorials-and-howtos/howtos/howto-hydrate-payment-methods-for-an-order.html) | [Payment partners](/docs/scos/user/technology-partners/{{page.version}}/payment-partners/adyen.html) |
-| | | | [File details: payment_method_store.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-payment-method-store.csv.html) | [Implementing Direct Debit Payment](/docs/scos/dev/back-end-development/data-manipulation/payment-methods/direct-debit-example-implementation/implementing-direct-debit-payment.html) | |
-| | | | | [Interact with third party payment providers using Glue API](/docs/scos/dev/tutorials-and-howtos/advanced-tutorials/glue-api/tutorial-interacting-with-third-party-payment-providers-via-glue-api.html) | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/money-module-reference-information.md b/docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/money-module-reference-information.md
deleted file mode 100644
index 748bb2aa598..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/money-module-reference-information.md
+++ /dev/null
@@ -1,115 +0,0 @@
----
-title: Money
-description: Spryker Commerce OS handles all monetary values as integer and provides conversions from decimal values to cent values and vice versa.
-last_updated: Nov 5, 2019
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/money
-originalArticleId: 619f5a72-bb35-42c4-9a16-73610cd83e6e
-redirect_from:
- - /v1/docs/money
- - /v1/docs/en/money
----
-
-{% info_block infoBox "Money" %}
-Handling monetary values can be a problem and is often quite hard. The Money bundle makes it easier to work with monetary values.
-{% endinfo_block %}
-
-
-Spryker handles all monetary values as integer and provides conversions from decimal values to cent values and vice versa.
-
-The key feature of this module is to convert a `MoneyTransfer` into the proper string version of it, given the current locale and currency.
-
-
-## Usage
-The Money module is very straight forward and easy to use. The MoneyFacade exposes the following methods:
-
-- `MoneyFacade::fromInteger()`
-- `MoneyFacade::fromFloat()`
-- `MoneyFacade::fromString()`
-- `MoneyFacade::formatWithCurrency()`
-- `MoneyFacade::formatWithoutCurrency()`
-- `MoneyFacade::convertIntegerToDecimal()`
-- `MoneyFacade::convertDecimalToInteger()`
-
-### MoneyFacade::from*() methods
-
-Internally we use a powerful implementation of the Money Pattern. Outside the Money module you will only see the MoneyTransfer which encapsulates our internals.
-
-To get a money object you can call the `MoneyFacade::from*()` methods:
-
-| Module | Called with |
-| --- | --- |
-| MoneyFacade::fromInteger(1000) | integer |
-| MoneyFacade::fromInteger(1000, 'EUR') | integer and currency |
-| MoneyFacade::fromFloat(10.00) | float |
-| MoneyFacade::fromFloat(10.00, 'EUR') | float and currency |
-| MoneyFacade::fromString('1000') | string |
-| MoneyFacade::fromString('1000', 'EUR') | string and currency |
-
-All of them will return a `MoneyTransfer` with a `MoneyTransfer::$amount` of `‘1000’`.
-
-{% info_block infoBox %}
-The only difference between them is the `MoneyTransfer::$currency`. This value differs if you pass a currency to the `MoneyFacade::from*(
-{% endinfo_block %}` methods or not.)
-
-* In case you don’t pass a currency, the currency configured as default one will be used.
-* If you pass a specific currency, it will be used instead of the one that’s configured as default one.
-
-**`MoneyFacade::formatWithSymbol()`**
-`MoneyFacade::formatWithSymbol()` method accepts only one argument - a MoneyTransfer. It will return a string representation of the given object, considering the current locale.
-
-{% info_block infoBox "Example:" %}
-MoneyTransfer::$amount = 1000 MoneyTransfer::$currency = ‘EUR’ Current locale is de_DE The output would be 10,00 € If the current locale would be en_US, the output would be: €10.00 when passing the same object.
-{% endinfo_block %}
-
-**`MoneyFacade::formatWithoutSymbol()`**
-`MoneyFacade::formatWithoutSymbol()` method has the same behavior as the `MoneyFacade::formatWithSymbol()`, except of the fact that the currency symbol is not included.
-
-{% info_block infoBox %}
-The output would then be `10,00` or `10.00` for the above example.
-{% endinfo_block %}
-
-**`MoneyFacade::convertIntegerToDecimal()`**
-In some cases you will need a plain decimal representation of the value in integer (e.g. cents). This can be useful e.g. for API calls.
-
-**`MoneyFacade::convertDecimalToInteger()`**
-In some cases you will need an integer (e.g. cents) representation for a decimal value. This can be useful when you want to store monetary values in the database.
-
-## Money Collection Form Type
-From Money version 2.2.*, you can have money collection form type inside your forms which will allow to include complex form collection that will render table with currency per store and gross/net price.
-
-For example, add FormBuilder in your form Type:
-
-```php
-/**
- * @param \Symfony\Component\Form\FormBuilderInterface $builder
- *
- * @return $this
- */
-protected function addMoneyValueCollectionType(FormBuilderInterface $builder)
- {
- $builder->add(
- DiscountCalculatorTransfer::MONEY_VALUE_COLLECTION, //is the property in the main form you want to map. It should be transferred as in example
- MoneyCollectionType::class,
- [
- MoneyCollectionType::OPTION_AMOUNT_PER_STORE => false, //If you want to render per store, set it to true
- ]
- );
-
- return $this;
- }
-```
-
-Also, you need to modify twig template to include form money value collection table.
-
-```
-{% raw %}{{{% endraw %} form_money_collection(mainForm.moneyValueCollection) {% raw %}}}{% endraw %}
-```
-
-This will render table with all currencies enabled in store. You have to handle persistence yourself, which means that you have to save and read data to `MoneyValueTransfer` collection.
-
-{% info_block infoBox %}
-Component provides only initial data.
-{% endinfo_block %}
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/prices-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/prices-feature-walkthrough.md
deleted file mode 100644
index d86147c7b2f..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/prices-feature-walkthrough/prices-feature-walkthrough.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Prices feature walkthrough
-last_updated: Aug 18, 2021
-description: The Prices feature enables Back Office users to effectively manage the prices of all types of products
-template: concept-topic-template
----
-
-The _Prices_ feature enables Back Office users to effectively manage the prices of all types of products. They can set different types of prices, like default, original, and volume prices.
-
-
-To learn more about the feature and to find out how end users use it, see [Prices overview](/docs/scos/user/features/{{page.version}}/prices-feature-overview/prices-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INTEGRATION GUIDES | GLUE API GUIDES | DATA IMPORT | TUTORIALS AND HOWTOS | REFERENCES |
-|---|---|---|---|---|
-| [Prices feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/prices-feature-integration.html) | [Retrieving abstract product prices](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-abstract-product-prices.html) | [File details: product_price.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/pricing/file-details-product-price.csv.html) | [HowTo: Handle twenty five million prices in Spryker Commerce OS](/docs/scos/dev/tutorials-and-howtos/howtos/howto-handle-twenty-five-million-prices-in-spryker-commerce-os.html) | [Money module: reference information](/docs/scos/dev/feature-walkthroughs/{{page.version}}/prices-feature-walkthrough/money-module-reference-information.html) |
-| [Glue API: Product Price feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-price-feature-integration.html) | [Retrieving concrete product prices](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/concrete-products/retrieving-concrete-product-prices.html) | | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-barcode-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-barcode-feature-walkthrough.md
deleted file mode 100644
index f4a8dbcd917..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-barcode-feature-walkthrough.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: Product Barcode feature walkthrough
-last_updated: Aug 18, 2021
-description: The Product Barcode feature allows creating barcodes for any kind of entity.
-template: concept-topic-template
----
-
-The _Product Barcode_ feature allows creating barcodes for any kind of entity.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Barcode feature overview](/docs/scos/user/features/{{page.version}}/product-barcode-feature-overview.html) for business users.
-
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-bundles-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-bundles-feature-walkthrough.md
deleted file mode 100644
index 917a4213761..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-bundles-feature-walkthrough.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Product Bundles feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Bundles feature allows you to tie individual items together and sell them as a package.
-
-template: concept-topic-template
----
-
-The _Product Bundles_ feature allows you to tie individual items together and sell them as a package.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Bundles feature overview](/docs/scos/user/features/{{page.version}}/product-bundles-feature-overview.html) for business users.
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | GLUE API GUIDES |
-|---------|---------|
-|[Product Bundles feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-bundles-feature-integration.html) | [Retrieving bundled products](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-bundled-products.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-groups-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-groups-feature-walkthrough.md
deleted file mode 100644
index 9153323389a..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-groups-feature-walkthrough.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Product Groups feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Groups feature allows product catalog managers to group products by attributes, like color or size.
-template: concept-topic-template
----
-
-The _Product Groups_ feature allows product catalog managers to group products by attributes, like color or size.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Groups feature overview](/docs/scos/user/features/{{page.version}}/product-groups-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | DATA IMPORT | TUTORIALS AND HOWTOS |
-|---------|---------|---------|
-| [Product Groups feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-groups-feature-integration.html) | [File details: product_group.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/merchandising-setup/product-merchandising/file-details-product-group.csv.html) | [HowTo: Display product groups by color on the Storefront](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/howto-display-product-groups-by-color-on-the-storefront.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-labels-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-labels-feature-walkthrough.md
deleted file mode 100644
index 7b82d2b6dc2..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-labels-feature-walkthrough.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Product Labels feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Labels feature enables product catalog managers to highlight the desired products by adding a special type of information - product labels.
-template: concept-topic-template
----
-
-The _Product Labels_ feature enables product catalog managers to highlight the desired products by adding a special type of information—product labels.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Labels feature overview](/docs/scos/user/features/{{page.version}}/product-labels-feature-overview.html) for business users.
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES | GLUE API GUIDES |
-|---|---|---|
-| [Product Labels feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-labels-feature-integration.html) | ProductLabel migration guide | [Retrieving product labels](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/retrieving-product-labels.html) |
-| [Glue API: Product Labels feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-labels-feature-integration.html) | ProductLabelGUI migration guide | |
-| | ProductLabelSearch migration guide | |
-| | ProductLabelStorage migration guide | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-lists-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-lists-feature-walkthrough.md
deleted file mode 100644
index cecea87e695..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-lists-feature-walkthrough.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Product Lists feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Lists feature allows configuring product availability for specific companies by blacklisting or whitelisting products for them.
-template: concept-topic-template
----
-
-The _Product Lists_ feature allows configuring product availability for specific companies by blacklisting or whitelisting products for them.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Lists feature overview](/docs/scos/user/features/{{page.version}}/product-lists-feature-overview.html) for business users.
-
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES |
-|---------|
-| [Product Lists feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-lists-feature-integration.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-options-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-options-feature-walkthrough.md
deleted file mode 100644
index e4f00438927..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-options-feature-walkthrough.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Product Options feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Options feature allows a Back Office user to create and assign product options to abstract products.
-template: concept-topic-template
----
-
-The _Product Options_ feature allows a Back Office user to create and assign product options to abstract products.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Options feature overview](/docs/scos/user/features/{{page.version}}/product-options-feature-overview.html) for business users.
-
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES | DATA IMPORT |
-|---------|---------|---------|
-| [Shopping Lists + Product Options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/shopping-lists-product-options-feature-integration.html) | ProductOption migration guide |[File details: product_option.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/special-product-types/product-options/file-details-product-option.csv.html) |
-| [Product options + Order Management feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-options-order-management-feature-integration.html) | | [File details: product_option_price.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/special-product-types/product-options/file-details-product-option-price.csv.html) |
-| [Glue API: Product Options feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-options-feature-integration.html) | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-rating-reviews-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-rating-reviews-feature-walkthrough.md
deleted file mode 100644
index 0b3ff6781ee..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-rating-reviews-feature-walkthrough.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Product Rating & Reviews feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Rating & Reviews feature allows customers to add reviews and ratings to abstract products.
-template: concept-topic-template
----
-
-The _Product Rating & Reviews_ feature allows customers to add reviews and ratings to abstract products.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Rating & Reviews feature overview](/docs/scos/user/features/{{page.version}}/product-rating-and-reviews-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | GLUE API GUIDES | DATA IMPORT |
-|---------|---------|---------|
-| [Product Rating & Reviews feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-rating-and-reviews-feature-integration.html) | [Managing product ratings and reviews](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/managing-product-ratings-and-reviews.html) | [File details: product_review.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/merchandising-setup/product-merchandising/file-details-product-review.csv.html) |
-|[Glue API: Product rating & reviews feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-rating-and-reviews-feature-integration.html) | | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-relations-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-relations-feature-walkthrough.md
deleted file mode 100644
index 3745efc1d97..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-relations-feature-walkthrough.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: Product Relations feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Relations feature enables product catalog managers to create logical relations between products based on their actual properties
-template: concept-topic-template
----
-
-The _Product Relations_ feature enables product catalog managers to create logical relations between products based on their actual properties. Product relations are displayed on the Storefront to achieve multiple purposes.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Relations feature overview](/docs/scos/user/features/{{page.version}}/product-relations-feature-overview.html) for business users.
-
-
-## Entity diagram
-
-The following schema illustrates relations within the Product Relations feature:
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES|
-|---------|---------|
-|[Product relations feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-relations-feature-integration.html) | ProductRelation migration guide |
-| [Glue API: Product relations feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-product-relations-feature-integration.html) | ProductRelationStorage migration guide |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-feature-walkthrough.md
deleted file mode 100644
index c31bad9cf22..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-feature-walkthrough.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: Product Sets feature walkthrough
-last_updated: Aug 19, 2021
-description: The Product Sets feature allows creating and selling collections of products
-template: concept-topic-template
----
-
-The _Product Sets_ feature allows creating and selling collections of products.
-
-
-To learn more about the feature and to find out how end users use it, see [Product Sets feature overview](/docs/scos/user/features/{{page.version}}/product-sets-feature-overview.html) for business users.
-
-
-## Entity diagram
-
-The Product Sets feature consists of the following modules:
-
-| MODULE | DESCRIPTION |
-| --- | --- |
-| ProductSet | Manages the Product Sets feature's core functionalities, such as persisting all related data to database and reading from it. It also provides the Client functionality to list Product Sets from Search. |
-| ProductSetCollector | Provides full Collector logic to export product sets to Search and Storage. |
-| ProductSetGui | Provides a Back Office UI to create, list, update, delete, and reorder product sets. |
-
-The `ProductSet` module provides a `spy_product_set` table that stores some non-localized data about Product Sets entities. Localized data is stored in the `spy_product_set_data` table. These tables, along with their related URLs and product image sets, contain all the necessary data about Product Sets entities that you can list on the Storefront or show their representing *Product details* pages.
-
-The products in product sets and their sorting positions are stored in the `spy_product_abstract_set` table.
-
-
-
-![Product Set Database schema](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Product+Management/Product+Sets/product_set_db_schema.png)
-
-
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | DATA IMPORT |
-|---------|---------|
-| [Product Sets feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/product-sets-feature-integration.html) | [File details: product_set.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/merchandising-setup/product-merchandising/file-details-product-set.csv.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-module-relations.md b/docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-module-relations.md
deleted file mode 100644
index 85b12021b5e..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/product-sets-feature-walkthrough/product-sets-module-relations.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Product Sets- module relations
-description: Module relations and database schema of the Product Sets feature.
-template: feature-walkthrough-template
----
-
-The Product Set feature consists of the following modules:
-
-| Module | Description |
-| --- | --- |
-| ProductSet | Manages the Product Sets feature's core functionalities, such as persisting all related data to database and reading from it. It also provides the Client functionality to list Product Sets from Search. |
-| ProductSetCollector|Provides full Collector logic to export product sets to Search and Storage. |
-| ProductSetGui | Provides a Back Office UI to create, list, update, delete, and reorder product sets. |
-
-The `ProductSet` module provides a `spy_product_set` table that stores some non-localized data about Product Sets entities. Localized data is stored in the `spy_product_set_data` table. These tables, along with their related URLs and product image sets, contain all the necessary data about Product Sets entities that you can list on the Storefront or show their representing *Product details* pages.
-
-The products in product sets and their sorting positions are stored in the `spy_product_abstract_set` table.
-
-![Product Set Database schema](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Product+Management/Product+Sets/product_set_db_schema.png)
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/promotions-discounts-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/promotions-discounts-feature-walkthrough.md
deleted file mode 100644
index 33ac8f2af2b..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/promotions-discounts-feature-walkthrough.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: Promotions & Discounts feature walkthrough
-last_updated: Aug 19, 2021
-description: The Promotions & Discounts feature allows defining several types of discounts based on a brand, overall cart value, certain product ranges, or special customer groups
-template: concept-topic-template
----
-
-The _Promotions & Discounts_ feature allows defining several types of discounts based on a brand, overall cart value, certain product ranges, or special customer groups. You can also offer discount vouchers or incentivize certain products through coupon codes.
-
-
-To learn more about the feature and to find out how end users use it, see [Promotions & Discounts feature overview](/docs/scos/user/features/{{page.version}}/promotions-discounts-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES | GLUE API GUIDES | DATA IMPORT | TUTORIALS AND HOWTOS |
-|---|---|---|---|---|
-| [Glue API: Promotions & Discounts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-promotions-and-discounts-feature-integration.html) | Discount migration guide | [Retrieving promotional items](/docs/scos/dev/glue-api-guides/{{page.version}}/retrieving-promotional-items.html) | [File details: discount.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/merchandising-setup/discounts/file-details-discount.csv.html) | [HowTo: Create discounts based on shipment](/docs/pbc/all/discount-management/{{site.version}}/base-shop/create-discounts-based-on-shipment.html) |
-| | | [Managing discount vouchers in guest carts](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/guest-carts/managing-discount-vouchers-in-guest-carts.html) | [File details: discount_amount.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/merchandising-setup/discounts/file-details-discount-amount.csv.html) | |
-| | | [Managing discount vouchers in guest carts](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/guest-carts/managing-discount-vouchers-in-guest-carts.html) | [File details: discount_store.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/merchandising-setup/discounts/file-details-discount-store.csv.html) | |
-| | | | [File details: discount_voucher.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/merchandising-setup/discounts/file-details-discount-voucher.csv.html) | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/quick-add-to-cart-feature-walkthrough/quick-add-to-cart-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/quick-add-to-cart-feature-walkthrough/quick-add-to-cart-feature-walkthrough.md
deleted file mode 100644
index 204316153e5..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/quick-add-to-cart-feature-walkthrough/quick-add-to-cart-feature-walkthrough.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: Quick Add to Cart feature walkthrough
-last_updated: Aug 19, 2021
-description: The Quick Add to Cart feature allows adding multiple products to cart at once
-template: concept-topic-template
----
-
-The _Quick Add to Cart_ feature allows adding multiple products to cart at once.
-
-
-To learn more about the feature and to find out how end users use it, see [Quick Add to Cart feature overview](/docs/scos/user/features/{{page.version}}/quick-add-to-cart-feature-overview.html) for business users.
-
-
-## Entity diagram
-
-The following schema illustrates relations in the Quick Order feature:
-
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES |
-|---|---|
-| [Quick Add to Cart feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/quick-add-to-cart-feature-integration.html) | ProductPackagingUnitStorage migration guide |
-| [Quick Add to Cart + Shopping Lists feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/quick-add-to-cart-shopping-lists-feature-integration.html) | ProductPageSearch migration guide |
-| [Quick Add to Cart + Discontinued Products feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/quick-add-to-cart-discontinued-products-feature-integration.html) | QuickOrderPage migration guide |
-| [Quick Add to Cart + Measurement Units feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/quick-add-to-cart-measurement-units-feature-integration.html) | |
-| [Quick Add to Cart + Non-splittable Products feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/quick-add-to-cart-non-splittable-products-feature-integration.html) | |
-| [Quick Add to Cart + Packaging Units feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/quick-add-to-cart-packaging-units-feature-integration.html) | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/reference-information-refund-module.md b/docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/reference-information-refund-module.md
deleted file mode 100644
index 76790365285..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/reference-information-refund-module.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: "Reference information: Refund module"
-description: The article describes the methods used to calculate the refund, as well as ways of using and extending the Refund module.
-last_updated: Sep 30, 2019
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/refund-2-0
-originalArticleId: 1c6e9cef-6fc1-4555-aec9-db57dd1ec452
-redirect_from:
- - /v1/docs/refund-2-0
- - /v1/docs/en/refund-2-0
----
-
-The Refund module manages the refund process.
-
-* Overview
-* Using Refund
-* Extending Refund
-
-## Overview
-
-`RefundFacade` contains the following methods:
-
-* `calculateRefund(array $salesOrderItems, SpySalesOrder $salesOrderEntity)`
- * calculates refundable amount for the sales order
-
-* `calculateRefundableItemAmount(RefundTransfer $refundTransfer, OrderTransfer $orderTransfer, array $salesOrderItems)`
- * calculates refundable amount for given OrderTransfer and on the OrderItems that should be refunded.
-
-* `calculateRefundableExpenseAmount(RefundTransfer $refundTransfer, OrderTransfer $orderTransfer, array $salesOrderItems)`
- * calculates refundable amount on order expenses
-
-* `saveRefund(RefundTransfer $refundTransfer)`
- * persists the calculated refund amount
-
-When you need to refund one or more items of an order, you just need to create an array of order items that you have to refund and the sales order entity. The `RefundFacade::calculateRefund($salesOrderItems, $salesOrderEntity)` will return a `RefundTransfer` that contains the calculated refundable amount.
-
-## Using the Refund Module
-
-Usually this functionality will be integrated in the state machine processes and will be called by a command.
-A command plugin that calls the refund functionality can be similar to the example below:
-
-```php
-refundFacade->calculateRefund($orderItems, $orderEntity);
- $isRefundSuccessful = $this->getFacade()->refundPayment($refundTransfer);
-
- if ($isRefundSuccessful) {
- $this->refundFacade->saveRefund($refundTransfer);
- }
-
- ...
- }
-
- ...
-}
-```
-
-The necessary data to handle the refund is already provided to the state machine’s command and you only need to wire it up.
-
-To summarize, the following steps need to take place in your refund command:
-
-* ask the `RefundFacade` to calculate the refundable amount
- * by calling `RefundFacade::calculateRefund($orderItems, $orderEntity)` you will get a `RefundTransfer` back that contains the refundable amount for the provided data.
-* the `RefundTransfer` object can be passed to your payment provider facade that handles the refund
- * the payment provider should return if the refund was successful or not
-* if the refund was successful, persist the data
- * pass the `RefundTransfer` to `RefundFacade::saveRefund()` to persist the refund data.
-
-## Extending the Refund Module
-The manner of calculating the refundable amount is different from one project to another. One will refund the shipment for every item, while the other one will refund the shipment only when all items are refunded etc.
-
-The calculation of the refundable amount is achieved through a plugin mechanism.
-
-The default implementation will refund all expenses when the last item will be refunded. If you need to change this behavior, you simply need to create a new plugin that implements `RefundCalculatorPluginInterface` and replace the default one from the plugin stack with the new one.
-
-This interface contains one method `RefundCalculatorPluginInterface::calculateRefund()` that asks for a `RefundTransfer` object, an` OrderTransfer` and an array of items that need to be refunded.
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/refunds-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/refunds-feature-walkthrough.md
deleted file mode 100644
index cc438d78b52..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/refunds-feature-walkthrough/refunds-feature-walkthrough.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Refunds feature walkthrough
-last_updated: Aug 19, 2021
-description: The Refunds feature allows issuing refunds on orders
-template: concept-topic-template
----
-
-The _Refunds_ feature allows issuing refunds on orders.
-
-
-To learn more about the feature and to find out how end users use it, see [Refunds feature overview](/docs/scos/user/features/{{page.version}}/refunds-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| MIGRATION GUIDES | TUTORIALS AND HOWTOS |
-|---------|---------|
-| Refund migration guide | [Refund process management](/docs/scos/dev/back-end-development/data-manipulation/datapayload-conversion/refund-process-management.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/reorder-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/reorder-feature-walkthrough.md
deleted file mode 100644
index 70f58ec84aa..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/reorder-feature-walkthrough.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Reorder feature walkthrough
-last_updated: Aug 19, 2021
-description: The Reorder feature allows customers to repeat their previous orders in one click
-template: concept-topic-template
----
-
-The _Reorder_ feature allows customers to repeat their previous orders in one click.
-
-
-To learn more about the feature and to find out how end users use it, see [Reorder feature overview](/docs/scos/user/features/{{page.version}}/reorder-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES|
-|---------|---------|
-| [Multiple Carts + Reorder feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/multiple-carts-reorder-feature-integration.html) | CustomerReorderWidget migration guide |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/shared-carts-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/shared-carts-feature-walkthrough.md
deleted file mode 100644
index 472662b19b0..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/shared-carts-feature-walkthrough.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title: Shared Carts feature walkthrough
-last_updated: Aug 20, 2021
-description: The Shared Carts features allows sharing carts between company users.
-template: concept-topic-template
----
-
-The _Shared Carts_ feature allows sharing carts between company users.
-
-
-To learn more about the feature and to find out how end users use it, see [Shared Carts feature overview](/docs/scos/user/features/{{page.version}}/shared-carts-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | GLUE API GUIDES |
-|---------|---------|
-|[Shared Carts feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/shared-carts-feature-integration.html) | [Sharing company user carts](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-carts/sharing-company-user-carts/sharing-company-user-carts.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-feature-walkthrough.md
deleted file mode 100644
index 036fa830377..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-feature-walkthrough.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Shipment feature walkthrough
-last_updated: Aug 20, 2021
-description: The Shipment feature allows you to create and manage carrier companies and assign multiple delivery methods associated with specific stores, which your customers can select during the checkout
-template: concept-topic-template
----
-
-The _Shipment_ feature allows you to create and manage carrier companies and assign multiple delivery methods associated with specific stores, which your customers can select during the checkout. With the feature in place, you can define delivery price and expected delivery time, tax sets, and availability of the delivery method per store.
-
-
-To learn more about the feature and to find out how end users use it, see [Shipment feature overview](/docs/scos/user/features/{{page.version}}/shipment/shipment-feature-overview.html) for business users.
-
-
-## Entity diagram
-
-The following schema shows how the sales order and shipment method entities are modelled in the database:
-
-
-
-
-## Related Developer documents
-
-| INSTALLATION GUIDES | UPGRADE GUIDES | TUTORIALS AND HOWTOS | REFERENCES |
-|---|---|---|---|
-| [Shipment feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/shipment-feature-integration.html) | Shipment migration guide | [HowTo: Create discounts based on shipment](/docs/pbc/all/discount-management/{{site.version}}/base-shop/create-discounts-based-on-shipment.html#activate-a-discount-rule-based-on-a-shipment-carrier) | [Reference information: Shipment method plugins](/docs/scos/dev/feature-walkthroughs/{{page.version}}/shipment-feature-walkthrough/shipment-method-plugins-reference-information.html) |
-| [Glue API: Shipment feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-shipment-feature-integration.html) | ShipmentGui migration guide | [HowTo: Add a new shipment method 2.0](/docs/scos/dev/tutorials-and-howtos/howtos/howto-add-a-new-shipment-method-2.0.html) | |
-| | ManualOrderEntryGui migration guide | [HowTo: Import delivery methods linked to store](/docs/scos/dev/tutorials-and-howtos/howtos/feature-howtos/data-imports/howto-import-delivery-methods-linked-to-store.html) | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-method-plugins-reference-information.md b/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-method-plugins-reference-information.md
deleted file mode 100644
index 36f7d6ac5a6..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-method-plugins-reference-information.md
+++ /dev/null
@@ -1,175 +0,0 @@
----
-title: "Shipment method plugins: reference information"
-description: An optional plugin is linked to each shipping method. This topic provides an overview of the Availability, Price Calculation, and Delivery Time plugins.
-last_updated: Oct 29, 2019
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/shipment-method-plugins
-originalArticleId: 3e269e78-fd60-441a-a78f-a4aa0a513288
-redirect_from:
- - /v1/docs/shipment-method-plugins
- - /v1/docs/en/shipment-method-plugins
- - /docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/reference-information-shipment-method-plugins.html
-related:
- - title: Shipment Module Overview
- link: docs/scos/dev/feature-walkthroughs/page.version/shipment-feature-walkthrough/shipment-module-overview.html
- - title: Migration Guide - Shipment
- link: docs/scos/dev/module-migration-guides/migration-guide-shipment.html
----
-
-The main concerns regarding shipping services are :
-
-* **Availability**: Is the shipping method available to deliver the order?
-* **Price**: How is the delivery price calculated ?
-* **Delivery time**: When will the order be delivered ?
-
-For each of these concerns, an optional plugin is linked to each shipping method :
-
-* **Availability Plugin**: Returns a boolean value which implies if the active shipping method is available and should be visible to the customers in the list of available shipping services.
-* **Price Calculation Plugin**: Shipping services can consider different criteria in calculating the price for delivery (such as size of the package, weight, etc.). When a price plugin is paired to a shipping method, the related Zed Admin UI preconfigured prices are omitted.
-* **Delivery Time Plugin**: The estimated delivery time information of the purchased items is important for the customers. The delivery time can vary depending on region, shipping service type, or day of week. Delivery time is measured in seconds as integer (for example,1 day = 86400; 5 days = 5 * 86400).
-
-## Availability Plugin
-
-For each availability plugin linked to a shipment method, a class with the same name must exist on the project side in the Shipment module (`Pyz/Zed/Shipment/Communication/Plugin/Availability`).
-
-The class must implement `ShipmentMethodAvailabilityPluginInterface` and must extend the `AbstractPlugin` class, as in the example below :
-
-```php
- new YourAvailabilityPlugin(),
- ];
-}
-
-/**
- * @param Container $container
- *
- * @return array
- */
-protected function getPricePlugins(Container $container)
-{
- return [
- 'Plugin name visible in form' => new YourPricePlugin(),
- ];
-}
-
-/**
- * @param Container $container
- *
- * @return array
- */
-protected function getDeliveryTimePlugins(Container $container)
-{
- return [
- 'Plugin name visible in form' => new YourDeliveryTimePlugin(),
- ];
-}
-```
-
-We value people who contribute to improvement of our documentation:
-
-* Thank you to: [Eugen Mielke](https://github.com/eug3n) for taking the time to provide us with your feedback (August 2018).
-
-{% info_block warningBox %}
-You too can be credited in our documentation by stating that you wish to be mentioned when you send us feedback. Click "Edit on Github" (top right
-{% endinfo_block %} to send feedback for this page.)
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-module-overview.md b/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-module-overview.md
deleted file mode 100644
index 2b37b18084d..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/shipment-feature-walkthrough/shipment-module-overview.md
+++ /dev/null
@@ -1,156 +0,0 @@
----
-title: Shipment Module Overview
-description: The main concepts regarding shipping that are modeled in the database are shipment carrier and shipment method.
-last_updated: Jul 29, 2020
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/shipment-module-overview
-originalArticleId: 37041f6b-f7a2-4f72-9758-f897e4102d92
-redirect_from:
- - /v1/docs/shipment-module-overview
- - /v1/docs/en/shipment-module-overview
-related:
- - title: "Reference information: Shipment method plugins"
- link: docs/scos/dev/feature-walkthroughs/page.version/shipment-feature-walkthrough/reference-information-shipment-method-plugins.html
- - title: Migration Guide - Shipment
- link: docs/scos/dev/module-migration-guides/migration-guide-shipment.html
----
-
-The main concepts regarding shipping that are modeled in the database are :
-
-* shipment carrier
-* shipment method
-
-The schema below shows how the sales order and shipment method entities are modeled in the database:
-![Shipment Module schema](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Shipment/Shipment+Module+Overview/shipment_method_database_schema_2.png)
-
-A sales order has an associated sales shipment entity which has an associated sales expense. The values of these entities are calculated and stored during the creation of the sales order, using the current state of shipment method, shipment method plugins, shipment method price, shipment carrier, and tax set data.
-
-Note: The sales order can have additional, not shipment-related expenses.
-
-For a shipment carrier, the following information must be entered from the Zed Admin UI:
-
-* **Glossary key name** - ID of the glossary key that holds the name of the shipment carrier (internationalization purpose)
-* **Name** - name of the shipment carrier
-* **Is Active** - if this flag is set to false, then the shipment methods linked to the current shipment carrier are also disabled
-
-Multiple shipment methods can be added to a shipment carrier. For each shipment method the following details must be entered from the Back Office:
-
-* **Tax Set** - shipment method must have an associated tax rate
-* **Glossary Key Name** - ID of the glossary key that holds the name of the shipment method (internationalization purpose)
-* **Glossary Key Description** - ID of the glossary key that holds the description of the shipment method (internationalization purpose)
-* **Name** - name of the shipment method
-* **Price**
-* **Is Active** - flag that allows to disable/enable the shipment method
-
-Additional behaviors can be attached to a shipment method from the Back Office:
-
-* **Availability Plugin** - name of the plugin that checks the availability for this shipment method
-* **Delivery Time Plugin** - name of the plugin that can calculate the delivery time for this shipment method
-* **Price Calculation Plugin** - name of the plugin that can calculate the price for this shipment method
-
-{% info_block errorBox %}
-For each glossary key linked to a shipment carrier or methods, the corresponding entry for each locale configured in the application must be added to the glossary keys.
-{% endinfo_block %}
-
-For more information about the shipment method plugins, see [Shipment Methods Plugins](/docs/scos/dev/feature-walkthroughs/{{page.version}}/shipment-feature-walkthrough/shipment-method-plugins-reference-information.html).
-
-## Discounts Based on Shipment
-
-It is possible to create a discount rule based on a shipment carrier, a shipment method or a shipment price.
-
-To have a discount calculated based on a shipment method, select the shipment-method rule in the discount UI, **Discount calculation**. Then the discount will be applied only to the shipment expense with the chosen method. You could also select shipment-method rule for **Conditions** to define that your discount will be applied only when the order will be delivered by the chosen method.
-
-The same approach works for a carrier (shipment-carrier) and a price(shipment.price). You could combine these rules together based on your requirements.
-
-Follow the steps below to activate this feature:
-
-1. Install ShipmentDiscountConnector module in your project.
-2. Activate the Decision rule and the Collector plugins in `\Pyz\Zed\Discount\DiscountDependencyProvider`:
-
-```php
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/shopping-lists-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/shopping-lists-feature-walkthrough.md
deleted file mode 100644
index a180cbf9654..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/shopping-lists-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Shopping Lists feature walkthrough
-last_updated: Aug 20, 2021
-description: The Shopping Lists feature allows customers to create and share multiple lists of products between company business units or single users. Shopping lists can be shared between users with different sets of permissions.
-template: concept-topic-template
----
-
-The _Shopping Lists_ feature allows customers to create and share multiple lists of products between company business units or single users. Shopping lists can be shared between users with different sets of permissions.
-
-
-To learn more about the feature and to find out how end users use it, see [Shopping Lists](/docs/scos/user/features/{{page.version}}/shopping-lists-feature-overview/shopping-lists-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | GLUE API GUIDES |
-|---------|---------|
-| [Shopping Lists feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/shopping-lists-feature-integration.html) | [Managing shopping lists](/docs/scos/dev/feature-walkthroughs/{{page.version}}/shopping-lists-feature-walkthrough.html) |
-| [Glue API: Shopping Lists feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/glue-api/glue-api-shopping-lists-feature-integration.html) | [Managing shopping list items](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-shopping-lists/managing-shopping-list-items.html) |
-| [Prices feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/prices-feature-integration.html) | |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/spryker-core-back-office-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/spryker-core-back-office-feature-walkthrough.md
deleted file mode 100644
index 18c64635eba..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/spryker-core-back-office-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Spryker Core Back Office feature walkthrough
-last_updated: The Spryker Core Back Office feature adds a comprehensive, intuitive administration area
-description:
-template: concept-topic-template
----
-
-The _Spryker Core Back Office_ feature adds a comprehensive, intuitive administration area that provides the product and content management capabilities, categories and navigation building blocks, search and filter customizations, barcode generator, order handling, company structure creation (for B2B users), merchant-buyer contracts' setup.
-
-
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | REFERENCES|
-|---------|---------|
-| [Spryker Core Back Office feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-back-office-feature-integration.html) | [Back Office Translations overview](/docs/scos/user/features/{{page.version}}/spryker-core-back-office-feature-overview/back-office-translations-overview.html) |
-| [Microsoft Azure Active Directory](/docs/scos/dev/feature-integration-guides/{{page.version}}/microsoft-azure-active-directory.html) | [Users and rights overview](/docs/scos/dev/feature-walkthroughs/{{page.version}}/spryker-core-back-office-feature-walkthrough/user-and-rights-overview.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/user-and-rights-overview.md b/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/user-and-rights-overview.md
deleted file mode 100644
index 8647412c361..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-back-office-feature-walkthrough/user-and-rights-overview.md
+++ /dev/null
@@ -1,137 +0,0 @@
----
-title: Users and rights overview
-last_updated: Aug 20, 2021
-description: User and rights management is a general term that describes the security functionality for controlling user access to perform various roles throughout the system
-template: concept-topic-template
-originalLink: https://documentation.spryker.com/v1/docs/permission-acl-management
-originalArticleId: 3130e307-e706-4ed7-8f26-49048ca96a3d
-redirect_from:
- - /v1/docs/permission-acl-management
- - /v1/docs/en/permission-acl-management
- - /docs/scos/dev/feature-walkthroughs/201811.0/customer-account-management-feature-walkthrough/user-and-rights-overview.html
----
-
-User and rights management is a general term that describes the security functionality for controlling user access to perform various roles throughout the system.
-
-In the Spryker Commerce OS user and rights management is implemented in the following three bundles:
-
-* ACL—ACL stands for Access Control List. This is where you can manage your roles, groups, privileges and resources.
-* Auth—manages the authorization of a specific user by returning true or false if the credentials are allowed to access the system or not. It is used for login, logout, and used by the login controller to verify if a given user token is authenticated. Login is authenticated with a form or a header (via token). Auth is also used to validate that Zed has authorization to process incoming requests from Yves or 3rd parties such as payment providers.
-* User—allows to create users and assign them to groups. Each group contains a set of roles.
-
-## Users and customers
-
-It is important to distinguish between users and customers. A user works with the back-end side of the store and handles the store maintenance such as creating users and assigning them to roles that will allow them to perform actions such as editing the CMS, activating and deactivating products and managing discounts. A customer on the other hand is the final consumer of the online store for example, the person who places orders. Customers are also managed in Zed but in a different section.
-
-Users are assigned to groups. Groups are a collection of Roles e.g. customer-care, root, 3rd party etc. Roles have Resources (rules) assigned to them. Resources (rules) are used to assign specific privileges to a Role for example, a Sales Representative Role or a System Administrator Role. Resources are always /module/controller/action and you can use * as placeholder.
-
-* `/customer/*/*` would mean everything in /customer.
-* `/customer/view/*` would mean a user can only see customers but can’t edit them.
-
-## Managing users
-
-The Auth, ACL and User bundles are configured and managed through the Zed user interface. Bundles correspond with the tabs in Zed. You can find which name you should place here from the file `/project/config/Zed/navigation.xml`
-
-Also, you can find bundle names as well as controllers and actions in the file `communication/navigation.xml`. For example:
-
-![bundles_navigation.png](https://spryker.s3.eu-central-1.amazonaws.com/docs/scos/dev/feature-walkthroughs/spryker-core-back-office-feature-walkthrough/user-and-rights-overview.md/bundles_navigation.png)
-
-See [Managing users](/docs/scos/user/back-office-user-guides/{{page.version}}/users/managing-users/creating-users.html) to learn how to create and manage users, groups, and roles.
-
-
-
-{% info_block infoBox "Adding users in the ACL module" %}
-
-You can add Zed users not only via the Back Office, but also in the ACL module. To do so, add the user in `/Spryker/Zed/Acl/AclConfig::getInstallerUsers()`(see [AclConfig.php](https://github.com/spryker/acl/blob/d3193c9259ed2f2b6815f3b2c9f52f4e4e250bbe/src/Spryker/Zed/Acl/AclConfig.php) for example) and run `console setup:init-db`.
-
-{% endinfo_block %}
-
-## ACL configuration
-
-Apart from being able to configure user access to Zed resources via Zed UI, you can grant access to additional resources by specifying them in `config_*.php`. The following options are used to do that:
-
-* `AclConstants::ACL_DEFAULT_RULES`—is used to provide/restrict access to Zed resources, defined in the `Spryker/Zed/Auth/AuthConfig::$ingorable` property. For example:
-
-```php
-$config[AclConstants::ACL_DEFAULT_RULES] = [
- // ....
- [
- 'bundle' => 'auth',
- 'controller' => 'login',
- 'action' => 'index',
- 'type' => 'deny',
- ],
- // ....
-];
-```
-
-In the example, we restrict access for everyone to Zed login page. This option affects both logged-in and anonymous users. The key feature is the ability to restrict/provide access for anonymous users.
-
-* `AclConstants::ACL_USER_RULE_WHITELIST`—is used to provide additional access to Zed resources for all logged-in users. For example:
-
-```php
-$config[AclConstants::ACL_USER_RULE_WHITELIST] = [
- // ....
- [
- 'bundle' => 'application',
- 'controller' => '*',
- 'action' => '*',
- 'type' => 'allow',
- ],
- // ....
-];
-```
-In the example, we grant access to the Application module resources for all users.
-
-{% info_block warningBox "" %}
-
-With the configuration provided in the example, users are granted access to these resources regardless of ACL configuration in ZED UI.
-
-{% endinfo_block %}
-
-
-
-* `AclConstants::ACL_DEFAULT_CREDENTIALS`—is used to provide additional access to Zed resources for a specific user. For example:
-
-```php
-$config[AclConstants::ACL_DEFAULT_CREDENTIALS] = [
- 'winner@spryker.com' => [
- 'rules' => [
- [
- 'bundle' => '*',
- 'controller' => '*',
- 'action' => '*',
- 'type' => 'allow',
- ],
- ],
- ],
-]
-```
-
-In the example, we grant the user **winner@spryker.com** access to all Zed resources. To make it work, we should also add **winner@spryker.com** to this option: `UserConstants::USER_SYSTEM_USERS`. Here, a system user is any user who has additional ACL rules defined for them in `config_*.php` file.
-
-* Note that if there is at least one `allow` type for a resource, the user will have access to it in spite of having a `deny` type for the same resource. It works for `AclConstants::ACL_USER_RULE_WHITELIST`, `AclConstants::ACL_DEFAULT_CREDENTIALS` and rules configured via Zed UI, except for `AclConstants::ACL_DEFAULT_RULES` as it is handled before checking if user logged in or not.
-
-
-
-## If you are:
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/how-translations-are-managed.md b/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/how-translations-are-managed.md
deleted file mode 100644
index 1d5ef202a0b..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/how-translations-are-managed.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: How translations are managed
-last_updated: Aug 20, 2021
-description: The key concept for rendering web pages with translated content very fast and with limited resource usage is using a key-value storage
-template: concept-topic-template
----
-
-The key concept for rendering web pages with translated content very fast and with limited resource usage is using a key-value storage.
-
-Yves has no connection to Zed’s SQL database and it fetches all dynamic data from a key-value storage(Redis) and a search engine(Elasticsearch). This data contains translations but also product information, product categories, URL mappings, stock information, image paths.
-
-Accessing the key-value storage (Redis) is faster than making a request to Zed’s SQL database. Also, by limiting the connections to the SQL database, the performance of the entire application is optimized.
-
-The localized content is added by using Zed’s Back Office user interface. For every configured locale, the Back Office user can add the corresponding resource such as translations or path to images. The changes are updated in the Zed’s SQL database.
-
-The diagram bellow pictures the DB schema for the tables in which the translations are being stored.
-![Database schema with translations stored](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Internationalization/Glossary/How+Translations+are+Managed/glossary_kv_and_db.png)
-
-When the web application is first installed, the data stored in the Zed’s database is exported in the key-value storage (Redis) used by Yves. To assure that the key-value storage is in sync with the data stored in the SQL database, Queue processes will consume translation events and publish the data to key -value storage (Redis). These events will be triggered when a translation is created, updated or deleted. There is also a command that can be used for triggering the events manually in case of data refreshment:
-
-`console event:trigger -r translation`
-If you lost your storage data, you can sync the published data to storage by calling this command:
-
-`console sync:data translation`
-
-The schema bellow summarizes the levels of persistence used in order to offer localized content into the front office interface (Yves).
-![Levels of persistence](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Internationalization/Glossary/How+Translations+are+Managed/glossarykeyspersistence.png)
-
-## Command query separation
-
-We can consider the key-value storage as a denormalized model of the relational model stored in the Sql database and the request of rendering a page as a query that the user makes. Statistically, query requests are happening a lot more often than command requests ( such as checkout or submitting a payment) and using a dedicated storage for them brings a lot of speed in the application.
-
-Another advantage of using a denormalized model for displaying localized content is that we don’t have to do the transformations of the objects stored in the relational database when using them on the client side logic.
-
-
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/spryker-core-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/spryker-core-feature-walkthrough.md
deleted file mode 100644
index b2e22fc4107..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/spryker-core-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Spryker Core feature walkthrough
-last_updated: Aug 20, 2021
-description: The Spryker Core feature represents a set of basic modules representing the Spryker Commerce OS.
-template: concept-topic-template
----
-
-The _Spryker Core_ feature is a set of basic modules representing the Spryker Commerce OS.
-
-
-To learn more about the feature and to find out how end users use it, see [Spryker Core](/docs/scos/user/features/{{page.version}}//spryker-core-feature-overview/spryker-core-feature-overview.html) for business users.
-
-
-## Related Developer documents
-
-|INSTALLATION GUIDES | TUTORIALS AND HOWTOS | REFERENCES|
-|---------|---------|---------|
-| [Spryker Сore feature integration](/docs/scos/dev/feature-integration-guides/{{page.version}}/spryker-core-feature-integration.html) | [Tutorial: Managing glossary key](/docs/scos/dev/tutorials-and-howtos/advanced-tutorials/tutorial-managing-glossary-keys.html) | [How translations are managed](/docs/scos/dev/feature-walkthroughs/{{page.version}}/spryker-core-feature-walkthrough/how-translations-are-managed.html) |
-| | | [URL redirects overview](/docs/scos/dev/feature-walkthroughs/{{page.version}}/spryker-core-feature-walkthrough/url-redirects-overview.html) |
-| | | [Vault for Tokens overview](/docs/scos/user/features/{{page.version}}/spryker-core-feature-overview/vault-for-tokens-overview.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/url-redirects-overview.md b/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/url-redirects-overview.md
deleted file mode 100644
index 9f057e38a42..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/url-redirects-overview.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: URL redirects overview
-last_updated: Aug 20, 2021
-description: With URL redirects, you can create content redirects and increase your store's search engine visibility
-template: concept-topic-template
----
-
-With the URL redirects, you can create content redirects and increase your store's search engine visibility. Redirects can be store-internal or external and can reflect various HTTP status codes that play a major role in search engine ranking. Besides, redirects for the changed product, CMS pages, categories URLs are auto-generated.
-A URL redirect is a special entity that consists of a source URL (which is provided by the `spy_url database` table), a target URL, and an HTTP status code stored in the `spy_url_redirect` database table. Redirects are exported to the key-value storage with collectors and are matched with StorageRouter the same way as described in the [URL](/docs/scos/dev/back-end-development/yves/url.html) article. `\Pyz\Yves\Redirect\Controller\RedirectController` in the Demo Shop, sends a redirect response to the target URL with the given status code.
-
-## Manual redirects
-
-In the Back Office, you can create custom URL redirects from not yet existing URLs to other internal or external URLs with different status codes. See [Creating CMS redirects](/docs/scos/user/back-office-user-guides/{{page.version}}/content/redirects/creating-cms-redirects.html) for details.
-
-## Automatic redirects
-
-When using URL module's public API (`UrlFacade`) to manage URLs, whenever a URL is modified, a new URL redirect is automatically created in the background from the old URL. This helps search engines and other external URLs pointing to the old URL find the content that was displayed there before. Thus, when URLs of products, CMS pages, categories, and even URL redirects change, their old URL will still live and point to a valid page they used to display.
-
-Since URL redirects are special URLs, whenever a non-redirect entity wants to take control over a URL that was redirected, it will be possible, so redirected URLs can be overtaken by other entities that need those URLs.
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/vault-for-tokens-overview.md b/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/vault-for-tokens-overview.md
deleted file mode 100644
index 03a4667fc87..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/spryker-core-feature-walkthrough/vault-for-tokens-overview.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: Vault for Tokens overview
-last_updated: Aug 20, 2021
-description: This articles overviews Vault for Tokens, which provides the functionality to store sensitive data
-template: concept-topic-template
-redirect_from:
- - /docs/scos/user/features/201811.0/spryker-core-feature-overview/vault-for-tokens-overview.html
----
-
-Vault for Tokens provides the functionality to store sensitive data. This feature doesn't have any GUI and consists of two modules: _Spryker.UtilEncryption_ and _Spryker.Vault_.
-
-_Spryker.UtilEncryption_ provides data encryption / decryption functionality and _Spryker.Vault_ module uses this functionality to store and retrieve data from the database.
-
-![Module relations of Vault for Tokens](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Workflow+&+Process+Management/Vault+for+Tokens/Vault+for+Tokens+Feature+Overview/module-relations-vault-for-tokens.png)
-
-The database structure includes the following fields:
-
-* dataType
-* dataKey
-* data
-
-`dataType` and `dataKey` entries are used for the distinction between the provided data. Thus, multiple and various entries of data can be filtered and stored in the vault.
-
-The database fields are mandatory and should contain either an empty string or a string with value.
-
-By default, we provide encryption algorithm AES256. The encryption functionality won't be used until the `ENCRYPTION_KEY` is set in the project config file. You can change the encryption algorithm in the module config on the project level.
-
-The feature supports special characters and different [writing systems](https://en.wikipedia.org/wiki/Writing_system#Logographic_systems).
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-feature-walkthrough.md b/docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-feature-walkthrough.md
deleted file mode 100644
index bf31f6fe3c0..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-feature-walkthrough.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Tax feature walkthrough
-last_updated: Aug 20, 2021
-description: "The Tax feature allows you to define taxes for the items you sell. The feature is represented by two entities: tax rates and tax sets"
-template: concept-topic-template
----
-
-The _Tax_ feature allows you to define taxes for the items you sell. The feature is represented by two entities: tax rates and tax sets.
-
-
-To learn more about the feature and to find out how end users use it, see [Tax feature overview](/docs/scos/user/features/{{page.version}}/tax-feature-overview.html) for business users.
-
-## Related Developer documents
-
-| MIGRATION GUIDES | GLUE API GUIDES | DATA IMPORT |
-|---|---|---|
-|Tax migration guide | [Retrieving tax sets](/docs/scos/dev/glue-api-guides/{{page.version}}/managing-products/abstract-products/retrieving-tax-sets.html) | [File details: tax.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-tax.csv.html) | |
-| | | [File details: product_abstract.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/catalog-setup/products/file-details-product-abstract.csv.html) | |
-| | | [File details: product_option.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/special-product-types/product-options/file-details-product-option.csv.html) | |
-| | | [File details: shipment.csv](/docs/scos/dev/data-import/{{page.version}}/data-import-categories/commerce-setup/file-details-shipment.csv.html) |
diff --git a/docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-module-reference-information.md b/docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-module-reference-information.md
deleted file mode 100644
index 547df6159f3..00000000000
--- a/docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/tax-module-reference-information.md
+++ /dev/null
@@ -1,152 +0,0 @@
----
-title: "Tax module: reference information"
-last_updated: Aug 20, 2021
-description: The Tax module is responsible for handling tax rates that can apply for products, product options or shipment.
-template: feature-walkthrough-template
-originalLink: https://documentation.spryker.com/v1/docs/tax-module
-originalArticleId: a76f0e40-ec24-44a9-b563-e65dd9d7f176
-redirect_from:
- - /v1/docs/tax-module
- - /v1/docs/en/tax-module
- - /docs/scos/dev/feature-walkthroughs/201811.0/tax-feature-walkthrough/reference-information-tax-module.html
----
-
-
-The Tax module is responsible for handling tax rates that can apply for products, product options, or shipment.
-
-## Overview
-
-The tax sets can have different tax rates for each country defined in your shop. You can see in the diagram below how these entities are modeled in the database.
-![Database for tax sets](https://spryker.s3.eu-central-1.amazonaws.com/docs/Features/Tax/Tax+Version+1.0/tax.png)
-
-A tax set is defined by a name and is uniquely identified by an `id`. As its name says, it’s associated to a set of rates. A tax rate is defined by a name, a numeric rate value and it’s linked to a country.
-
-All in one, a tax set contains of collection of tax rates that apply by country.
-
-The `SpyTaxSetTax` table is used to model the many-to-many relation between tax set and tax rate tables.
-
-{% info_block infoBox "Tax Related Entities" %}
-
-There are a couple of entities that have a tax set associated as a foreign key, such as abstract products, product options and shipment methods.
-
-{% endinfo_block %}
-
-
-## TaxDefault class
-
-TaxDefault class contains two important operations:
-
-* `getDefaultTaxCountry()`—retrieves the default tax country from the configuration file (e.g.: Germany).
-* `getDefaultTaxRate()`—retrieved the default tax rate from the configuration file (e.g.: 19%).
-
-These methods are called if the tax calculator cannot find the corresponding tax rate for one of the related entities.
-
-These methods can be extended on the project side, depending on your needs.
-
-## Calculator plugins
-
-Tax module ships with a set of calculator plugins, dedicated for calculating the taxes for each of the corresponding items in the QuoteTransfer.
-
-The calculators are called to recalculate the taxes every time the `addToCart()` method is called or the payment step is entered. If the customer has changed the country during the address step, this is not an issue because the tax rates are recalculated.
-
-### Calculator plugins for tax rates
-
-* `ProductItemTaxCalculatorsPlugin`—calculates tax rates based on `IdAbstractProduct` in the items contained in the QuoteTransfer (Tax module)
-* `ProductIOptionTaxCalculatorsPlugin`—calculated tax rates based on `IdOptionValueUsage` for every product option of the items contained in the QuoteTransfer (ProductOption module)
-* `ShipmentTaxCalculatorsPlugin`—calculates tax rates based on the shipment method set in the `QuoteTransfer` (Shipment module)
-
-The calculator plugins are registered in the `CalculationDependencyProvider:getCalculatorStack()` method.
-
-## Extending Tax module
-
-One of the most common use cases of extending the Tax module is to provide a custom calculator.
-
-In the coding example below, we’ll implement a calculator that uses a flat tax rate for all the products.
-
-The new calculator plugin must extend the `AbstractPlugin` class and implement the `CalculatorPluginInterface`.
-
-In Zed, inside the `Tax/Communication/Plugin/` folder, create the `FlatTaxRateCalculatorPlugin` class.
-
-```php
-getFacade()->calculateProductItemTaxRate($quoteTransfer);
- }
-}
-```
-
-Next, implement the business logic; create `FlatTaxRateCalculator` inside the `Model` folder.
-
-```php
-getFactory()->createFlatTaxRateCalculator()->recalculate($quoteTransfer);
- }
-}
-```
-
-Register the new plugin in the `CalculationDependencyProvide:getCalculatorStack()` method:
-
-```php
-();
-
- ngOnInit() {
- // Logic that has to be done when component will be created
- }
-
- componentSpecificMethod() {}
-}
-```
-
-For more details about the components, use [official Angular documentation](https://angular.io/guide/architecture-components).
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/angular-services.md b/docs/scos/dev/front-end-development/202108.0/marketplace/angular-services.md
deleted file mode 100644
index 87737f0a4f2..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/angular-services.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-title: Angular Services
-description: This document provides details about the Angular Services, and how to create and use them.
-template: concept-topic-template
-related:
- - title: Angular Components
- link: docs/scos/dev/front-end-development/page.version/marketplace/angular-components.html
- - title: Web Components
- link: docs/scos/dev/front-end-development/page.version/marketplace/web-components.html
----
-
-This document describes what Angular Services are, how to create and use them.
-
-## Introduction
-
-The Angular Services are stateless objects which provide useful functionality. These functions can be invoked from any component of Angular, such as Components and Directives. It enables services to organize and share business logic, models, data and functions with other components of an Angular application and thus divide the web application into small, reusable logical units. A service typically encapsulates a particular aspect/function of the system (HTTP, part of business logic).
-Using Angular Services methods, the data is maintained throughout the life of an application, that is, it is never refreshed and is always available.
-
-#### Component communication using Angular services
-
-You can use services to manage the state of a set of related components (such as the Redux pattern). Reusable Angular services can also be used to establish communication between two components. Components can be siblings or in a parent-child relationship. No matter what type of relationship exists, the services can be used to share data between components. All you need is public properties in the service class that one component sets and the other consumes, and vice versa. A service that acts as a bridge between two components has to be injected into both components.
-
-## How to Create a service
-
-To define a class as a service in Angular, the `@Injectable()` decorator is used. By providing metadata, Angular can inject it into a component as a dependency. Similarly, the `@Injectable()` decorator indicates that a component or other class (such as another service, a pipe, or a `NgModule`) has a dependency. To learn more information about `@Injectable()`, see [official Angular documentation](https://angular.io/api/core/Injectable).
-
-```ts
-import { Injectable } from '@angular/core';
-
-@Injectable({
- // Declares that this service should be created
- // by the root application injector.
- providedIn: 'root',
-})
-export class SomeService {
- reusableMethod(): void {
- // ...some logic
- }
-}
-```
-
-## How to use service
-
-To use the service, you simply need to import it and inject it via DI in the constructor of either a Component or another Service.
-
-```ts
-import { Component } from '@angular/core';
-
-@Component({
- ...,
-})
-export class ServiceConsumer {
- constructor(private someService: SomeService) {}
-
- invokeServiceMethod(): void {
- this.someService.reusableMethod();
- }
-}
-```
-
-For more info about services, use [official Angular documentation](https://angular.io/guide/architecture-services).
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/building-the-project.md b/docs/scos/dev/front-end-development/202108.0/marketplace/building-the-project.md
deleted file mode 100644
index 8610ffb5bd7..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/building-the-project.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: Building the project
-description: This document provides details how to build the frontend part of the Merchant Portal.
-template: concept-topic-template
-related:
- - title: Project structure
- link: docs/scos/dev/front-end-development/page.version/marketplace/project-structure.html
- - title: Setting up the Merchant Portal
- link: docs/scos/dev/front-end-development/page.version/marketplace/setting-up-the-merchant-portal.html
----
-
-This document provides details how to build the frontend part of the Merchant Portal.
-
-## Overview
-Spryker uses [webpack](https://webpack.js.org/guides/getting-started/) to build frontend.
-At its core, webpack is a static module bundler for modern JavaScript applications. As webpack processes an application, it builds an internal dependency graph that maps every module that the project requires and generates one or more bundles.
-- All related configs are located in the `/frontend/merchant-portal` folder.
-- The built-in frontend stuff (css, fonts, images, js) is in the `/public/Backoffice/assets` folder.
-
-Modules for Merchant Portal are split into composer modules, and each module has its own application in the form of an Angular Module with Angular+Web Components.
-Every module has an entry point called `entry.ts` that is collected during the build as webpack entries and included in the Merchant Portal build as a chunk.
-Those chunk names are taken from the module name and then transformed into a `kebab-case`.
-
-General structure of the frontend modules in the Spryker Marketplace can be found in the [Module structure](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/project-structure.html#module-structure).
-
-The frontend of the Merchant Portal is built using the following commands:
-
-- default build
- ```bash
- yarn mp:build
- ```
-
-- build in the watch mode
- ```bash
- yarn mp:build:watch
- ```
-
-- production build
- ```bash
- yarn mp:build:production
- ```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/extend-the-marketplace-frontend.md b/docs/scos/dev/front-end-development/202108.0/marketplace/extend-the-marketplace-frontend.md
deleted file mode 100644
index 7b8e7e7687a..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/extend-the-marketplace-frontend.md
+++ /dev/null
@@ -1,242 +0,0 @@
----
-title: Extending the project
-description: This document provides details about how to extend the new project.
-template: howto-guide-template
-redirect_from:
- - /docs/marketplace/dev/front-end/extending-the-project/index.html
-related:
- - title: Migration guide - Extending the project
- link: docs/scos/dev/front-end-development/page.version/marketplace/extending-the-project/migration-guide-extending-the-project.html
----
-
-To add additional frontend functionality beyond the one provisioned out-of-the-box, the project must be extended.
-
-This document can help you understand how you can extend the frontend project.
-
-## Prerequisites
-
-Prior to starting the project extension, verify that the marketplace modules are up-to-date as follows:
-
-| NAME | VERSION |
-| ------------------------------------------- | --------- |
-| ZedUi | >= 0.4.1 |
-| DashboardMerchantPortalGui (optional) | >= 0.4.1 |
-| MerchantProfileMerchantPortalGui (optional) | >= 0.7.1 |
-| ProductMerchantPortalGui (optional) | >= 0.6.1 |
-| ProductOfferMerchantPortalGui (optional) | >= 0.10.2 |
-| SalesMerchantPortalGui (optional) | >= 0.8.1 |
-| SecurityMerchantPortalGui (optional) | >= 0.4.2 |
-
-## Extending/customizing configuration modules
-
-There are several modules having global configuration in `app.module.ts `(for example,`LocaleModule`, `DefaultUnsavedChangesConfigModule`, `DefaultTableConfigModule`) that influence any component in each module.
-
-To extend/customize or override the default configuration, you must add a module with the proper static methods to the `app.module.ts` imports. Below, you can find an example with table configuration:
-
-```ts
-@NgModule({
- imports: [
- BrowserModule,
- BrowserAnimationsModule,
- HttpClientModule,
- DefaultMerchantPortalConfigModule,
-
- // Extend module on the project level
- TableModule.withActions({
- action_name: SpecificActionService,
- })
-
- // Customize module on the project level
- TableModule.withActions({
- already_used_action_name: ToOverrideActionService,
- })
- ],
- providers: [appBootstrapProvider()],
-})
-export class AppModule {}
-```
-
-## Overriding / creating new angular components
-
-For webpack to compile project-based modules rather than vendor-based, `entry.ts` and `components.module.ts` must be created with the appropriate scaffolding (see [Module Structure](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/project-structure.html#module-structure) section).
-
-Default `entry.ts` should use the same code as vendor-level `entry.ts`.
-
-Add angular components in the app folder [Angular Components](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/angular-components.html).
-
-Add newly-created component `Module` and `Component` classes to the `components.module.ts`.
-
-`components.module.ts` overrides vendor `components.module.ts` with a list of custom web components.
-
-**DashboardMerchantPortalGui - vendor level**
-
-```ts
-import { NgModule } from '@angular/core';
-import { ChipsComponent, ChipsModule } from '@spryker/chips';
-import { WebComponentsModule } from '@spryker/web-components';
-
-import { DashboardCardComponent } from './dashboard-card/dashboard-card.component';
-import { DashboardCardModule } from './dashboard-card/dashboard-card.module';
-import { DashboardComponent } from './dashboard/dashboard.component';
-import { DashboardModule } from './dashboard/dashboard.module';
-
-@NgModule({
- imports: [
- WebComponentsModule.withComponents([
- DashboardComponent,
- DashboardCardComponent,
- ChipsComponent,
- ]),
- ChipsModule,
- DashboardModule,
- DashboardCardModule,
- ],
- providers: [],
-})
-export class ComponentsModule {}
-```
-
-**DashboardMerchantPortalGui** **- project level (any core component is overridden)**
-
-```ts
-import { NgModule } from '@angular/core';
-import { ChipsComponent, ChipsModule } from '@spryker/chips';
-import { WebComponentsModule } from '@spryker/web-components';
-// Import from vendor
-import {
- DashboardComponent,
- DashboardModule,
-} from '@mp/dashboard-merchant-portal-gui';
-
-import { OverridedDashboardCardComponent } from './overrided-dashboard-card/overrided-dashboard-card.component';
-import { OverridedDashboardCardModule } from './overrided-dashboard-card/overrided-dashboard-card.module';
-
-import { NewComponent } from './new-component/new-component.component';
-import { NewModule } from './new-module/new-module.module';
-
-@NgModule({
- imports: [
- WebComponentsModule.withComponents([
- DashboardComponent,
- ChipsComponent,
-
- // Project
- OverridedDashboardCardComponent,
- NewComponent,
- ]),
-
- ChipsModule,
- DashboardModule,
-
- // Project
- OverridedDashboardCardModule,
- NewModule,
- ],
- providers: [],
-})
-export class ComponentsModule {}
-```
-
-**DashboardMerchantPortalGui** **- project level** **(a new component to the core module is added)**
-
-```ts
-import { NgModule } from '@angular/core';
-import { WebComponentsModule } from '@spryker/web-components';
-// Import from vendor
-import { ComponentsModule as CoreComponentsModule } from '@mp/dashboard-merchant-portal-gui';
-
-import { NewComponent } from './new-component/new-component.component';
-import { NewModule } from './new-module/new-module.module';
-
-@NgModule({
- imports: [
- CoreComponentsModule,
- WebComponentsModule.withComponents([NewComponent]),
-
- NewModule,
- ],
-})
-export class ComponentsModule {}
-```
-
-## Overriding twig files
-
-To use a `twig` file in your project, you must create a file with the same name and scaffolding as on the vendor level. For example, `ZedUi/Presentation/Layout/merchant-layout-main.twig`.
-
-All content used on the project level overrides the vendor.
-
-It is also possible to extend the vendor twig blocks. You need to extend the vendor file and declare existing blocks to accomplish this.
-
-**ZedUi/src/Spryker/Zed/ZedUi/Presentation/Example/example.twig - vendor level**
-
-```twig
-{%- raw -%}
-{% block headTitle %}
- {{ 'Title' | trans }}
-{% endblock %}
-
-// Any other content
-{% endraw %}
-```
-
-**ZedUi/Presentation/Example/example.twig - project level**
-
-```twig
-{%- raw -%}
-{% extends '@Spryker:ZedUi/Example/example.twig' %}
-
-{% block headTitle %}
- {{ 'Project Title' | trans }}
-{% endblock %}
-{% endraw %}
-```
-
-If a project file isn’t reflected in the browser, try to clean cache:
-
-```bash
-console cache:empty-all
-```
-
-## Overriding CSS variables
-
-CSS variables can be overridden in any `.less`/`.css` file related to the Marketplace at the project level.
-
-Global override changes a variable for the whole project:
-
-- Variables in the root library
-
-```less
-@border-radius-base: var(--spy-border-radius-base, 10px);
-@green: var(--spy-green, #17b497);
-```
-
-- Overridden variables at the project level (for example, `src/Pyz/Zed/ZedUi/Presentation/Components/styles.less`)
-
-```less
-:root {
- --spy-border-radius-base: 15px;
- --spy-green: green;
-}
-```
-
-A partial override changes a variable for a specific scope (for example, inside a component):
-
-- Variable in the root library
-
-```less
-@btn-padding-base: var(
- --spy-btn-padding-base,
- @btn-horizontal-vertical-base @btn-horizontal-padding-base
-);
-```
-
-- Overridden variable at the project level
-
-```less
-.mp-test-selector {
- --spy-btn-padding-base: 10px 15px;
-
- // styles
- ...
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/project-structure.md b/docs/scos/dev/front-end-development/202108.0/marketplace/project-structure.md
deleted file mode 100644
index 036d7b9428b..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/project-structure.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: Project structure
-description: This document provides details about the structure of the frontend project in the Spryker Marketplace.
-template: concept-topic-template
-related:
- - title: Building the project
- link: docs/scos/dev/front-end-development/page.version/marketplace/building-the-project.html
----
-
-This document explains the structure of the frontend project in the Spryker Marketplace.
-
-## Alias
-
-Use the alias `@mp/spryker-module-name` with the proper Spryker module name to import vendor Angular components, modules or services into .js files, for example, `import { registerNgModule } from '@mp/zed-ui'`.
-
-## Module structure
-
-Below you can find a general structure of every frontend module in the Spryker Marketplace:
-
-- MODULE_NAME
- - src/Spryker/Zed/MODULE_NAME
- - Presentation—this is the namespace where the marketplace frontend-related files are located.
- - Components—all Angular files are located here.
- - entry.ts—registers all Angular NgModules via `registerNgModule` from `@mp/zed-ui/app/registry`
- - app—contains Angular components and services.
- - components.module.ts—an Angular NgModule with components, such as web components (extends `CustomElementModule` from `@spryker/web-components`).
- - public-api—exports all public components / modules / services / types / tokens.
- - TWIG_FOLDER—a folder with twig view.
- - mp.public-api.ts—exports the public-api file.
- - package.json—adds `MODULE_NAME` specific packages.
-
-## Main entry points
-
-The following entry points are needed for the Angular config to build the frontend project.
-
-- ZedUi (Project)
- - Presentation
- - Components
- - app
- - app.module.ts—a module with the default configuration modules and bootstrap for the web-components.
- - assets—all assets are located here.
- - environment—this folder contains the base configuration file, `environment.ts`.
- - index.html—entry for html file in the `angular.json` (not used for Spryker needs, exists for configuration only).
- - main.ts—compiles the web-app and bootstraps the `AppModule` to run in the browser.
- - polyfills.ts—used to provide modern functionality for older browsers that do not natively support it.
- - styles.less—extends global styles.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/set-up-the-merchant-portal.md b/docs/scos/dev/front-end-development/202108.0/marketplace/set-up-the-merchant-portal.md
deleted file mode 100644
index 170355c29df..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/set-up-the-merchant-portal.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Setting up the Merchant Portal
-description: This document provides details about setting up Spryker Marketplace project.
-template: howto-guide-template
-related:
- - title: Building the project
- link: docs/scos/dev/front-end-development/page.version/marketplace/building-the-project.html
----
-
-This document provides details about how to set up the Spryker Merchant Portal.
-
-## Prerequisites
-
-To start using Merchant Portal, install Spryker demo-shop:
-
-1. Use [this repository](https://github.com/spryker-shop/suite) for the Marketplace project installation.
-2. Install the project using one of the following guides:
-
-* [Installing Spryker with Docker](/docs/scos/dev/set-up-spryker-locally/set-up-spryker-locally.html)
-* [Installing Spryker with Development Virtual Machine](/docs/scos/dev/set-up-spryker-locally/installing-spryker-with-development-virtual-machine/installing-spryker-with-development-virtual-machine.html)
-* [Installing Spryker without Development Virtual Machine or Docker](/docs/scos/dev/set-up-spryker-locally/installing-spryker-without-development-virtual-machine-or-docker.html)
-
-
-## Requirements
-
-To build Merchant Portal, install or update the following tools:
-
-- [Node.js](https://nodejs.org/en/download/)—minimum version is v12.
-- [Yarn](https://classic.yarnpkg.com/en/docs/install/) - minimum version is 2.0.0 and maximum is 2.3.x.
-
-## Overview
-
-The main environmental differences between the existing frontends (Yves, Zed) and Merchant Portal are:
-
-- Minimum Node.js version is v12.
-- npm is replaced by Yarn v2 with Workspaces.
-
-Using a "unified" approach, all frontend dependencies must be installed in one step
-
-- The entire project is now a "Yarn Workspace," meaning each submodule declares its dependencies. During the installation stage, Yarn installs all of those dependencies and hoists them up into the root of the project.
-
-## Install dependencies and build Merchant Portal
-
-```bash
-yarn install
-```
-
-```bash
-yarn mp:build
-```
-
-All possible commands are listed in the `package.json` file in the root folder.
-
-Once everything has been installed, you can access the UI of Merchant Portal by going to `$[local_domain]/security-merchant-portal-gui/login`.
-
-All Merchant Portal modules are located in the `/vendor/spryker/spryker` directory.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/index.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/index.md
deleted file mode 100644
index 3b609e29446..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/index.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-title: Table Design
-description: This document describes the Table Design in the Components Library.
-template: concept-topic-template
----
-
-This document describes the Table Design in the Components Library.
-
-## Overview
-
-A *Table Component* is an arrangement of data in rows and columns, or possibly in a more complex structure (with sorting, filtering, pagination, row selections, infinite scrolling).
-It is an essential building block of a user interface.
-
-A basic Table Component is `` where `config` is:
-- `dataSource`—the Datasource configuration from which the data is taken.
-- `columns`—an array of columns configuration.
-
-```ts
-const config: TableConfig = {
- dataSource: {
- // transforms input data via Data Transformer service
- type: DatasourceType,
- transform?: DataTransformerConfig,
- },
- columns: [
- { id: 'col1', title: 'Column #1' },
- { id: 'col2', title: 'Column #2' },
- { id: 'col3', title: 'Column #3' },
- ],
-};
-```
-
-## Architecture
-
-Check out the table architecture diagram for better understanding:
-
-![Table Architecture](https://spryker.s3.eu-central-1.amazonaws.com/docs/Marketplace/dev+guides/Front-end/table-architecture.svg)
-
-### Configuration
-
-A Table Component is configured via [Table Configuration](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-configuration.html) that sets up how the table should behave and look like.
-
-### Datasources
-
-To render data, the Table must receive it via [Datasources](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/datasources/datasources.html)
-that are registered by the user and then configured using the Table Configuration.
-
-### Features
-
-Every other piece of functionality is extracted into the [Table Feature](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-extension.html):
-
-- A *Table Feature* is an Angular Component that encapsulates a specific extension of the Core Table.
-- Core Table contains specific placeholders in its view that Table Feature may target to render its piece of UI.
-- Most of the common table functionality already exists as the Table Feature and may be used in the project.
-
-To use a Feature component, register an Angular Module that implements the `ModuleWithFeature` interface in the Root Module
-using `TableModule.withFeatures()` under the key that serves as its configuration key:
-
-```ts
-@NgModule({
- imports: [
- TableModule.withFeatures({
- pagination: () => import('@spryker/table.feature.pagination').then(
- (m) => m.TablePaginationFeatureModule,
- ),
- }),
- ],
-})
-export class AppModule {}
-```
-
-### Columns
-
-Columns in a Table are defined by the [Column Type](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-extension.html) and rendered within the columns (text, image, link).
-A new Column Type may be created and registered to the table.
-
-A Column component must implement `TableColumn` interface with the defined config and then be registered to the Root Module via `TableModule.withColumnComponents()`:
-
-```ts
-@NgModule({
- imports: [
- TableModule.withColumnComponents({
- text: TableColumnTextComponent,
- }),
-
- // Table Column Type Modules
- TableColumnTextModule,
- ],
-})
-export class AppModule {}
-```
-
-### Filters
-
-A Table Component does not contain any filters a table usually has (filtering, searching).
-The Core Table Component has just a view of the columns and data and has built-in sorting.
-
-To use [Filter components](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-filter-extension/table-filter-extension.html), the Table Module must implement a specific interface (TableConfig) and then be registered to the Root Module via `TableModule.withFilterComponents()`:
-
-```ts
-@NgModule({
- imports: [
- TableFiltersFeatureModule.withFilterComponents({
- select: TableFilterSelectComponent,
- }),
-
- // Table Filter Modules
- TableFilterSelectModule,
- ],
-})
-export class AppModule {}
-```
-
-### Actions
-
-There is a way to trigger some [Actions](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/ui-components-library-actions.html) while user interacts with the Table.
-
-A few common Table Features that can trigger actions are available in the UI library:
-
-- [Row actions](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-row-actions.html)—renders a dropdown menu that contains actions applicable to the table row and on click triggers an Action which must be registered.
-- [Batch actions](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html)—allows triggering batch/multiple actions from rows.
-
-## Interfaces
-
-The following interfaces are intended for the Table configuration:
-
-```ts
-export interface TableColumn extends Partial {
- id: string;
- title: string;
- displayKey?: string;
- width?: string;
- multiRenderMode?: boolean;
- multiRenderModeLimit?: number;
- emptyValue?: string;
- sortable?: boolean;
- searchable?: boolean;
-}
-
-export interface TableColumnTypeDef {
- type?: TableColumnType;
- typeOptions?: TableColumnTypeOptions;
- typeChildren?: TableColumnTypeDef[];
- typeOptionsMappings?: TableColumnTypeOptionsMappings;
-}
-
-export interface TableColumnTypeOptions {
- [key: string]: any;
-}
-
-interface TableColumnTypeOptionsMappings {
- // Map of option values to new values
- [optionName: string]: Record;
-}
-
-export interface TableColumnTypeRegistry {
- // Key is type string—value is type config class
- 'layout-flat': LayoutFlatConfig;
-}
-
-export type TableColumnType = keyof TableColumnTypeRegistry;
-
-export interface TableHeaderContext {
- config: TableColumn;
- i: number;
-}
-
-export interface TableColumnContext extends AnyContext {
- value: TableDataValue;
- displayValue?: unknown;
- row: TableDataRow;
- config: TableColumn;
- i: number;
- j: number;
-}
-
-export interface TableColumnTplContext extends TableColumnContext {
- $implicit: TableColumnContext['value'];
-}
-
-export interface TableColumnComponent {
- config?: C;
- context?: TableColumnContext;
-}
-
-export type TableColumnComponentDeclaration = {
- [P in keyof TableColumnTypeRegistry]?: Type>;
-};
-
-export type TableColumns = TableColumn[];
-
-export type TableDataValue = unknown | unknown[];
-
-export type TableDataRow = Record;
-
-export interface TableData {
- data: T[];
- total: number;
- page: number;
- pageSize: number;
-}
-
-export interface TableConfig {
- dataSource: DatasourceConfig;
- columnsUrl?: string;
- columns?: TableColumns;
-
- // Features may expect it's config under it's namespace
- [featureName: string]: TableFeatureConfig | unknown;
-}
-
-export type ColumnsTransformer = (
- cols: TableColumns,
-) => Observable;
-
-export type TableDataConfig = Record;
-
-export interface SortingCriteria {
- sortBy?: string;
- sortDirection?: 'asc' | 'desc';
-}
-
-export type TableEvents = Record void) | undefined>;
-
-export interface TableComponent {
- tableId?: string;
- config?: TableConfig;
- events: TableEvents;
- config$: Observable;
- columns$: Observable;
- data$: Observable;
- isLoading$: Observable;
- tableId$: Observable;
- features$: Observable[]>;
- tableElementRef: ElementRef;
- injector: Injector;
- updateRowClasses(rowIdx: string, classes: Record): void;
- setRowClasses(rowIdx: string, classes: Record): void;
- on(feature: string, eventName?: string): Observable;
- findFeatureByName(name: string): Observable;
- findFeatureByType(
- type: Type,
- ): Observable;
-}
-
-export enum TableFeatureLocation {
- top = 'top',
- beforeTable = 'before-table',
- header = 'header',
- headerExt = 'header-ext',
- beforeRows = 'before-rows',
- beforeColsHeader = 'before-cols-header',
- beforeCols = 'before-cols',
- cell = 'cell',
- afterCols = 'after-cols',
- afterColsHeader = 'after-cols-header',
- afterRows = 'after-rows',
- afterTable = 'after-table',
- bottom = 'bottom',
- hidden = 'hidden',
-}
-
-export interface TableRowActionRegistry {
- // Key is action string—value is action options type
-}
-
-export type TableRowAction = keyof TableRowActionRegistry;
-
-export interface TableRowActionHandler {
- handleAction(actionEvent: TableActionTriggeredEvent): void;
-}
-
-export interface TableRowActionsDeclaration {
- [type: string]: TableRowActionHandler;
-}
-
-export interface TableRowClickEvent {
- row: TableDataRow;
- event: Event;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/index.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/index.md
deleted file mode 100644
index 38d9b1fa4fd..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/index.md
+++ /dev/null
@@ -1,210 +0,0 @@
----
-title: Table Column Type extension
-description: This document provides details about the Table Column Type extension in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type extension in the Components library.
-
-## Overview
-
-Column Type is an Angular Component that describes how a specific type of the column is rendered within a table column.
-
-Check out the following example to see how to configure columns in the table config:
-
-```html
-
-
-```
-
-## Main Services/Decorators/Components
-
-Using the table module, any table column can be registered by key via the static method `TableModule.withColumnComponents()`.
-It assigns the object of columns to the `TableColumnComponentsToken` under the hood.
-
-### ColumnTypeOption decorator
-
-By using the `ColumnTypeOption` decorator, properties of columns can be validated at runtime. The `ColumnTypeOptions` interface shows all the properties.
-
-### TableColumnTypeComponent decorator
-
-The `TableColumnTypeComponent` decorator merges the default config parameters from the argument with the dynamic config parameters from the table.
-
-## TableColumnRendererComponent
-
-The `TableColumnRendererComponent` is used by the table to render each column based on the configuration and data.
-
-## Table Column
-
-As an Angular Component, Table Column must implement specific interface (`TableColumnTypeComponent`) and be registered on the Table Module via its `TableModule.withColumnComponents()` method by passing a string that will be associated with it when rendering.
-
-It is also necessary to create your own column module and add it to the RootModule.
-
-```ts
-// Module augmentation
-import {
- ColumnTypeOption,
- TableColumnTypeComponent,
- TableColumnComponent,
- TableColumnContext,
-} from '@spryker/table';
-
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- custom: CustomTableColumnConfig;
- }
-}
-
-// Component implementation
-@Injectable({ providedIn: 'root' })
-export class CustomTableColumnConfig {
- @ColumnTypeOption({
- type: ColumnTypeOptionsType.AnyOf,
- value: [String, Boolean],
- })
- customOption? = 'customOption';
-}
-
-// Module
-@NgModule({
- ...,
- declarations: [CustomTableColumnComponent],
- exports: [CustomTableColumnComponent],
-})
-export class CustomTableColumnModule {}
-
-// Component
-@Component({
- ...
-})
-@TableColumnTypeComponent(TableColumnTextConfig)
-export class CustomTableColumnComponent
- implements TableColumnComponent {
- @Input() config?: CustomTableColumnConfig;
- @Input() context?: TableColumnContext;
-}
-
-// Root module
-@NgModule({
- imports: [
- TableModule.withColumnComponents({
- custom: CustomTableColumnComponent,
- }),
- CustomTableColumnModule,
- ],
-})
-export class RootModule {}
-```
-
-### Context interpolation
-
-Check out an example of getting a Table Column config value from the context:
-
-```ts
-// Module
-import { ContextModule } from '@spryker/utils';
-
-@NgModule({
- imports: [CommonModule, ContextModule],
- exports: [CustomTableColumnModule],
- declarations: [CustomTableColumnModule],
-})
-export class CustomTableColumnModule {}
-
-// Component
-@Injectable({ providedIn: 'root' })
-export class CustomTableColumnConfig {
- @ColumnTypeOption()
- propName? = this.contextService.wrap('displayValue');
-
- constructor(private contextService: ContextService) {}
-}
-```
-
-```html
-// Usage
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Type extension configuration.
-
-```ts
-export interface TableColumnComponent {
- config?: C;
- context?: TableColumnContext;
-}
-
-export interface ColumnTypeOptions {
- /** Is it required */
- REQUIRED: boolean;
- /** Expected type. Specify exact type in {@link value} prop */
- type?: ColumnTypeOptionsType;
- /** Value type. See {@link ColumnTypeOptionsType} for more details.
- * May be recursive for some types */
- value?: unknown | ColumnTypeOptions;
-}
-
-export enum ColumnTypeOptionsType {
- /** Value will be compared with strict equality */
- Literal = 'literal',
- /** Value must be any Javascript type (String, Number) */
- TypeOf = 'typeOf',
- /** Value will be compared with every array item. May be recursive */
- ArrayOf = 'arrayOf',
- /** Value must be an array of other types. May be recursive */
- AnyOf = 'anyOf',
-}
-```
-
-## Table Column types
-
-UI library comes with a number of standard column types that can be used on any project:
-
-- [Autocomplete](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html) - renders `@spryker/input` and `@spryker/autocomplete` components.
-- [Chip](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-chip.html) - renders `@spryker/chip` component.
-- [Date](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-date.html) - renders a formatted date by `config`.
-- [Dynamic](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html) - is a higher-order column that gets `ColumnConfig` from the configured `Datasource` and renders a column with the retrieved `ColumnConfig`.
-- [Image](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-image.html) - renders an image.
-- [Input](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-input.html) - renders `@spryker/input` component.
-- [List](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-list.html) - renders a list of column types.
-- [Select](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-select.html) - renders `@spryker/select` component.
-- [Text](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-text.html) - renders a static text.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-autocomplete.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-autocomplete.md
deleted file mode 100644
index 0f66e917ced..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-autocomplete.md
+++ /dev/null
@@ -1,131 +0,0 @@
----
-title: Table Column Type Autocomplete
-description: This document provides details about the Table Column Type Autocomplete in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type Autocomplete in the Components library.
-
-## Overview
-
-Table Column Autocomplete is an Angular Component that renders an autocomplete field using the `@spryker/input` and `@spryker/autocomplete` components.
-
-Check out an example usage of the Table Column Autocomplete in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- autocomplete: TableColumnAutocompleteConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- autocomplete: TableColumnAutocompleteComponent,
- }),
- TableColumnAutocompleteModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Autocomplete:
-
-```ts
-interface AutocompleteValue {
- value: unknown;
- title: string;
- isDisabled?: boolean;
-}
-
-interface DataTransformerConfig {
- type: string;
-
- // Reserved for types that may have extra configuration
- [extraConfig: string]: unknown;
-}
-
-interface DatasourceConfig {
- type: string;
- transform?: DataTransformerConfig;
-
- // Specific Datasource types may have custom props
- [k: string]: unknown;
-}
-
-interface TableColumnAutocompleteConfig {
- /** Bound to the @spryker/autocomplete inputs */
- options: AutocompleteValue[];
- datasource?: DatasourceConfig;
- /** Bound to the @spryker/input inputs */
- value?: any;
- type: string; // 'text' - by default
- placeholder?: string;
- prefix?: string;
- suffix?: string;
- outerPrefix?: string;
- outerSuffix?: string;
- attrs?: Record;
- /** Bound to the @spryker/form-item input */
- editableError?: string | boolean;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-chip.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-chip.md
deleted file mode 100644
index 94313841e8b..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-chip.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: Table Column Type Chip
-description: This document provides details about the Table Column Type Chip in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type Chip in the Components library.
-
-## Overview
-
-Table Column Chip is an Angular Component that renders a chip using the `@spryker/chips` component.
-
-Check out an example usage of the Table Column Chip in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- chip: TableColumnChipConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- chip: TableColumnChipComponent,
- }),
- TableColumnChipModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Chip:
-
-```ts
-interface TableColumnChipConfig {
- /** Bound to the @spryker/chips inputs */
- text?: string;
- color?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-date.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-date.md
deleted file mode 100644
index ae23a749b42..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-date.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Table Column Type Date
-description: This document provides details about the Table Column Type Date in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type Date in the Components library.
-
-## Overview
-
-Table Column Date is an Angular Component that renders formatted date using Angular built-in Date Pipe.
-
-Check out an example usage of the Table Column Date in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- date: TableColumnDateConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- date: TableColumnDateComponent,
- }),
- TableColumnDateModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Date:
-
-```ts
-interface TableColumnDateConfig {
- date?: Date;
- format?: string; // 'shortDate' - by default
-}
-```
-
-To learn more about the pre-defined `format` options, see [official Angular documentation](https://angular.io/api/common/DatePipe#pre-defined-format-options).
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-dynamic.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-dynamic.md
deleted file mode 100644
index ed5448f72b6..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-dynamic.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: Table Column Type Dynamic
-description: This document provides details about the Table Column Type Dynamic in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type Dynamic in the Components library.
-
-## Overview
-
-Table Column Dynamic is an Angular Component that renders a dynamic Table Column Type from a config retrieved via `@spryker/datasource`.
-
-Check out an example usage of the Table Column Dynamic in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- dynamic: TableColumnDynamicConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- dynamic: TableColumnDynamicComponent,
- }),
- TableColumnDynamicModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Dynamic:
-
-```ts
-interface DataTransformerConfig {
- type: string;
-
- // Reserved for types that may have extra configuration
- [extraConfig: string]: unknown;
-}
-
-interface DatasourceConfig {
- type: string;
- transform?: DataTransformerConfig;
-
- // Specific Datasource types may have custom props
- [k: string]: unknown;
-}
-
-interface TableColumnDynamicDatasourceConfig implements DatasourceConfig {
- type: string;
- [k: string]: unknown;
-}
-
-interface TableColumnDynamicConfig {
- datasource: TableColumnDynamicDatasourceConfig;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-image.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-image.md
deleted file mode 100644
index 674c384da5d..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-image.md
+++ /dev/null
@@ -1,88 +0,0 @@
----
-title: Table Column Type Image
-description: This document provides details about the Table Column Type Image in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type Image in the Components library.
-
-## Overview
-
-Table Column Image is an Angular Component that renders an image.
-
-Check out an example usage of the Table Column Image in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- image: TableColumnImageConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- image: TableColumnImageComponent,
- }),
- TableColumnImageModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Image:
-
-```ts
-interface TableColumnImageConfig {
- src?: string;
- alt?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-input.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-input.md
deleted file mode 100644
index 228f596b5a8..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-input.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-title: Table Column Type Input
-description: This document provides details about the Table Column Type Input in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type Input in the Components library.
-
-## Overview
-
-Table Column Input is an Angular Component that renders a field using the `@spryker/input` component.
-
-Check out an example usage of the Table Column Input in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- input: TableColumnInputConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- input: TableColumnInputComponent,
- }),
- TableColumnInputModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Input:
-
-```ts
-interface TableColumnInputConfig {
- /** Bound to the @spryker/input inputs */
- type: string; // 'text' - by default
- value?: any;
- placeholder: string;
- prefix?: string;
- suffix?: string;
- outerPrefix?: string;
- outerSuffix?: string;
- attrs?: Record;
- /** Bound to the @spryker/form-item input */
- editableError?: string | boolean;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-list.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-list.md
deleted file mode 100644
index ce501d34afc..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-list.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-title: Table Column Type List
-description: This document provides details about the Table Column Type List in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type List in the Components library.
-
-## Overview
-
-Table Column List is an Angular Component that provides a list of Table Column components with defined types via the `table-column-renderer` component and displays two columns by default, with the rest appearing in the `@spryker/popover` component.
-
-Check out an example usage of the Table Column List in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- list: TableColumnListConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- list: TableColumnListComponent,
- }),
- TableColumnListModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column List:
-
-```ts
-interface TableColumnListConfigInner {
- type?: string;
- typeOptions?: Object;
- typeChildren?: TableColumnListConfigInner[];
-}
-
-interface TableColumnListConfig extends TableColumnListConfigInner {
- limit: number; // 2 - by default
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-select.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-select.md
deleted file mode 100644
index 54a92fe7ae1..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-select.md
+++ /dev/null
@@ -1,148 +0,0 @@
----
-title: Table Column Type Select
-description: This document provides details about the Table Column Type Select in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-text.html
----
-
-This document explains the Table Column Type Select in the Components library.
-
-## Overview
-
-Table Column Select is an Angular Component that renders a drop-down list using the `@spryker/select` component.
-
-Check out an example usage of the Table Column Select in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- select: TableColumnSelectConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- select: TableColumnSelectComponent,
- }),
- TableColumnSelectModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Select:
-
-```ts
-type SelectValue = string | number;
-type SelectOption = SelectValue | SelectOptionItem;
-
-interface SelectOptionItem {
- title: string;
- value: SelectValue;
- isDisabled?: boolean;
-}
-
-interface DataTransformerConfig {
- type: string;
-
- // Reserved for types that may have extra configuration
- [extraConfig: string]: unknown;
-}
-
-interface DatasourceConfig {
- type: string;
- transform?: DataTransformerConfig;
-
- // Specific Datasource types may have custom props
- [k: string]: unknown;
-}
-
-interface ColumnSelectDataTransformer implements DataTransformerConfig {
- type: string;
- [k: string]: unknown;
-}
-
-interface ColumnSelectDatasource implements DatasourceConfig {
- type: string;
- transform?: ColumnSelectDataTransformer;
- [k: string]: unknown;
-}
-
-interface TableColumnSelectConfig {
- /** Bound to the @spryker/select inputs */
- options: (SelectOption | ColumnSelectOptionItem)[];
- value?: SelectValue;
- multiple?: boolean; // false - by default
- search?: boolean; // false - by default
- disableClear?: boolean; // false - by default
- placeholder?: string;
- showSelectAll?: boolean; // false - by default
- selectAllTitle?: string;
- noOptionsText?: string;
- datasource?: ColumnSelectDatasource;
- /** Bound to the @spryker/form-item input */
- editableError?: string | boolean;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-text.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-text.md
deleted file mode 100644
index 387c2518cb7..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-column-types/table-column-type-text.md
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title: Table Column Type Text
-description: This document provides details about the Table Column Type Text in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Column Type extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-extension.html
- - title: Table Column Type Autocomplete
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-autocomplete.html
- - title: Table Column Type Chip
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-chip.html
- - title: Table Column Type Date
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-date.html
- - title: Table Column Type Dynamic
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-dynamic.html
- - title: Table Column Type Image
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-image.html
- - title: Table Column Type Input
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-input.html
- - title: Table Column Type List
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-list.html
- - title: Table Column Type Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-column-type-extension/table-column-type-select.html
----
-
-This document explains the Table Column Type Text in the Components library.
-
-## Overview
-
-Table Column Text is an Angular Component that renders text.
-
-Check out an example usage of the Table Column Text in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableColumnTypeRegistry {
- text: TableColumnTextConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withColumnComponents({
- text: TableColumnTextComponent,
- }),
- TableColumnTextModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Column Text:
-
-```ts
-interface TableColumnTextConfig {
- text?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-configuration.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-configuration.md
deleted file mode 100644
index 9958e17f871..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-configuration.md
+++ /dev/null
@@ -1,181 +0,0 @@
----
-title: Table Configuration
-description: This document provides details about the table configuration.
-template: concept-topic-template
----
-
-This document provides details about how to configure the table.
-
-## Overview
-
-Using Table Configuration you can customize the behavior of the table based on your specific use case.
-
-Table config has two required sections:
-
-- [Columns](#columns-configuration) definition that describes what columns user will see and what data to expect.
-- [Datasource](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/datasources/datasources.html) type that describes how the data should be provided to a table.
-
-The rest of the sections are reserved for features (like Pagination, which describes pagination section and its properties).
-
-```html
-
-
-```
-
-### Columns configuration
-
-You can configure columns with two properties. By using `url`, you can get a dynamic list of columns. In this case, the `columnsUrl` property should be assigned to the `table` configuration.
-
-The columns data can also be defined as a static array of columns objects assigned to the `columns` property.
-
-#### Column config example
-
-Check out the example of the column configuration:
-
-```ts
-[
- // chip
- {
- id: 'stock',
- title: 'Stock',
- type: 'chip',
- typeOptions: {
- color: 'green',
- },
- typeOptionsMappings: {
- color: {0: 'red'},
- },
- },
- // chips
- {
- id: 'status',
- type: 'chips',
- typeOptions: {
- text: '${value}',
- color: 'red',
- },
- typeOptionsMappings: {
- text: {
- 'true': 'Active',
- 'false': 'Inactive',
- },
- color: {'true': 'green'},
- },
- },
- // select
- {
- id: 'store',
- type: 'select',
- typeOptions: {
- multiselect: bool,
- values: [
- {value: 1, title: 'DE'},
- {value: 2, title: 'AT'},
- ],
- },
- },
- // input
- {
- id: 'gross_price',
- type: 'input',
- typeOptions: {
- type: '|text|number|tel',
- placeholder: '0.00',
- readOnly: bool,
- },
- },
-]
-```
-
-## Type options interpolation and mapping
-
-Table Column config supports interpolation. Variables inside curly brackets (e.g `${value}, ${row.title}...`) in the `typeOptions` object are replaced with the appropriate table context value.
-
-Below is the complete table context:
-
-```ts
-interface TableColumnTplContext extends TableColumnContext {
- $implicit: TableColumnContext['value'];
-}
-
-interface TableColumnContext {
- value: TableDataValue;
- row: TableDataRow;
- config: TableColumn;
- i: number;
- j: number;
-}
-
-interface TableColumn extends Partial {
- id: string;
- title: string;
- width?: string;
- multiRenderMode?: boolean;
- multiRenderModeLimit?: number;
- emptyValue?: string;
- sortable?: boolean;
- searchable?: boolean;
-}
-
-type TableDataRow = Record;
-
-type TableDataValue = unknown | unknown[];
-```
-
-In addition, Table Column supports overriding defined *typeOptions* properties based on the value of the table column. As a result, the `typeOptionsMappings` object should be added where the `typeOption` key and all variants are defined.
-
-```ts
-typeOptionsMappings: {
- TYPE_OPTION_KEY: { TABLE_COLUMN_VALUE: DESIRED_VALUE_1, TABLE_COLUMN_VALUE: DESIRED_VALUE_2 },
-},
-```
-
-```ts
-...
-typeOptions: {
- text: '${value}',
- color: 'red',
-},
-typeOptionsMappings: {
- text: { col3: 'Active', 'false': 'Inactive' },
- color: { col3: 'green'}
-},
-...
-
-// Possible showed table `text` and `color` variants:
-// text—'Active' and color—'green'—if table column value is `col3`
-// text—'Inactive' and default color('red')—if table column value is `false`
-// default text(table column value) and default color('red')—in other cases
-```
-
-To get more details about the table columns, see [Column Types](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-extension.html).
-
-## Interfaces
-
-Below you can find interfaces for the Table:
-
-```ts
-export interface TableConfig {
- dataSource: DatasourceConfig;
- columnsUrl?: string;
- columns?: TableColumns;
-
- // Features may expect it's config under it's namespace
- [featureName: string]: TableFeatureConfig | unknown;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/index.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/index.md
deleted file mode 100644
index 73ae4b08587..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/index.md
+++ /dev/null
@@ -1,184 +0,0 @@
----
-title: Table Feature extension
-last_updated: Jun 07, 2021
-description: This document provides details about the Table Feature extension in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature extension in the Components Library.
-
-## Overview
-
-The table has the ability to add custom features/components to the defined table locations (`TableFeatureLocation`). By default, the table has a simplified view. However, you can embed additional components to the specified locations and extend the table (title, pagination, totals).
-
-A Table Feature is an Angular Component encapsulating a piece of UI that is targeted to a specific location within a Table Component or that may provide additional functionality.
-
-The Table Feature must extend a specific Angular Component (`TableFeatureComponent`) and provide itself as a `TableFeatureComponent` via `ExistingProvider` in the registry.
-
-```ts
-// Module augmentation
-import { TableFeatureConfig } from '@spryker/table';
-
-declare module '@spryker/table' {
- interface TableConfig {
- custom?: TableCustomFeatureConfig;
- }
-}
-
-export interface TableCustomFeatureConfig extends TableFeatureConfig {}
-
-// Component implementation
-// Module
-import { ModuleWithFeature, TableFeatureModule } from '@spryker/table';
-
-@NgModule({
- imports: [CommonModule, TableFeatureModule],
- exports: [TableCustomFeatureComponent],
- declarations: [TableCustomFeatureComponent],
-})
-export class TableCustomFeatureModule implements ModuleWithFeature {
- featureComponent = TableCustomFeatureComponent;
-}
-
-// Component
-@Component({
- selector: 'spy-table-custom-feature',
- ...,
- providers: [
- {
- provide: TableFeatureComponent,
- useExisting: TableCustomFeatureComponent,
- },
- ],
-})
-export class TableCustomFeatureComponent extends TableFeatureComponent<
- TableCustomFeatureConfig
-> {}
-```
-
-```html
-
- COMPONENT MARKUP
-
-```
-
-## Usage and registration
-
-There are two ways to use the Table Feature:
-
-- Via HTML tag (as a component) being projected into the Table Component—this lets users control how the Table Feature is loaded on the page, but it does not control its loading from the Table Configuration.
-
- ```html
-
-
-
- ```
-
- To add a feature via HTML, it's enough to include a feature tag with a custom attribute (`spy-table-feature`) inside a table. When the table content is initialized, the table receives all templates by attribute and initializes features.
-
-- Via the registry of the Table Module — the Table feature can be lazy-loaded when the Table Component requires it based on the Table Configuration, but it does not allow custom loading (custom loading is possible if the Angular versions are the same and shared).
-
- ```ts
- @NgModule({
- imports: [
- TableModule.withFeatures({
- title: () =>
- import('@spryker/table.feature.title').then(
- (m) => m.TableTitleFeatureModule,
- ),
- }),
- ],
- })
- export class RootModule {}
- ```
-
-To add a feature via the registry, register the feature in the Table Module using static method `TableModule.withFeatures()`. Under the hood, it assigns the object of actions to the `TableFeaturesRegistryToken`. The `TableFeatureLoaderService` injects all registered types from the `TableFeaturesRegistryToken`, `Compiler`, and `Injector`. Upon initialization, the table loads only enabled feature modules and compiles them via Compiler with Injector before initializing them.
-
-In the table configuration, you can enable or disable, and configure any feature.
-
-```html
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature extension configuration.
-
-```ts
-export interface ModuleWithFeature {
- featureComponent: Type;
-}
-
-export interface TableFeatureConfig {
- enabled?: boolean;
- [k: string]: unknown;
-}
-
-export enum TableFeatureLocation {
- top = 'top',
- beforeTable = 'before-table',
- header = 'header',
- headerExt = 'header-ext',
- beforeRows = 'before-rows',
- beforeColsHeader = 'before-cols-header',
- beforeCols = 'before-cols',
- cell = 'cell',
- afterCols = 'after-cols',
- afterColsHeader = 'after-cols-header',
- afterRows = 'after-rows',
- afterTable = 'after-table',
- bottom = 'bottom',
- hidden = 'hidden',
-}
-```
-
-## Table Feature types
-
-There are multiple standard Table Features that are shipped with the UI library:
-
-- [Batch Actions](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html) - allows triggering batch/multiple actions from rows.
-- [Editable](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-editable.html) - allows editing/adding rows of the table
-- [Filters](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-filter-extension/table-filter-extension.html) - allows filtering the data set.
-- [Pagination](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-pagination.html) - renders pagination of the table.
-- [Row Actions](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-row-actions.html) - allows triggering actions from rows.
-- [Search](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-search.html) - allows searching within the data set.
-- [Selectable](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-selectable.html) - allows selecting multiple rows.
-- [Settings](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-settings.html) - allows customizing columns of the table (show/hide and reorder).
-- [Sync State](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-sync-state.html) - allows syncing the state of the table with browser URL (like pagination, filters, sorting).
-- [Title](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-title.html) - renders the title of the table.
-- [Total](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-total.html) - renders the total number of the data set.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-batch-actions.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-batch-actions.md
deleted file mode 100644
index 473b7c4af5a..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-batch-actions.md
+++ /dev/null
@@ -1,145 +0,0 @@
----
-title: Table Feature Batch Actions
-description: This document provides details about the Table Feature Batch Actions component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Batch Actions component in the Components Library.
-
-## Overview
-
-Table Feature Batch Actions is a feature of the Table Component that allows triggering batch/multiple actions from rows.
-As Table Feature Batch Actions is based on the [Table Feature Selectable](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-selectable.html), batch actions must be registered and enabled via the table config. Batch actions are functions that can be performed on multiple items within a table. As soon as at least one row is selected in the table, the batch action bar with allowed actions appears at the top of the table.
-To escape the `batch action mode`, it is necessary to unselect the table rows.
-
-Check out an example usage of the Table Feature Batch Actions in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via the config.
-- `noActionsMessage`—error message text.
-- `actions`—an array with actions that are displayed in the top bar, and their type of the registered [action](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/ui-components-library-actions.html).
-- `rowIdPath`—gets a row `id` via the column `id` (in the following example, `Sku` column).
-- `availableActionsPath`—path to an array with available action IDs in the top bar (supports nested objects using dot notation for ex. `prop.nestedProp`).
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- batchActions?: TableBatchActionsConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- batchActions: () =>
- import('@spryker/table.feature.batch-actions').then(
- (m) => m.TableBatchActionsFeatureModule,
- ),
- itemSelection: () =>
- import('@spryker/table.feature.selectable').then(
- (m) => m.TableSelectableFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableBatchActionsFeatureModule,
- TableSelectableFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Batch Actions:
-
-```ts
-export interface TableBatchActionsConfig extends TableFeatureConfig {
- actions: TableBatchAction[];
- rowIdPath: string;
- noActionsMessage?: string;
- availableActionsPath?: string;
-}
-
-export interface TableBatchAction extends TableActionBase {
- title: string;
-}
-
-export interface TableBatchActionContext {
- rowIds: string[];
-}
-
-export interface SelectedRows
- extends Record,
- TableSelectionRow {
-}
-
-export interface TableItemActions {
- actions: TableBatchAction[];
- rowIdPath: string;
- selectedRows: SelectedRows[];
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-editable.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-editable.md
deleted file mode 100644
index 29ec9727c84..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-editable.md
+++ /dev/null
@@ -1,271 +0,0 @@
----
-title: Table Feature Editable
-description: This document provides details about the Table Feature Editable component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Editable component in the Components Library.
-
-## Overview
-
-Table Feature Editable is a feature of the Table Component that allows editing and adding rows to the table.
-
-Check out an example usage of the Table Feature Editable in the `@spryker/table` config.
-
-Component configuration:
-
-- `columns`—an array with the config for every editable column.
-- `create`—an object with the config for the added rows.
-- `update`—an object with the config for the existing rows.
-- `disableRowKey`—disables the row that contains the mentioned column `id` (see the following example).
-
-```html
-
-
-```
-
-Take a closer look at all the options available.
-
-- `columns` (only required properties are listed, the entire interface can be found in [Table Design](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-design.html#interfaces) article.):
- - `id`—a cell `id`.
- - `type`—a cell `type`.
- - `typeOptions`. Check [Column Type](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-column-type-extension/table-column-type-extension.html)) to learn more about the column types available.):
- - `value`—sets the default value to the newly added row's cell.
-
-- `create`:
- - `addButon`—this object holds the `Add button` configuration such as `title`, `icon`, `size`.
- - `cancelButon`—an object with the `Cancel button` configuration like `title` and `icon`.
- - `disableForCols`—an array with the cell `ids` to be disabled.
- - `formInputName`—creates an `input[type=hidden]` element with the specific name.
- - `initialData`—initials data for cells and objects with errors for rows and cells.
-
-- `update`:
- - `url`—a request url.
- - `saveButon`—an object with the `Save button` configuration such as `title` and `icon` (displayed in the `update` popup).
- - `cancelButon`—an object with the `Cancel button` configuration such as `title` and `icon` (displayed in the `update` popup).
- - `disableForCols`—an array with the cell `ids` to be disabled.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- editable?: TableEditableConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- editable: () =>
- import('@spryker/table.feature.editable').then(
- (m) => m.TableEditableFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableEditableFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Editable:
-
-```ts
-export interface TableEditableColumn extends TableColumn {
- typeOptions?: TableEditableColumnTypeOptions;
-}
-
-export interface TableEditableColumnTypeOptions extends TableColumnTypeOptions {
- editableError?: string;
-}
-
-export interface TableEditableConfig extends TableFeatureConfig {
- columns: TableEditableColumn[];
- create?: TableEditableConfigCreate;
- update?: TableEditableConfigUpdate;
- disableRowKey?: string;
-}
-
-export interface TableEditableConfigCreate {
- formInputName: string;
- initialData?: TableEditableConfigCreateData;
- addButton?: TableEditableConfigButton;
- cancelButton?: TableEditableConfigButton;
- disableForCols?: string[];
-}
-
-export interface TableEditableConfigUpdate {
- url: TableEditableConfigUrl;
- saveButton?: TableEditableConfigButton;
- cancelButton?: TableEditableConfigButton;
- disableForCols?: string[];
-}
-
-export interface TableEditableConfigCreateData {
- data: TableDataRow[];
- errors?: TableEditableConfigDataErrors;
-}
-
-export interface TableEditableConfigDataErrorsFields {
- rowError?: string;
- columnErrors?: { [columnId: string]: string | undefined };
-}
-
-export interface TableEditableConfigDataErrors {
- [rowIdx: string]: TableEditableConfigDataErrorsFields;
-}
-
-export interface TableEditableConfigUrlObject {
- url: string;
- method?: string;
-}
-
-export type TableEditableConfigUrl = string | TableEditableConfigUrlObject;
-
-export interface TableEditableConfigButtonIcon {
- icon: string;
-}
-
-export interface TableEditableConfigButtonText
- extends Partial {
- title: string;
- size?: ButtonSize;
- shape?: ButtonShape;
- variant?: ButtonVariant;
- type?: ButtonType;
-}
-
-export type TableEditableConfigButton =
- | TableEditableConfigButtonText
- | TableEditableConfigButtonIcon;
-
-export interface TableEditableEventData {
- colId: string;
- value?: T;
-}
-
-export class TableEditableEvent extends CustomEvent> {
- static readonly eventName = 'spy-table-editable';
-
- constructor(detail: TableEditableEventData) {
- super(TableEditableEvent.eventName, {
- bubbles: true,
- cancelable: true,
- composed: true,
- detail,
- });
- }
-}
-
-export interface TableDatasourceDependableConfig extends DatasourceConfig {
- dependsOn: string;
- contextKey?: string;
- datasource: DatasourceConfig;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-pagination.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-pagination.md
deleted file mode 100644
index eee02a623aa..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-pagination.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Table Feature Pagination
-description: This document provides details about the Table Feature Pagination component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Pagination component in the Components Library.
-
-## Overview
-
-Table Feature Pagination is a feature of the Table Component that renders pagination of the table.
-This feature is based on the Pagination component.
-
-Check out an example usage of the Table Feature Pagination in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-- `sizes`—an array of numbers of table rows that needs to be displayed per page.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- pagination?: TablePaginationConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.withFeatures({
- pagination: () =>
- import('@spryker/table.feature.pagination').then(
- (m) => m.TablePaginationFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TablePaginationFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Pagination:
-
-```ts
-export interface TablePaginationConfig extends TableFeatureConfig {
- sizes: number[];
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-row-actions.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-row-actions.md
deleted file mode 100644
index 86fbe1ecdd2..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-row-actions.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: Table Feature Row Actions
-description: This document provides details about the Table Feature Row Actions component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Row Actions component in the Components Library.
-
-## Overview
-
-Table Feature Row Actions is a feature of the Table Component that renders a drop-down menu with actions applicable to the table row and when clicked triggers an Action which must be registered. Also this feature allows triggering actions via row click.
-Each row has all actions by default, but they can be filtered using an array of action Ids in each row using the path configured by `availableActionsPath`.
-
-Check out an example usage of the Table Feature Row Actions in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-- `actions`—an array with actions that are displayed in the drop down menu and their type of registered [action](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/ui-components-library-actions.html).
-- `click`—indicates which action is used for clicking the table row by its `id`.
-- `rowIdPath`—is used for the `rowId` action context.
-- `availableActionsPath`—path to an array with the available action IDs in the table data row (supports nested objects using dot notation for ex. `prop.nestedProp`).
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- rowActions?: TableRowActionsConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- rowActions: () =>
- import('@spryker/table.feature.row-actions').then(
- (m) => m.TableRowActionsFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableRowActionsFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Row Actions:
-
-```ts
-export interface TableRowActionsConfig extends TableFeatureConfig {
- actions?: TableRowActionBase[];
- click?: string;
- rowIdPath?: string;
- availableActionsPath?: string;
-}
-
-export interface TableRowActionBase extends TableActionBase {
- title: string;
- icon?: string;
-}
-
-export interface TableRowActionContext {
- row: TableDataRow;
- rowId?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-search.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-search.md
deleted file mode 100644
index d2a47462ab2..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-search.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Table Feature Search
-description: This document provides details about the Table Feature Search component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Search component in the Components Library.
-
-## Overview
-
-Table Feature Search is a feature of the Table Component that allows searching within the data set.
-
-Check out an example usage of the Table Feature Search in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-- `placeholder`—the search placeholder text.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- search?: TableSearchConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- search: () =>
- import('@spryker/table.feature.search').then(
- (m) => m.TableSearchFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableSearchFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Search:
-
-```ts
-export interface TableSearchConfig extends TableFeatureConfig {
- placeholder?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-selectable.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-selectable.md
deleted file mode 100644
index dc64ac2f0ae..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-selectable.md
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: Table Feature Selectable
-description: This document provides details about the Table Feature Selectable component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Selectable component in the Components Library.
-
-## Overview
-
-Table Feature Selectable is a feature of the Table Component that allows selecting multiple rows.
-The row selection toggles whether a row is selected. A checkmark indicates that a row is selected, while an empty box indicates that a row is not selected.
-Commonly, the table header indicates whether all rows are selected. If they are, the header displays a checkmark. If all rows are unselected, the header displays an empty checkbox. For rows with indeterminate states, a dash appears in the header.
-When the rows selection feature changes, it emits an event with all selected rows, which can be used by other features (for example, the [Table Feature Batch Actions](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html) will display the applicable actions for selected rows).
-
-Check out an example usage of the Table Feature Selectable in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- itemSelection?: TableSelectableConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- itemSelection: () =>
- import('@spryker/table.feature.selectable').then(
- (m) => m.TableSelectableFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableSelectableFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Selectable:
-
-```ts
-export interface TableSelectableConfig extends TableFeatureConfig {}
-
-export interface TableSelectionRow {
- data: TableDataRow;
- index: number;
-}
-
-export type TableSelectionChangeEvent = TableSelectionRow[];
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-settings.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-settings.md
deleted file mode 100644
index 2d0a674e300..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-settings.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Table Feature Settings
-description: This document provides details about the Table Feature Settings component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Settings component in the Components Library.
-
-## Overview
-
-Table Feature Settings is a feature of the Table Component that allows customizing columns of the table (show or hide and reorder).
-
-Check out an example usage of the Table Feature Settings in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-- `tableId`—`id` of the table that syncs with the table toolbar settings (also can be assigned to the table via HTML).
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- columnConfigurator?: TableSettingsConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- columnConfigurator: () =>
- import('@spryker/table.feature.settings').then(
- (m) => m.TableSettingsFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableSettingsFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Settings:
-
-```ts
-export interface TableSettingsConfig extends TableFeatureConfig {
- tableId?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-sync-state.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-sync-state.md
deleted file mode 100644
index 412151cfd48..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-sync-state.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Table Feature Sync State
-description: This document provides details about the Table Feature Sync State component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Sync State component in the Components Library.
-
-## Overview
-
-Table Feature Sync State is a feature of the Table Component that synchronizes the table state with the browser URL (like pagination, filters, sorting).
-
-Check out an example usage of the Table Feature Sync State in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-- `tableId`—an `id` of the table that syncs the state of the table with the browser URL (also can be assigned to the table via HTML).
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- syncStateUrl?: TableSyncStateConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- syncStateUrl: () =>
- import('@spryker/table.feature.sync-state').then(
- (m) => m.TableSyncStateFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableSyncStateFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Sync State:
-
-```ts
-export interface TableSyncStateConfig extends TableFeatureConfig {
- tableId?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-title.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-title.md
deleted file mode 100644
index aa68998ee00..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-title.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: Table Feature Title
-description: This document provides details about the Table Feature Title component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Total
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-total.html
----
-
-This document explains the Table Feature Title component in the Components Library.
-
-## Overview
-
-Table Feature Title is a feature of the Table Component that renders the title of the table.
-
-Check out an example usage of the Table Feature Title in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-- `title`—a table title text.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- title?: TableTitleConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- title: () =>
- import('@spryker/table.feature.title').then(
- (m) => m.TableTitleFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableTitleFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Title:
-
-```ts
-export interface TableTitleConfig extends TableFeatureConfig {
- title?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-total.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-total.md
deleted file mode 100644
index 5bfc3af4fc6..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-features/table-feature-total.md
+++ /dev/null
@@ -1,101 +0,0 @@
----
-title: Table Feature Total
-description: This document provides details about the Table Feature Total component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Feature extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-extension.html
- - title: Table Feature Batch Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-batch-actions.html
- - title: Table Feature Editable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-editable.html
- - title: Table Feature Pagination
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-pagination.html
- - title: Table Feature Row Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-row-actions.html
- - title: Table Feature Search
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-search.html
- - title: Table Feature Selectable
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-selectable.html
- - title: Table Feature Settings
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-settings.html
- - title: Table Feature Sync State
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-sync-state.html
- - title: Table Feature Title
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-feature-extension/table-feature-title.html
----
-
-This document explains the Table Feature Total component in the Components Library.
-
-## Overview
-
-Table Feature Total is a feature of the Table Component that renders the total number of the data
-set via Chips component.
-In case table rows are selectable, Table Feature Total also renders a number of selected rows.
-
-Check out an example usage of the Table Feature Total in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the feature via config.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table' {
- interface TableConfig {
- total?: TableTotalConfig;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- total: () =>
- import('@spryker/table.feature.total').then(
- (m) => m.TableTotalFeatureModule,
- ),
- }),
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableTotalFeatureModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Feature Total:
-
-```ts
-export interface TableTotalConfig extends TableFeatureConfig {}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/index.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/index.md
deleted file mode 100644
index 6006fb34d1d..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/index.md
+++ /dev/null
@@ -1,130 +0,0 @@
----
-title: Table Filter extension
-last_updated: Jun 07, 2021
-description: This document provides details about the Table Filter extension in the Сomponents Library.
-template: concept-topic-template
-related:
- - title: Table Filter Date Range
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-date-range.html
- - title: Table Filter Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-select.html
- - title: Table Filter Tree Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-tree-select.html
----
-
-This document explains the Table Filter extension in the Components Library.
-
-## Overview
-
-The Table Filters feature provides filtering functionality to the Core Table Component. The filters, however, are not included in the feature itself — instead, they are registered separately.
-
-A Table Filter is an Angular Component that implements a specific interface (`TableFilterComponent`) and is registered to the Table Filters feature module via `TableFiltersFeatureModule.withFilterComponents()`.
-
-Furthermore, you need to create your own filter module and add it to the `RootModule`.
-
-```ts
-// Module augmentation
-import { TableFilterBase } from '@spryker/table.feature.filters';
-
-declare module '@spryker/table.feature.filters' {
- interface TableFiltersRegistry {
- custom: TableFilterCustom;
- }
-}
-
-export interface TableFilterSelect extends TableFilterBase {
- type: 'custom';
- typeOptions: { ... };
-}
-
-// Component implementation
-// Module
-@NgModule({
- declarations: [TableFilterCustomComponent],
- exports: [TableFilterCustomComponent],
-})
-export class TableFilterCustomModule {}
-
-// Component
-@Component({
- selector: 'spy-table-filter-custom',
- ...
-})
-export class TableFilterCustomComponent implements TableFilterComponent {}
-
-// Root module
-@NgModule({
- imports: [
- TableFiltersFeatureModule.withFilterComponents({
- custom: TableFilterCustomComponent,
- }),
- TableFilterCustomModule,
- ],
-})
-export class RootModule {}
-```
-
-You can configure any filter in the table config.
-
-```html
-
-
-```
-
-## Main Filter feature
-
-Using the static method `TableFiltersFeatureModule.withFilterComponents()`, the table module allows registering any table filter by a key. Under the hood, this method assigns the object of filters to `TABLE_FILTERS_TOKEN`.
-
-The main component injects all registered types from the `TABLE_FILTERS_TOKEN` and `Injector`.
-
-`TableFiltersFeatureComponent` gets all registered filters from `TABLE_FILTERS_TOKEN` and maps them to `tableConfig.filters.items` upon initialization. Table Features feature then renders Table Filters as required by the Table Configuration.
-
-## Interfaces
-
-Below you can find interfaces for the Table Filter extension configuration.
-
-```ts
-import { TableFeatureConfig } from '@spryker/table';
-
-export interface TableFiltersConfig extends TableFeatureConfig {
- items: TableFilterBase[];
-}
-
-export interface TableFilterBase {
- __capturedValue: V;
- id: string;
- title: string;
- type: string;
- typeOptions?: unknown;
-}
-
-export interface TableFilterComponent {
- config?: C;
- value?: C['__capturedValue'];
- valueChange: EventEmitter;
- classes: Observable; // @Output
-}
-```
-
-## Table Filter types
-
-The Table Filters feature ships with a few common Table Filter types:
-
-- [Date Range](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-filter-extension/table-filter-date-range.html)—allows filtering data via `DateRangePickerComponent`.
-- [Select](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-filter-extension/table-filter-select.html)—allows filtering data via `SelectComponent`.
-- [Tree Select](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-filter-extension/table-filter-tree-select.html)—allows filtering data via `TreeSelectComponent`.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-date-range.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-date-range.md
deleted file mode 100644
index 6400f8f9cd9..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-date-range.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title: Table Filter Date Range
-description: This document provides details about the Table Filter Date Range component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Filter extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-extension.html
- - title: Table Filter Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-select.html
- - title: Table Filter Tree Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-tree-select.html
----
-
-This document explains the Table Filter Date Range component in the Components Library.
-
-## Overview
-
-Table Filter Date Range is a feature of the Table Component that allows filtering data via `Date Range Picker` component.
-
-Check out an example usage of the Table Filter Date Range in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the filter via config.
-- `items`—an array with config for each filter date-range.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table.feature.filters' {
- interface TableFiltersRegistry {
- dateRange: TableFilterDateRange;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- filters: () =>
- import('@spryker/table.feature.filters').then(
- (m) => m.TableFiltersFeatureModule,
- ),
- }),
- TableFiltersFeatureModule.withFilterComponents({
- 'date-range': TableFilterDateRangeComponent,
- }),
- TableFilterDateRangeModule,
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableFiltersFeatureModule,
- TableFilterDateRangeModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Filter Date Range:
-
-```ts
-export interface TableFilterDateRange
- extends TableFilterBase {
- type: 'date-range';
- typeOptions: TableFilterDateRangeOptions;
-}
-
-export interface TableFilterDateRangeOptions {
- placeholderFrom?: string;
- placeholderTo?: string;
- format?: string;
- time?: string | boolean;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-select.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-select.md
deleted file mode 100644
index 45dd2cb2c02..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-select.md
+++ /dev/null
@@ -1,122 +0,0 @@
----
-title: Table Filter Select
-description: This document provides details about the Table Filter Select component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Filter extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-extension.html
- - title: Table Filter Date Range
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-date-range.html
- - title: Table Filter Tree Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-tree-select.html
----
-
-This document explains the Table Filter Select component in the Components Library.
-
-## Overview
-
-Table Filter Select is a feature of the Table Component that allows filtering data via `Select` component.
-
-Check out an example usage of the Table Filter Select in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the filter via config.
-- `items`—an array with the configuration for each filter select.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table.feature.filters' {
- interface TableFiltersRegistry {
- select: TableFilterSelect;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- filters: () =>
- import('@spryker/table.feature.filters').then(
- (m) => m.TableFiltersFeatureModule,
- ),
- }),
- TableFiltersFeatureModule.withFilterComponents({
- select: TableFilterSelectComponent,
- }),
- TableFilterSelectModule,
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableFiltersFeatureModule,
- TableFilterSelectModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Filter Select:
-
-```ts
-export interface TableFilterSelect
- extends TableFilterBase {
- type: 'select';
- typeOptions: TableFilterSelectOptions;
-}
-
-export interface TableFilterSelectOptions {
- values: TableFilterSelectOptionsValue[];
- multiselect?: boolean;
-}
-
-export interface TableFilterSelectOptionsValue {
- value: TableFilterSelectValue;
- title: string;
-}
-
-export type TableFilterSelectValue = SelectValueSelected;
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-tree-select.md b/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-tree-select.md
deleted file mode 100644
index dcbb6bb0680..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/table-design/table-filters/table-filter-tree-select.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-title: Table Filter Tree Select
-description: This document provides details about the Table Filter Tree Select component in the Components Library.
-template: concept-topic-template
-related:
- - title: Table Filter extension
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-extension.html
- - title: Table Filter Date Range
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-date-range.html
- - title: Table Filter Select
- link: docs/scos/dev/front-end-development/page.version/marketplace/table-design/table-filter-extension/table-filter-select.html
----
-
-This document explains the Table Filter Tree Select component in the Components Library.
-
-## Overview
-
-Table Filter Tree Select is a feature of the Table Component that allows filtering data via `Tree Select` component.
-
-Check out an example usage of the Table Filter Tree Select in the `@spryker/table` config.
-
-Component configuration:
-
-- `enabled`—enables the filter via config.
-- `items`—an array with config for each filter tree-select.
-
-```html
-
-
-```
-
-## Component registration
-
-Register the component:
-
-```ts
-declare module '@spryker/table.feature.filters' {
- interface TableFiltersRegistry {
- 'tree-select': TableFilterTreeSelect;
- }
-}
-
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableModule.withFeatures({
- filters: () =>
- import('@spryker/table.feature.filters').then(
- (m) => m.TableFiltersFeatureModule,
- ),
- }),
- TableFiltersFeatureModule.withFilterComponents({
- 'tree-select': TableFilterTreeSelectComponent,
- }),
- TableFilterTreeSelectModule,
- ],
-})
-export class RootModule {}
-```
-
-```html
-// Via HTML
-@NgModule({
- imports: [
- TableModule.forRoot(),
- TableFiltersFeatureModule,
- TableFilterTreeSelectModule,
- ],
-})
-export class RootModule {}
-
-
-
-
-```
-
-## Interfaces
-
-Below you can find interfaces for the Table Filter Tree Select:
-
-```ts
-export interface TableFilterTreeSelect
- extends TableFilterBase {
- type: 'tree-select';
- typeOptions: TableFilterTreeSelectOptions;
-}
-
-export interface TableFilterTreeSelectOptions {
- values: TableFilterTreeSelectOptionsValue[];
- multiselect?: boolean;
-}
-
-export interface TableFilterTreeSelectOptionsValue {
- value: TableFilterTreeSelectValue;
- title: string;
- children?: TableFilterTreeSelectOptionsValue[];
-}
-
-export type TableFilterTreeSelectValue = TreeSelectValue;
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-close-drawer.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-close-drawer.md
deleted file mode 100644
index 22307300994..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-close-drawer.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Actions Close Drawer
-description: This document provides details about the Actions Close Drawer service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
-
----
-
-This document explains the Actions Close Drawer service in the Components Library.
-
-## Overview
-
-Actions Close Drawer is an Angular Service that closes the first Drawer in the current context.
-
-Check out an example usage of the Actions Close Drawer.
-
-Service configuration:
-
-- `type`—an action type.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- 'close-drawer': CloseDrawerActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- 'close-drawer': CloseDrawerActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Actions Close Drawer:
-
-```ts
-export interface CloseDrawerActionConfig extends ActionConfig {}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-drawer.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-drawer.md
deleted file mode 100644
index 0e5efd65abf..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-drawer.md
+++ /dev/null
@@ -1,166 +0,0 @@
----
-title: Actions Drawer
-description: This document provides details about the Actions Drawer service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
-
----
-
-This document explains the Actions Drawer service in the Components Library.
-
-## Overview
-
-Actions Drawer is an Angular Service that opens the Drawer with a component/template.
-
-Check out an example usage of the Actions Drawer.
-
-Service configuration:
-
-- `type`—an action type.
-- `component`—a component name.
-- `options`—an object with a component options.
- —`inputs`—inputs of the component.
-
-```html
-
-
-```
-
-## Main Service
-
-The main module registers a component by key via a static method `withComponents()`.
-It assigns the object of components to the `DrawerActionComponentTypesToken` under the hood.
-
-The main service injects all registered types from the `DrawerActionComponentTypesToken.`
-
-`handleAction()` method checks if the `config` (from the argument) contains `component` or `template` keys and returns an observable with data by `DrawerRef.openComponent()` or `DrawerRef.openTemplate()` accordingly.
-
-```ts
-handleAction(
- injector: Injector,
- config: DrawerActionConfig,
- context: C,
-): Observable> {
- ...
-};
-```
-
-Below, you can find an explanation of how both of them works:
-
-### Via the component
-
-- If a component type is a string:
-
-```ts
-handleAction(injector, config: { component: 'simple_component' }, context);
-```
-
-the `DrawerActionComponentTypesToken` returns a component by key from the registered components collection, and then `DrawerRef.openComponent()` method is called.
-
-- If a component type is an Angular component:
-
-```ts
-handleAction(injector, config: { component: SimpleComponent }, context);
-```
-
-the `DrawerRef.openComponent()` method is called without any manipulations with `DrawerActionComponentTypesToken`.
-
-### Via the template
-
-Another way to open the Drawer is with `ng-template.` You need to create a template, get its reference and pass it to the `handleAction()` method as a `template` config prop.
-
-```html
-
- ...
-
-```
-
-```ts
-import { DrawerTemplateContext } from '@spryker/drawer';
-
-// Find the template
-@ViewChild(‘contentTpl’) contentTpl?: TemplateRef;
-
-// Call the method
-handleAction(injector, config: { template: contentTpl }, context);
-```
-
-`DrawerRef.openTemplate()` is called, and the Drawer is opened with `contentTpl` template.
-
-## Service registration
-
-Any existing Angular component can be registered and used within the Drawer.
-Also, it's possible to create and register a custom component that is rendered inside the Drawer.
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- drawer: DrawerActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- drawer: DrawerActionHandlerService,
- }),
- DrawerActionModule.withComponents({
- 'custom': CustomComponent,
- }),
- CustomModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Actions Drawer:
-
-```ts
-export interface DrawerActionComponentsRegistry {
- // type: Type
-}
-
-export type DrawerActionComponentType = RegistryType<
- DrawerActionComponentsRegistry
->;
-
-export interface DrawerActionConfigComponent extends ActionConfig {
- component: DrawerActionComponentType | Type;
- options?: Partial;
-}
-
-export interface DrawerActionConfigTemplate extends ActionConfig {
- template: TemplateRef;
- options?: Partial;
-}
-
-export type DrawerActionConfig =
- | DrawerActionConfigComponent
- | DrawerActionConfigTemplate;
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-http.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-http.md
deleted file mode 100644
index d02839d9ad2..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-http.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-title: Actions HTTP
-description: This document provides details about the Actions HTTP service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
-
----
-
-This document explains the Actions HTTP service in the Components Library.
-
-## Overview
-
-Actions HTTP is an Angular Service that renders content via the HTML request.
-
-Check out an example usage of the Actions HTTP.
-
-Service configuration:
-
-- `type`—an action type.
-- `url`—an action request URL.
-- `method`—an action request method (`GET` by default).
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- http: HttpActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- http: HttpActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Actions HTTP:
-
-```ts
-export interface HttpActionConfig extends ActionConfig {
- url: string;
- method?: string;
-}
-
-export interface HttpActionResponse {
- actions?: ActionConfig[];
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-notification.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-notification.md
deleted file mode 100644
index 00145b5bfee..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-notification.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-title: Actions Notification
-description: This document provides details about the Actions Notification service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
-
----
-
-This document explains the Actions Notification service in the Components Library.
-
-## Overview
-
-Actions Notification is an Angular Service that renders notification box.
-
-Check out an example usage of the Actions Notification.
-
-Service configuration:
-
-- `type`—an action type.
-- `notifications`—an array with notifications configuration based on the Notification component.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- notification: NotificationActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- notification: NotificationActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Actions Notification:
-
-```ts
-export interface NotificationActionConfig extends ActionConfig {
- notifications: NotificationData[];
-}
-
-export interface NotificationData extends NotificationConfig {
- type?: NotificationType;
- title: string | TemplateRef;
- description?: string | TemplateRef;
- closeable?: boolean;
-}
-
-export enum NotificationType {
- Info = 'info',
- Error = 'error',
- Warning = 'warning',
- Success = 'success',
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-redirect.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-redirect.md
deleted file mode 100644
index 5319ff3735d..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-redirect.md
+++ /dev/null
@@ -1,77 +0,0 @@
----
-title: Actions Redirect
-description: This document provides details about the Actions Redirect service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
-
----
-
-This document explains the Actions Redirect service in the Components Library.
-
-## Overview
-
-Actions Redirect is an Angular Service that performs the hard redirect to the URL.
-
-Check out an example usage of the Actions Redirect.
-
-Service configuration:
-
-- `type`—an action type.
-- `url`—a URL to redirect.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- redirect: RedirectActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- redirect: RedirectActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Actions Redirect:
-
-```ts
-export interface RedirectActionConfig extends ActionConfig {
- url: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-drawer.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-drawer.md
deleted file mode 100644
index 993ace0855c..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-drawer.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Actions Refresh Drawer
-description: This document provides details about the Actions Refresh Drawer service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
-
----
-
-This document explains the Actions Refresh Drawer service in the Components Library.
-
-## Overview
-
-Actions Refresh Drawer is an Angular Service that refreshes/re-renders the currently opened drawer.
-
-Check out an example usage of the Actions Refresh Drawer.
-
-Service configuration:
-
-- `type`—an action type.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- 'refresh-drawer': RefreshDrawerActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- 'refresh-drawer': RefreshDrawerActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Actions Refresh Drawer:
-
-```ts
-export interface RefreshDrawerActionConfig extends ActionConfig {}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-parent-table.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-parent-table.md
deleted file mode 100644
index f19e1054351..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-parent-table.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: Actions Refresh Parent Table
-description: This document provides details about the Actions Refresh Parent Table service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
-
----
-
-This document explains the Actions Refresh Parent Table service in the Components Library.
-
-## Overview
-
-Actions Refresh Parent Table is an Angular Service that refreshes the data of the parent table of a Table in the current context.
-
-{% info_block warningBox "Note" %}
-
-Make sure that the table opened from another table, for ex. in the Drawer.
-
-{% endinfo_block %}
-
-Check out an example usage of the Actions Refresh Parent Table.
-
-Service configuration:
-
-- `rowActions`—the table row actions. For more details, see [Table Feature Row Actions](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/table-design/table-feature-extension/table-feature-row-actions.html).
-- `actions`—an array with actions configuration.
-- `type`—an action type.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- 'refresh-parent-table': RefreshParentTableActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- 'refresh-parent-table': RefreshParentTableActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Actions Refresh Parent Table:
-
-```ts
-export interface RefreshParentTableActionConfig extends ActionConfig {}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-table.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-table.md
deleted file mode 100644
index 9981c5c14ee..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions-refresh-table.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-title: Actions Refresh Table
-description: This document provides details about the Actions Refresh Table service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/ui-components-library-actions.html
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
----
-
-This document explains the Actions Refresh Table service in the Components Library.
-
-## Overview
-
-Actions Refresh Table is an Angular Service that refreshes data of the table in the current context.
-
-Check out an example usage of the Actions Refresh Table.
-
-Service configuration:
-
-- `type`—an action type.
-- `tableId`—an `id` of the table that will be refreshed.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- 'refresh-table': RefreshTableActionHandlerService;
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- 'refresh-table': RefreshTableActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for Actions Refresh Table:
-
-```ts
-export interface RefreshTableActionConfig extends ActionConfig {
- tableId?: string;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions.md
deleted file mode 100644
index 3871273c0f0..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/actions/actions.md
+++ /dev/null
@@ -1,127 +0,0 @@
----
-title: Actions
-description: This document provides details about the Actions service in the Components Library.
-template: concept-topic-template
-related:
- - title: Actions Close Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-close-drawer.html
- - title: Actions Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-drawer.html
- - title: Actions HTTP
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-http.html
- - title: Actions Notification
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-notification.html
- - title: Actions Redirect
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-redirect.html
- - title: Actions Refresh Drawer
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-drawer.html
- - title: Actions Refresh Parent Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-parent-table.html
- - title: Actions Refresh Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/actions/actions-refresh-table.html
----
-
-This document explains the Actions service in the Components Library.
-
-## Overview
-
-Using Action Handlers, the Actions service handles specific actions based on a specific format within a specific context (such as a Table, Overlay, HTTP Response).
-As a result, the backend can control what the UI looks like without changing anything on the frontend (for example, updating tables, closing drawers).
-
-The context within which Actions are handled is defined by the invoker of the Action (Table, Button, Http).
-
-```html
-
-
-```
-
-## Main Service
-
-Actions is an Angular Service that implements a specific interface (`ActionHandler`) and is registered in the Action Module via `ActionModule.withActions()`.
-The main service injects all registered types from the `ActionTypesToken`.
-`trigger()` method finds specific service from the `ActionTypesToken` by the `config.type` (from the argument) and returns observable with data by `ActionHandler.handleAction()`.
-
-## Action Handler
-
-Actions must implement a specific interface (`ActionHandler`) and then be registered to the Root Module via `ActionModule.withActions()`.
-Action Handler encapsulates the algorithm of how the data is loaded into the Component.
-
-```ts
-// Module augmentation
-import { ActionConfig } from '@spryker/actions';
-
-declare module '@spryker/actions' {
- interface ActionsRegistry {
- custom: CustomActionHandlerService;
- }
-}
-
-export interface CustomActionConfig extends ActionConfig {
- data: unknown;
- ...
-}
-
-// Service implementation
-@Injectable({
- providedIn: 'root',
-})
-export class CustomActionHandlerService implements ActionHandler {
- handleAction(
- injector: Injector,
- config: CustomActionConfig,
- context: unknown,
- ): Observable {
- ...
- }
-}
-
-@NgModule({
- imports: [
- ActionsModule.withActions({
- custom: CustomActionHandlerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-The context within which Actions operate is defined by the local injector where it’s being used.
-
-## Interfaces
-
-Below you can find interfaces for the Actions configuration and Action type:
-
-```ts
-export interface ActionConfig {
- type: ActionType;
-
- // Reserved for types that may have extra configuration
- [k: string]: unknown;
-}
-
-export interface ActionHandler
- extends Generics<[C, R]> {
- handleAction(
- injector: Injector,
- config: ActionConfig,
- context: C,
- ): Observable;
-}
-```
-
-## Action types
-
-There are a few common Actions that are available in UI library as separate packages:
-
-- [Close-drawer](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-close-drawer.html) - closes the first Drawer in the current context.
-- [Drawer](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-drawer.html) - opens component in the Drawer.
-- [HTTP](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-http.html) - renders content via html request.
-- [Notification](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-notification.html) - renders notification box.
-- [Redirect](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-redirect.html) - performs the hard redirect to the URL.
-- [Refresh-drawer](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-refresh-drawer.html) - refreshes/rerenders opened Drawer in current context.
-- [Refresh-parent-table](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-refresh-parent-table.html) - refreshes data of the parent Table of a Table in current context.
-- [Refresh-table](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/actions/actions-refresh-table.html) - refreshes data of the Table in current context.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/cache.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/cache.md
deleted file mode 100644
index 15118848023..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/cache.md
+++ /dev/null
@@ -1,180 +0,0 @@
----
-title: Cache
-description: This document provides details about the Cache service in the Component Library.}
-template: concept-topic-template
-related:
- - title: Cache Strategy Static
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/cache/ui-components-library-cache-service-cache-strategy-static-service.html
----
-
-This document explains the Cache service in the Component Library.
-
-## Overview
-
-Cache Service is responsible for caching arbitrary operations based on the configuration.
-This lets backend systems use caching without changing the front-end at all (ex. http datasource).
-
-Cache Service uses Cache Strategy to define caching algorithm (static, cache first, freshness first).
-
-```html
-
-
-```
-
-## Cache Storage Factory Service
-
-The factory creates the `CacheStorage` instance types for a specific configuration.
-
-As an example, to use `PersistenceStrategy` as a Cache Storage, factory-created storage is used.
-This storage is not created every time, but cached for the same configurations when called repeatedly.
-
-The factory injects `PersistenceStrategyService`.
-
-`create()` method gets the registered persistence strategy from `PersistenceStrategyService.select()` by `config.type` from an argument and returns an adapted `CacheStorage`.
-
-`createAll()` method gets all the registered persistence strategies from `PersistenceStrategyService.getAll()` and returns an array of adapted `CacheStorage` instance types.
-
-### Interfaces
-
-Below you can find interfaces for Cache Storage Factory Service:
-
-```ts
-interface CacheStorageFactoryService {
- create(config: CacheStrategyConfig): CacheStorage {};
- createAll(): CacheStorage[] {};
-}
-
-interface CacheStorage {
- has(id: CacheId, namespace?: string): Observable;
- get(
- id: CacheId,
- namespace?: string,
- ): Observable | undefined>;
- set(id: CacheId, data: CacheEntry, namespace?: string): Observable;
- remove(id: CacheId, namespace?: string): Observable;
- clear(namespace?: string): Observable;
-}
-```
-
-## Main Service
-
-The Cache Service provides general capabilities for interacting with different caching strategies.
-
-A Cache Strategy is an Angular Service that implements a specific interface (`CacheStrategy`) and then registers with the Cache Module via `CacheModule.withStrategies()`.
-
-The main service injects all registered types from the `CacheStrategyTypesToken` and `CacheStorageFactoryService`.
-
-`getCached()` method finds a specific strategy from the `CacheStrategyTypesToken` by type (from the `config.type` argument) and returns that strategy as observable with arguments passed thorough method (`CacheStrategy.getCached()`).
-
-`clearCache()` method returns an array of instances (PersistenceStrategy[]) of all the registered strategies from `PersistenceStrategyTypesToken`.
-
-### Interfaces
-
-Below you can find interfaces for the Cache Service:
-
-```ts
-interface CacheService {
- getCached(
- id: CacheId,
- config: CacheStrategyConfig,
- operation: CacheOperation,
- ): Observable {};
-
- clearCache(namespace?: string): Observable {};
-}
-```
-
-## Cache Strategy
-
-The Cache Strategy is the algorithm for caching data.
-
-Using the `namespace` (optional) option, you can separate different cache entries in Cache Storage and selectively purge them.
-
-The Cache Strategy implements a specific interface (`CacheStrategy`) and is registered to the Root Module via `CacheModule.withStrategies()`.
-
-```ts
-// Module augmentation
-import { CacheStrategyConfig, CacheStrategy } from '@spryker/cache';
-
-declare module '@spryker/cache' {
- interface CacheStrategyRegistry {
- custom: CustomCacheStrategyConfig;
- }
-}
-
-interface CustomCacheStrategyConfig extends CacheStrategyConfig {
- customOption: 'customOption';
-}
-
-// Service implementation
-@Injectable({
- providedIn: 'root',
-})
-export class CustomCacheService implements CacheStrategy {
- getCached(
- id: CacheId,
- config: CustomCacheStrategyConfig,
- operation: CacheOperation,
- ): Observable {
- ...
- }
-}
-
-@NgModule({
- imports: [
- CacheModule.withStrategies({
- custom: CustomCacheService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-### Interfaces
-
-Below you can find interfaces for the Cache Strategy:
-
-```ts
-interface CacheId {
- serialize(): string;
-}
-
-interface CacheStrategy {
- getCached(
- id: CacheId,
- config: CacheStrategyConfig,
- operation: CacheOperation,
- ): Observable;
-}
-
-interface CacheStrategyConfig {
- type: CacheStrategyType;
- namespace?: string;
- storage?: PersistenceStrategyType;
-
- // Reserved for types that may have extra configuration
- [extraConfig: string]: unknown;
-}
-```
-
-## Cache Strategy types
-
-There are a few common Cache Strategies that are available in UI library as separate packages:
-
-- [Static](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/cache/ui-components-library-cache-service-cache-strategy-static-service.html)—adds values immediately to the
-cache until the expiration date and always retrieves them from cache if requested.
-
-## Related articles
-
-[Persistence](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/persistence/persistence.html)
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/static.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/static.md
deleted file mode 100644
index a08d8277f01..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/cache/static.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-title: Cache Strategy Static
-description: This document provides details about the Cache Strategy Static service in the Components Library.
-template: concept-topic-template
-related:
- - title: Cache
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/cache/ui-components-library-cache-service.html
----
-
-This document explains the Cache Strategy Static service in the Components Library.
-
-## Overview
-
-Cache Strategy Static is an Angular Service that adds values to the cache immediately until the expiration date and retrieves them if requested from the cache.
-
-Check out an example usage of the Cache Strategy Static.
-
-Service configuration:
-
-- `type`—a cache type.
-- `expiresIn`—represents a duration as a string. Each component is separated by a space.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/cache' {
- interface CacheStrategyRegistry {
- static: StaticCacheStrategyConfig;
- }
-}
-
-@NgModule({
- imports: [
- CacheModule.withStrategies({
- static: StaticCacheStrategy,
- }),
- StaticCacheStrategyModule,
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Cache Strategy Static:
-
-```ts
-/**
- * Represents a duration as a string where components are separated by a space
- *
- * Components:
- * - 1-999y—Years
- * - 1-12m—Months
- * - 1-365d—Days
- * - 1-23h—Hours
- * - 1-59min—Minutes
- * - 1-59s—Seconds
- * - 1-59ms—Milliseconds
- *
- * Examples:
- * - 2h 30min
- * - 1d 14h
- * - 2y
- */
-export interface StaticCacheStrategyConfig extends CacheStrategyConfig {
- expiresIn: TimeDurationString;
-}
-
-export interface CacheStrategyConfig {
- type: CacheStrategyType;
- namespace?: string;
- storage?: PersistenceStrategyType;
-
- // Reserved for types that may have extra configuration
- [extraConfig: string]: unknown;
-}
-
-export type TimeDurationString = string;
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/array-map.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/array-map.md
deleted file mode 100644
index 398d8ebb9a9..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/array-map.md
+++ /dev/null
@@ -1,92 +0,0 @@
----
-title: Data Transformer Array-map
-description: This document provides details about the Data Transformer Array-map service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformers
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformers.html
- - title: Data Transformer Chain
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-chain.html
- - title: Data Transformer Date-parse
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-date-parse.html
- - title: Data Transformer Date-serialize
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-date-serialize.html
- - title: Data Transformer Lens
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-lens.html
- - title: Data Transformer Object-map
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-object-map.html
- - title: Data Transformer Pluck
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-pluck.html
----
-
-This document explains the Data Transformer Array-map service in the Components Library.
-
-## Overview
-
-Data Transformer Array-map is an Angular Service that executes another Data Transformer based on the config for every element in the array.
-
-In the following example, the `datasource` will return an array with the transformed `date` in every object.
-
-Service configuration:
-
-- `mapItems`—a Data Transformer that is set up with a configuration object.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/data-transformer' {
- interface DataTransformerRegistry {
- 'array-map': ArrayMapDataTransformerConfig;
- }
-}
-
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- 'array-map': ArrayMapDataTransformerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Data Transformer Array-map:
-
-```ts
-export interface ArrayMapDataTransformerConfig extends DataTransformerConfig {
- mapItems: DataTransformerConfig;
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/chain.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/chain.md
deleted file mode 100644
index 3b1adc1278b..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/chain.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: Data Transformer Chain
-description: This document provides details about the Data Transformer Chain service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformers
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformers.html
- - title: Data Transformer Array-map
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-array-map.html
- - title: Data Transformer Date-parse
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-date-parse.html
- - title: Data Transformer Date-serialize
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-date-serialize.html
- - title: Data Transformer Lens
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-lens.html
- - title: Data Transformer Object-map
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-object-map.html
- - title: Data Transformer Pluck
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-pluck.html
----
-
-This document explains the Data Transformer Chain service in the Components Library.
-
-## Overview
-
-Data Transformer Chain is an Angular Service that executes other Data Transformers in sequence via configuration.
-
-In the following example, the `datasource` returns an array with the transformed `date` in every child object using chained transformers.
-
-Service configuration:
-
-- `transformers`—an array with Data Transformer configuration objects.
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/data-transformer' {
- interface DataTransformerRegistry {
- chain: ChainDataTransformerConfig;
- }
-}
-
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- chain: ChainDataTransformerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Data Transformer Chain:
-
-```ts
-export interface ChainDataTransformerConfig extends DataTransformerConfig {
- transformers: DataTransformerConfig[];
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/index.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/index.md
deleted file mode 100644
index f6564a4123e..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/index.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: Data Transformer Data Configurators
-description: This document provides details about the Data Transformer Data Configurators service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Collate Configurator Table
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-data-configurators/collate-data-transformer-table-configurator.html
----
-
-This document explains the Data Transformer Data Configurators service in the Components Library.
-
-## Overview
-
-Data Transformer Data Configurators is an Angular Service that re-populates data based on configuration. This lets backend systems control where re-population data is placed.
-
-Data Transformer Data Configurators are used in the Datasource service.
-
-```html
-
-
-```
-
-## Main service
-
-The main module provides a way to register a configurator by key using the static method `withConfigurators()`. Under the hood, it assigns the object of configurators to the `DataTransformerConfiguratorTypesToken`.
-
-The main service injects all registered types from the `DataTransformerConfiguratorTypesToken` and `DataTransformerConfigurator`.
-
-`resolve()` method finds a specific service from the `DataTransformerConfiguratorTypesToken` by `type` (from the argument) and returns an observable with data by calling `DataTransformerConfigurator.resolve()`.
-
-## Data Transformer Data Configurator
-
-Data Transformer Data Configurator is an Angular Service that encapsulates how the data is configured.
-
-Data Transformer Data Configurator must implement a specific interface (DataTransformerConfigurator) and then be registered to the Root Module using `CollateDataTransformerModule.withConfigurators()`.
-
-```ts
-// Module augmentation
-declare module '@spryker/data-transformer' {
- interface DataTransformerRegistry {
- collate: CollateDataTransformerConfig;
- }
-}
-
-declare module '@spryker/data-transformer.collate' {
- interface DataTransformerConfiguratorRegistry {
- custom: CustomDataTransformerConfiguratorService;
- }
-}
-
-// Service implementation
-import { DataTransformerConfiguratorConfigT } from '@spryker/data-transformer.collate';
-
-@Injectable({ providedIn: 'root' })
-export class CustomDataTransformerConfiguratorService implements DataTransformerConfigurator {
- resolve(
- config: DataTransformerConfiguratorConfig,
- injector: Injector,
- ): Observable {
- ...
- }
-}
-
-@NgModule({
- imports: [
- CollateDataTransformerModule.withConfigurators({
- custom: CustomDataTransformerConfiguratorService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the `DataTransformerConfigurator` configuration and `DataTransformerConfigurator` type:
-
-```ts
-interface DataTransformerConfiguratorConfigT {
- filter?: unknown;
- search?: unknown;
- sorting?: {
- sortBy?: string;
- sortDirection?: string;
- };
- page?: number;
- pageSize?: number;
-}
-
-interface DataTransformerConfigurator {
- resolve(injector: Injector): Observable;
-}
-```
-
-## Data Transformer Data Configurator types
-
-There are a few common Data Transformer Data Configurators that are available in UI library as separate packages:
-
-- [Table](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-data-configurators/collate-data-transformer-table-configurator.html)—integrates Table into Collate to re-populate data when the table updates.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/table.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/table.md
deleted file mode 100644
index 9d63a778183..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/data-configurators/table.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title: Data Transformer Collate Configurator Table
-description: This document provides details about the Data Transformer Collate Configurator Table service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Data Configurators
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-data-configurators/collate-data-transformer-data-configurators.html
----
-
-This document explains the Data Transformer Collate Configurator Table service in the Components Library.
-
-## Overview
-
-Data Transformer Collate Configurator Table is an Angular Service that re-populates of data to a format suitable for filtering (`DataTransformerConfiguratorConfigT`).
-
-Check out an example usage of the Data Transformer Collate Configurator Table in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/data-transformer.collate' {
- interface DataTransformerConfiguratorRegistry {
- table: TableDataTransformerConfiguratorService;
- }
-}
-
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- collate: CollateDataTransformerService,
- }),
- CollateDataTransformer.withFilters({
- table: TableDataTransformerConfiguratorService,
- }),
- ],
-})
-export class RootModule {}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/equals.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/equals.md
deleted file mode 100644
index 329a863e48d..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/equals.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Data Transformer Collate Filter Equals
-description: This document provides details about the Data Transformer Collate Filter Equals service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Filters
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/collate-data-transformer-filters.html
- - title: Data Transformer Collate Filter Range
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-range.html
- - title: Data Transformer Collate Filter Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-text.html
----
-
-This document explains the Data Transformer Collate Filter Equals service in the Components Library.
-
-## Overview
-
-Data Transformer Collate Filter Equals is an Angular Service that implements filtering to equalize data based on configuration.
-
-Check out an example usage of the Data Transformer Collate Filter Equals in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/data-transformer.collate' {
- interface DataTransformerFilterRegistry {
- equals: EqualsDataTransformerFilterService;
- }
-}
-
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- collate: CollateDataTransformerService,
- }),
- CollateDataTransformer.withFilters({
- equals: EqualsDataTransformerFilterService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Data Transformer Collate Filter Equals:
-
-```ts
-interface DataTransformerFilterConfig {
- type: string;
- propNames: string | string[];
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/index.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/index.md
deleted file mode 100644
index b2ff10666a5..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/index.md
+++ /dev/null
@@ -1,136 +0,0 @@
----
-title: Data Transformer Filters
-description: This document provides details about the Data Transformer Filters service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Collate Filter Equals
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-equals.html
- - title: Data Transformer Collate Filter Range
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-range.html
- - title: Data Transformer Collate Filter Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-text.html
----
-
-This document explains the Data Transformer Filters service in the Components Library.
-
-## Overview
-
-Data Transformer Filters is an Angular Service that filters data based on configuration.
-In this way, backend systems can control where the filter data is applied.
-
-Data Transformer Filters are used in the Datasource service.
-
-```html
-
-
-```
-
-## Main service
-
-In the main module, you can register any filters by key by using the static method `withFilters()`. It assigns the object of filters to the `DataTransformerFiltersTypesToken`.
-
-The main service injects all registered types from the `DataTransformerFiltersTypesToken` and `DataTransformerFilter`.
-
-`resolve()` method finds specific services from the `DataTransformerFiltersTypesToken` by `type` (from the argument) and returns an observable with data by `DataTransformerFilter.filter()`.
-
-## Data Transformer Filter
-
-Data Transformer Filter is basically an Angular Service that encapsulates the filtering logic.
-
-Data Transformer Filter must implement a specific interface (`DataTransformerFilter`) and then be registered to the Root Module via `CollateDataTransformerModule.withFilters()`.
-
-```ts
-// Module augmentation
-declare module '@spryker/data-transformer' {
- interface DataTransformerRegistry {
- collate: CollateDataTransformerConfig;
- }
-}
-
-declare module '@spryker/data-transformer.collate' {
- interface DataTransformerFilterRegistry {
- custom: CustomDataTransformerFilterService;
- }
-}
-
-// Service implementation
-@Injectable({ providedIn: 'root' })
-export class CustomDataTransformerFilterService implements DataTransformerFilter {
- filter(
- type: DataTransformerFilterRegistryType | string,
- data: DataTransformerFilterData,
- options: DataTransformerFilterConfig,
- byValue: DataTransformerFilterByValue,
- transformerByPropName: DataFilterTransformerByPropName,
- ): Observable {
- ...
- }
-}
-
-@NgModule({
- imports: [
- CollateDataTransformerModule.withFilters({
- custom: CustomDataTransformerFilterService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the `DataTransformerFilter` configuration and `DataTransformerFilter` type:
-
-```ts
-type DataTransformerFilterData = Record[];
-type DataTransformerFilterByValue = unknown[];
-type DataFilterTransformerByPropName = Record;
-
-interface DataTransformerFilterConfig {
- type: string;
- propNames: string | string[];
-}
-
-interface DataTransformerFilter {
- filter(
- type: DataTransformerFilterRegistryType | string,
- data: DataTransformerFilterData,
- options: DataTransformerFilterConfig,
- byValue: DataTransformerFilterByValue,
- transformerByPropName?: DataFilterTransformerByPropName,
- ): Observable;
-}
-```
-
-## Data Transformer Filter types
-
-There are a few common Data Transformer Filters that are available in UI library as separate packages:
-
-- [Equals](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-equals.html)—filters values that are strictly equal.
-- [Range](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-range.html)—filters values that are within a number range.
-- [Text](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-text.html)—filters values that match a string.
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/range.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/range.md
deleted file mode 100644
index aa3e0f08c5e..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/range.md
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Data Transformer Collate Filter Range
-description: This document provides details about the Data Transformer Collate Filter Range service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Filters
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/collate-data-transformer-filters.html
- - title: Data Transformer Collate Filter Equals
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-equals.html
- - title: Data Transformer Collate Filter Text
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-text.html
----
-
-This document explains the Data Transformer Collate Filter Range service in the Components Library.
-
-## Overview
-
-Data Transformer Collate Filter Range is an Angular Service that implements filtering to range of data values based on configuration.
-
-Check out an example usage of the Data Transformer Collate Filter Range in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/data-transformer.collate' {
- interface DataTransformerFilterRegistry {
- range: RangeDataTransformerFilterService;
- }
-}
-
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- collate: CollateDataTransformerService,
- }),
- CollateDataTransformer.withFilters({
- range: RangeDataTransformerFilterService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Data Transformer Collate Filter Range:
-
-```ts
-interface DataTransformerFilterConfig {
- type: string;
- propNames: string | string[];
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/text.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/text.md
deleted file mode 100644
index 0ebb681cd6f..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/filters/text.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: Data Transformer Collate Filter Text
-description: This document provides details about the Data Transformer Collate Filter Text service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Filters
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/collate-data-transformer-filters.html
- - title: Data Transformer Collate Filter Equals
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-equals.html
- - title: Data Transformer Collate Filter Range
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-range.html
----
-
-This document explains the Data Transformer Collate Filter Text service in the Components Library.
-
-## Overview
-
-Data Transformer Collate Filter Text is an Angular Service that implements filtering to the text value of data based on configuration.
-
-Check out an example usage of the Data Transformer Collate Filter Text in the `@spryker/table` config:
-
-```html
-
-
-```
-
-## Service registration
-
-Register the service:
-
-```ts
-declare module '@spryker/data-transformer.collate' {
- interface DataTransformerFilterRegistry {
- text: TextDataTransformerFilterService;
- }
-}
-
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- collate: CollateDataTransformerService,
- }),
- CollateDataTransformer.withFilters({
- text: TextDataTransformerFilterService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Data Transformer Collate Filter Text:
-
-```ts
-interface DataTransformerFilterConfig {
- type: string;
- propNames: string | string[];
-}
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/index.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/index.md
deleted file mode 100644
index aa464eeba9c..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/collate/index.md
+++ /dev/null
@@ -1,146 +0,0 @@
----
-title: Data Transformer Collate
-description: This document provides details about the Data Transformer Collate service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Data Configurators
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-data-configurators/collate-data-transformer-data-configurators.html
- - title: Data Transformer Filters
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/collate-data-transformer-filters.html
----
-
-This document explains the Data Transformer Collate service in the Components Library.
-
-## Overview
-
-Data Transformer Collate is an Angular Service that implements sorting, filtering, and pagination of data based on configuration.
-In general, the meaning of the word `collate` is to collect, arrange and assemble in a specific order of sequence.
-
-```html
-
-
-```
-
-## Collate Filters
-
-Collate Filters are Angular Services that extend filtering in the Data Transformer.
-These services are registered via `CollateDataTransformer.withFilters()`.
-
-There are a few common Data Transformer Collate Filters that are available as separate packages in the UI library:
-
-- [Equals](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-equals.html)—filters values that are strictly equal.
-- [Range](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-range.html)—filters values that are within a number range.
-- [Text](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-filters/data-transformer-collate-filter-text.html)—filters values that match a string.
-
-## Collate Data Configurators
-
-Data Configurators are Angular Services that enable re-population of data (sorting, pagination, filtering).
-These services are registered via `CollateDataTransformer.withConfigurators()`.
-
-There are a few common Data Transformers Collate Data Configurators that are available:
-
-- [Table](/docs/scos/dev/front-end-development/{{page.version}}/marketplace/ui-components-library/data-transformers/data-transformer-collate/collate-data-transformer-data-configurators/collate-data-transformer-table-configurator.html)—integrates Table into Collate to re-populate data when the table updates.
-
-## Service registration
-
-Register the service:
-
-```ts
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- collate: CollateDataTransformerService,
- }),
-
- // Filters
- CollateDataTransformer.withFilters({
- equals: EqualsDataTransformerFilterService,
- range: RangeDataTransformerFilterService,
- text: TextDataTransformerFilterService,
- }),
-
- // Configurators
- CollateDataTransformer.withConfigurators({
- table: TableDataTransformerConfiguratorService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-## Interfaces
-
-Below you can find interfaces for the Data Transformer Collate:
-
-### DataTransformerConfiguratorConfig
-* `configurator`—the object with the Data Transformer configurator type and additional properties.
-* `filter`—the object based on a specific data property (`filterId`) that defines the properties on which the initial data object is filtered via `DataTransformerFilterConfig`.
-* `search`—defines the properties on which the initial data object is filtered via `DataTransformerFilterConfig`.
-* `transformerByPropName`—the object with data properties list that needs to be transformed.
-
-### DataTransformerConfiguratorConfig
-`type`—the declared name of the module whose data needs to be transformed.
-
-### DataTransformerFilterConfig
-* `type`—the name of a filter, for example, `range`.
-* `propNames`—the array with the property names to which the filter is applied.
-
-```ts
-declare module '@spryker/data-transformer' {
- interface DataTransformerRegistry {
- collate: CollateDataTransformerConfig;
- }
-}
-
-export interface CollateDataTransformerConfig extends DataTransformerConfig {
- configurator: DataTransformerConfiguratorConfig;
- filter?: {
- [filterId: string]: DataTransformerFilterConfig;
- };
- search?: DataTransformerFilterConfig;
- transformerByPropName?: DataFilterTransformerByPropName;
-}
-
-export interface DataTransformerConfiguratorConfig {
- type: DataTransformerConfiguratorType;
-
- // Extra configuration for specific types
- [prop: string]: unknown;
-}
-
-export interface DataTransformerFilterConfig {
- type: string;
- propNames: string | string[];
-}
-
-export type DataFilterTransformerByPropName = Record;
-```
diff --git a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/data-transformers.md b/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/data-transformers.md
deleted file mode 100644
index 0df08fa1123..00000000000
--- a/docs/scos/dev/front-end-development/202108.0/marketplace/ui-components-library/data-transformers/data-transformers.md
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: Data Transformers
-last_updated: Jun 07, 2021
-description: This document provides details about the Data Transformers service in the Components Library.
-template: concept-topic-template
-related:
- - title: Data Transformer Array-map
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-array-map.html
- - title: Data Transformer Chain
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-chain.html
- - title: Data Transformer Date-parse
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-date-parse.html
- - title: Data Transformer Date-serialize
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-date-serialize.html
- - title: Data Transformer Lens
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-lens.html
- - title: Data Transformer Object-map
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-object-map.html
- - title: Data Transformer Pluck
- link: docs/scos/dev/front-end-development/page.version/marketplace/ui-components-library/data-transformers/data-transformer-pluck.html
----
-
-This document explains the Data Transformers service in the Components Library.
-
-## Overview
-
-Data Transformers are responsible for transforming data from one form to another based on a certain configuration.
-As a result, backend systems can manipulate data without changing the frontend at all (such as table datasource, select datasource).
-
-Anyone may use the Data Transformer Service to modify data by configuring a specific `DataTransformer`.
-
-```html
-
-
-```
-
-## Main Service
-
-With the main module, you can register any data transformer by key via the static method `withTransformers()`. This method assigns the data transformer object to the `DataTransformerTypesToken`.
-
-The main service injects all registered types from the `DataTransformerTypesToken`.
-
-`transform()` method finds the specific service from the `DataTransformerTypesToken` by `config.type` (from the argument) and returns an observable with data by `DataTransformer.transform()`.
-
-## Data Transformer
-
-Data Transformer is an Angular Service that encapsulates the algorithm of how the data is transformed after a response is received.
-
-Data Transformer must implement a specific interface (`DataTransformer`) and then be registered to the Data Transformer Module via `DataTransformerModule.withTransformers()`,
-
-```ts
-// Module augmentation
-import { DataTransformerConfig } from '@spryker/data-transformer';
-
-declare module '@spryker/data-transformer' {
- interface DataTransformerRegistry {
- 'custom': CustomDataTransformerConfig;
- }
-}
-
-export type CustomDataTransformerData = object;
-export type CustomDataTransformerDataT = unknown;
-
-export interface CustomDataTransformerConfig extends DataTransformerConfig {
- property: unknown;
- ...
-}
-
-// Service implementation
-@Injectable({
- providedIn: 'root',
-})
-export class CustomDataTransformerService implements
- DataTransformer {
- transform(
- data: CustomDataTransformerData,
- config: CustomDataTransformerConfig,
- ): Observable {
- ...
- }
-}
-
-@NgModule({
- imports: [
- DataTransformerModule.withTransformers({
- custom: CustomDataTransformerService,
- }),
- ],
-})
-export class RootModule {}
-```
-
-The context in which the Data Transformer operates is determined by the local injector where it is being used.
-
-## Interfaces
-
-Below you can find interfaces for the Data Transformer service configuration and Data Transformer type:
-
-```ts
-interface DataTransformerService {
- transform(data: unknown, config: DataTransformerConfig): Observable;
-}
-
-interface DataTransformerConfig {
- type: DataTransformerType;
-
- // Reserved for types that may have extra configuration
- [extraConfig: string]: unknown;
-}
-
-interface DataTransformer {
- transform(
- data: D,
- config: DataTransformerConfig,
- injector?: Injector,
- ): Observable