diff --git a/LawFirm/LawFirmContracts/BindingModels/ShopBindingModel.cs b/LawFirm/LawFirmContracts/BindingModels/ShopBindingModel.cs
new file mode 100644
index 0000000..167e727
--- /dev/null
+++ b/LawFirm/LawFirmContracts/BindingModels/ShopBindingModel.cs
@@ -0,0 +1,22 @@
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BindingModels
+{
+    public class ShopBindingModel : IShopModel
+    {
+        public string Name { get; set; } = string.Empty;
+
+        public string Adress { get; set; } = string.Empty;
+
+        public DateTime OpeningDate { get; set; }
+
+        public Dictionary<int, (IDocumentModel, int)> ShopDocuments { get; set; } = new();
+
+        public int Id { get; set; }
+    }
+}
diff --git a/LawFirm/LawFirmContracts/BusinessLogicContracts/IShopLogic.cs b/LawFirm/LawFirmContracts/BusinessLogicContracts/IShopLogic.cs
new file mode 100644
index 0000000..cac08f7
--- /dev/null
+++ b/LawFirm/LawFirmContracts/BusinessLogicContracts/IShopLogic.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.BusinessLogicContracts
+{
+    internal interface IShopLogic
+    {
+    }
+}
diff --git a/LawFirm/LawFirmContracts/SearchModels/ShopSearchModel.cs b/LawFirm/LawFirmContracts/SearchModels/ShopSearchModel.cs
new file mode 100644
index 0000000..27422a2
--- /dev/null
+++ b/LawFirm/LawFirmContracts/SearchModels/ShopSearchModel.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.SearchModels
+{
+    public class ShopSearchModel
+    {
+        public int? Id { get; set; }
+        public string? Name { get; set; }
+    }
+}
diff --git a/LawFirm/LawFirmContracts/ViewModels/ShopViewModel.cs b/LawFirm/LawFirmContracts/ViewModels/ShopViewModel.cs
new file mode 100644
index 0000000..7c8b52c
--- /dev/null
+++ b/LawFirm/LawFirmContracts/ViewModels/ShopViewModel.cs
@@ -0,0 +1,24 @@
+using LawFirmDataModels.Models;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmContracts.ViewModels
+{
+    internal class ShopViewModel : IShopModel
+    {
+        [DisplayName("Название магазина")]
+        public string Name { get; set; } = string.Empty;
+        [DisplayName("Адрес")]
+        public string Adress { get; set; } = string.Empty;
+        [DisplayName("Дата открытия")]
+        public DateTime OpeningDate { get; set; }
+
+        public Dictionary<int, (IDocumentModel, int)> ShopDocuments { get; set; } = new();
+
+        public int Id { get; set; }
+    }
+}
diff --git a/LawFirm/LawFirmDataModels/Models/IShopModel.cs b/LawFirm/LawFirmDataModels/Models/IShopModel.cs
new file mode 100644
index 0000000..9f7b436
--- /dev/null
+++ b/LawFirm/LawFirmDataModels/Models/IShopModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LawFirmDataModels.Models
+{
+    public interface IShopModel : IId
+    {
+        String Name { get; }
+        String Adress { get; }
+        DateTime OpeningDate { get; }
+        Dictionary<int, (IDocumentModel, int)> ShopDocuments { get; }
+    }
+}