diff --git a/gso/products/product_blocks/copernicus.py b/gso/products/product_blocks/copernicus.py
index e98263a48852e90ef11fb2d44a1d654d9fa9df02..d62d39000ee93799e5256160f0eff2e5b97a4cb6 100644
--- a/gso/products/product_blocks/copernicus.py
+++ b/gso/products/product_blocks/copernicus.py
@@ -15,7 +15,7 @@ class CopernicusBlockInactive(
 ):
     """An inactive Copernicus product block. See `CopernicusBlock`."""
 
-    l3_core: L3CoreServiceBlockInactive | None = None
+    l3_core: L3CoreServiceBlockInactive
 
 
 class CopernicusBlockProvisioning(CopernicusBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
diff --git a/gso/products/product_blocks/geant_ip.py b/gso/products/product_blocks/geant_ip.py
index 2050794d1252d891480191940c67f4fc61a25df6..74256629870a7342151bbdc48ff069bb23bab644 100644
--- a/gso/products/product_blocks/geant_ip.py
+++ b/gso/products/product_blocks/geant_ip.py
@@ -15,7 +15,7 @@ class GeantIPBlockInactive(
 ):
     """An inactive GeantIP product block. See `GeantIPBlock`."""
 
-    l3_core: L3CoreServiceBlockInactive | None = None
+    l3_core: L3CoreServiceBlockInactive
 
 
 class GeantIPBlockProvisioning(GeantIPBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
diff --git a/gso/products/product_blocks/ias.py b/gso/products/product_blocks/ias.py
index fdf26d324f46296a68aef88b21c4417071826d7f..f57d76fcb8541369b0381e24f09f0caaa2790090 100644
--- a/gso/products/product_blocks/ias.py
+++ b/gso/products/product_blocks/ias.py
@@ -22,7 +22,7 @@ class IASFlavor(strEnum):
 class IASBlockInactive(ProductBlockModel, lifecycle=[SubscriptionLifecycle.INITIAL], product_block_name="IASBlock"):
     """An inactive IAS product block. See `IASBlock`."""
 
-    l3_core: L3CoreServiceBlockInactive | None = None
+    l3_core: L3CoreServiceBlockInactive
     ias_flavor: IASFlavor = IASFlavor.IAS_PS_OPT_OUT
 
 
diff --git a/gso/products/product_blocks/lhcone.py b/gso/products/product_blocks/lhcone.py
index 48292a5aa7053951ab2ead9a1bed0e90c13401e6..016a2a8f4758315f2762fde5159f1fb0fdb1fc07 100644
--- a/gso/products/product_blocks/lhcone.py
+++ b/gso/products/product_blocks/lhcone.py
@@ -15,7 +15,7 @@ class LHCOneBlockInactive(
 ):
     """An inactive LHCOne product block. See `LHCOneBlock`."""
 
-    l3_core: L3CoreServiceBlockInactive | None = None
+    l3_core: L3CoreServiceBlockInactive
 
 
 class LHCOneBlockProvisioning(LHCOneBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
diff --git a/gso/products/product_types/copernicus.py b/gso/products/product_types/copernicus.py
index cb6c2e68777ac59749cc4c1499ac5cad2d5218d5..570938b7a193a26cc23fa8311d4e11d40b242572 100644
--- a/gso/products/product_types/copernicus.py
+++ b/gso/products/product_types/copernicus.py
@@ -23,7 +23,7 @@ class CopernicusInactive(BaseL3SubscriptionModel, is_base=True):
     copernicus: CopernicusBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the copernicus attribute."""
         return self.copernicus.l3_core
 
@@ -56,7 +56,7 @@ class ImportedCopernicusInactive(BaseL3SubscriptionModel, is_base=True):
     copernicus: CopernicusBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the copernicus attribute."""
         return self.copernicus.l3_core
 
diff --git a/gso/products/product_types/geant_ip.py b/gso/products/product_types/geant_ip.py
index d5e07325da585a56b2047fc329858ab3401e7a24..2710f1afe2c92133c6de1d88ba255483592a1f43 100644
--- a/gso/products/product_types/geant_ip.py
+++ b/gso/products/product_types/geant_ip.py
@@ -25,7 +25,7 @@ class GeantIPInactive(BaseL3SubscriptionModel, is_base=True):
     geant_ip: GeantIPBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the geant_ip attribute."""
         return self.geant_ip.l3_core
 
@@ -58,7 +58,7 @@ class ImportedGeantIPInactive(BaseL3SubscriptionModel, is_base=True):
     geant_ip: GeantIPBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the geant_ip attribute."""
         return self.geant_ip.l3_core
 
diff --git a/gso/products/product_types/ias.py b/gso/products/product_types/ias.py
index 6eb6193fe5f612faeee24a6ecfb042198a7d4655..693ad644ed6046848e7d0c5b3395bec673583ac5 100644
--- a/gso/products/product_types/ias.py
+++ b/gso/products/product_types/ias.py
@@ -25,7 +25,7 @@ class IASInactive(BaseL3SubscriptionModel, is_base=True):
     ias: IASBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the 'ias' attribute."""
         return self.ias.l3_core
 
@@ -58,7 +58,7 @@ class ImportedIASInactive(BaseL3SubscriptionModel, is_base=True):
     ias: IASBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the 'ias' attribute."""
         return self.ias.l3_core
 
diff --git a/gso/products/product_types/l3_core_service.py b/gso/products/product_types/l3_core_service.py
index b7b6937b98124023e10a51a7340042a969522250..5026060ec04bcc56eacde7440109705b0dc045a2 100644
--- a/gso/products/product_types/l3_core_service.py
+++ b/gso/products/product_types/l3_core_service.py
@@ -16,7 +16,7 @@ class BaseL3SubscriptionModel(SubscriptionModel, ABC):
 
     @property
     @abstractmethod
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Should be implemented by subclasses."""
 
     @l3_core.setter
diff --git a/gso/products/product_types/lhcone.py b/gso/products/product_types/lhcone.py
index ad48086a2a69428855b26ec202048a904cdf667b..6e130a2edc0939208c3dfc006295f9fca86121de 100644
--- a/gso/products/product_types/lhcone.py
+++ b/gso/products/product_types/lhcone.py
@@ -25,7 +25,7 @@ class LHCOneInactive(BaseL3SubscriptionModel, is_base=True):
     lhcone: LHCOneBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the lhcone attribute."""
         return self.lhcone.l3_core
 
@@ -58,7 +58,7 @@ class ImportedLHCOneInactive(BaseL3SubscriptionModel, is_base=True):
     lhcone: LHCOneBlockInactive
 
     @property
-    def l3_core(self) -> L3CoreServiceBlockInactive | None:
+    def l3_core(self) -> L3CoreServiceBlockInactive:
         """Getter: Retrieve the l3_core from the lhcone attribute."""
         return self.lhcone.l3_core