diff --git a/Core.Inventory.DAL.API/Controllers/FurnitureVariantController.cs b/Core.Inventory.DAL.API/Controllers/FurnitureVariantController.cs
index 4fedebb..ffd86f1 100644
--- a/Core.Inventory.DAL.API/Controllers/FurnitureVariantController.cs
+++ b/Core.Inventory.DAL.API/Controllers/FurnitureVariantController.cs
@@ -25,10 +25,22 @@ namespace Core.Inventory.DAL.API.Controllers
     [AllowAnonymous]
     public class FurnitureVariantController(IFurnitureVariantProvider service) : ControllerBase
     {
+
         /// 
         /// Gets all furniture variant records.
         /// 
         [HttpGet]
+        [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+        public async Task GetAllAsync(CancellationToken cancellationToken)
+        {
+            var result = await service.GetAllAsync(cancellationToken);
+            return Ok(result);
+        }
+
+        /// 
+        /// Gets all furniture variant records by ModelId.
+        /// 
+        [HttpGet]
         [Route("ByModel/{modelId}")]
         [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
         public async Task GetAllVariantsByModelIdAsync(string modelId, CancellationToken cancellationToken)
diff --git a/Core.Inventory.Provider/Contracts/IFurnitureVariantProvider.cs b/Core.Inventory.Provider/Contracts/IFurnitureVariantProvider.cs
index bdbaf40..d3e72b5 100644
--- a/Core.Inventory.Provider/Contracts/IFurnitureVariantProvider.cs
+++ b/Core.Inventory.Provider/Contracts/IFurnitureVariantProvider.cs
@@ -63,5 +63,12 @@ namespace Core.Inventory.Provider.Contracts
         /// Cancellation token.
         /// The updated .
         ValueTask ChangeStatusAsync(string _id, StatusEnum newStatus, CancellationToken cancellationToken);
+
+        /// 
+        /// Retrieves all furniture variant entities.
+        /// 
+        /// Cancellation token.
+        /// A list of all  entities.
+        ValueTask> GetAllAsync(CancellationToken cancellationToken);
     }
 }
diff --git a/Core.Inventory.Provider/Providers/Inventory/FurnitureBaseProvider.cs b/Core.Inventory.Provider/Providers/Inventory/FurnitureBaseProvider.cs
index e288bc2..bf8017d 100644
--- a/Core.Inventory.Provider/Providers/Inventory/FurnitureBaseProvider.cs
+++ b/Core.Inventory.Provider/Providers/Inventory/FurnitureBaseProvider.cs
@@ -47,6 +47,7 @@ namespace Core.Inventory.Provider.Providers.Inventory
             var entity = await repository.FindByIdAsync(mongoId);
             entity.Status = newStatus;
             await repository.ReplaceOneAsync(entity);
+            await ResetCollectionCache();
             return entity;
         }
 
@@ -60,6 +61,7 @@ namespace Core.Inventory.Provider.Providers.Inventory
         {
             var furnitureCollection = newFurniture.Adapt();
             await repository.InsertOneAsync(furnitureCollection);
+            await ResetCollectionCache();
             return furnitureCollection;
         }
 
@@ -108,7 +110,20 @@ namespace Core.Inventory.Provider.Providers.Inventory
         public async ValueTask UpdateAsync(string id, FurnitureBase entity, CancellationToken cancellationToken)
         {
             await repository.ReplaceOneAsync(entity);
+            await ResetCollectionCache();
             return entity;
         }
+
+        /// 
+        /// Temporary method to "reset" collections cache
+        /// 
+        /// 
+        private async Task ResetCollectionCache()
+        {
+            //TODO: remove this method when necessary.
+            var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllFurnitureBases");
+
+            await cacheProvider.SetAsync(cacheKey, Enumerable.Empty(), null);
+        }
     }
 }
diff --git a/Core.Inventory.Provider/Providers/Inventory/FurnitureVariantProvider.cs b/Core.Inventory.Provider/Providers/Inventory/FurnitureVariantProvider.cs
index c5b0459..ef91a24 100644
--- a/Core.Inventory.Provider/Providers/Inventory/FurnitureVariantProvider.cs
+++ b/Core.Inventory.Provider/Providers/Inventory/FurnitureVariantProvider.cs
@@ -48,6 +48,7 @@ namespace Core.Inventory.Provider.Providers.Inventory
             var entity = await repository.FindByIdAsync(mongoId);
             entity.Status = newStatus;
             await repository.ReplaceOneAsync(entity);
+            await ResetCollectionCache();
             return entity;
         }
 
@@ -61,6 +62,7 @@ namespace Core.Inventory.Provider.Providers.Inventory
         {
             var variantCollection = newVariant.Adapt();
             await repository.InsertOneAsync(variantCollection);
+            await ResetCollectionCache();
             return variantCollection;
         }
 
@@ -137,7 +139,37 @@ namespace Core.Inventory.Provider.Providers.Inventory
         public async ValueTask UpdateAsync(string id, FurnitureVariant entity, CancellationToken cancellationToken)
         {
             await repository.ReplaceOneAsync(entity);
+            await ResetCollectionCache();
             return entity;
         }
+
+        /// 
+        /// Retrieves all FurnitureVariant entries.
+        /// 
+        /// Cancellation token.
+        /// A list of .
+        public async ValueTask> GetAllAsync(CancellationToken cancellationToken)
+        {
+            var cacheKey = CacheKeyHelper.GenerateCacheKey(this, nameof(GetAllAsync));
+            var cachedData = await cacheProvider.GetAsync>(cacheKey) ?? [];
+
+            if (cachedData.Any()) return cachedData;
+
+            var data = await repository.AsQueryable();
+            await cacheProvider.SetAsync(cacheKey, data);
+            return data;
+        }
+
+        /// 
+        /// Temporary method to "reset" collections cache
+        /// 
+        /// 
+        private async Task ResetCollectionCache()
+        {
+            //TODO: remove this method when necessary.
+            var cacheKey = CacheKeyHelper.GenerateCacheKey(this, "GetAllFurnitureVariants");
+
+            await cacheProvider.SetAsync(cacheKey, Enumerable.Empty(), null);
+        }
     }
 }