diff --git a/src/domains/ecommerce-app/api/ecommerce-checkout/v1/_base_policy.xml.tpl b/src/domains/ecommerce-app/api/ecommerce-checkout/v1/_base_policy.xml.tpl
index 81bc0eb87c..9a0a008f44 100644
--- a/src/domains/ecommerce-app/api/ecommerce-checkout/v1/_base_policy.xml.tpl
+++ b/src/domains/ecommerce-app/api/ecommerce-checkout/v1/_base_policy.xml.tpl
@@ -24,14 +24,22 @@
CHECKOUT
+
+
+
+
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id)
+ ||
+ Array.Exists(context.Variables.GetValueOrDefault("cartsOperationId","").Split(','), operations => operations == context.Operation.Id)
+ )">
diff --git a/src/domains/ecommerce-app/api/ecommerce-checkout/v2/_base_policy.xml.tpl b/src/domains/ecommerce-app/api/ecommerce-checkout/v2/_base_policy.xml.tpl
index 00282258b5..bc46fc3caa 100644
--- a/src/domains/ecommerce-app/api/ecommerce-checkout/v2/_base_policy.xml.tpl
+++ b/src/domains/ecommerce-app/api/ecommerce-checkout/v2/_base_policy.xml.tpl
@@ -24,14 +24,17 @@
CHECKOUT
+
+
+
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id))">
diff --git a/src/domains/ecommerce-app/api/ecommerce-io/v2/_base_policy.xml.tpl b/src/domains/ecommerce-app/api/ecommerce-io/v2/_base_policy.xml.tpl
index 551d9344ce..1e45a22e1f 100644
--- a/src/domains/ecommerce-app/api/ecommerce-io/v2/_base_policy.xml.tpl
+++ b/src/domains/ecommerce-app/api/ecommerce-io/v2/_base_policy.xml.tpl
@@ -13,7 +13,7 @@
+ is an opaque token a "session-token-not-found" string is returned-->
@@ -30,7 +30,7 @@
-
+
@@ -60,20 +60,25 @@
+
+
+
+
+
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id))">
-
+ operations == context.Operation.Id))">