diff --git a/AsbCloudApp/Data/WellOperationImport/Options/IWellOperationImportOptions.cs b/AsbCloudApp/Data/WellOperationImport/Options/IWellOperationImportOptions.cs
new file mode 100644
index 00000000..30b9cf8c
--- /dev/null
+++ b/AsbCloudApp/Data/WellOperationImport/Options/IWellOperationImportOptions.cs
@@ -0,0 +1,12 @@
+namespace AsbCloudApp.Data.WellOperationImport.Options;
+
+///
+/// Опции для парсинга
+///
+public interface IWellOperationImportOptions
+{
+ ///
+ /// Тип операции
+ ///
+ int IdType { get; }
+}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellOperationImport/Options/WellOperationImportDefaultOptionsDto.cs b/AsbCloudApp/Data/WellOperationImport/Options/WellOperationImportDefaultOptionsDto.cs
new file mode 100644
index 00000000..a1db3d35
--- /dev/null
+++ b/AsbCloudApp/Data/WellOperationImport/Options/WellOperationImportDefaultOptionsDto.cs
@@ -0,0 +1,18 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace AsbCloudApp.Data.WellOperationImport.Options;
+
+///
+/// Опции для парсинга дефолтного шаблона
+///
+public class WellOperationImportDefaultOptionsDto : IWellOperationImportOptions
+{
+ ///
+ /// Тип операции
+ /// 0 - плановая операция
+ /// 1 - фактическая операция
+ ///
+ [Required]
+ [Range(0, 1, ErrorMessage = "Тип операции недопустим. Допустимые: 0, 1")]
+ public int IdType { get; set; }
+}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellOperationImport/Options/WellOperationImportGazpromKhantosOptionsDto.cs b/AsbCloudApp/Data/WellOperationImport/Options/WellOperationImportGazpromKhantosOptionsDto.cs
new file mode 100644
index 00000000..d8b094c4
--- /dev/null
+++ b/AsbCloudApp/Data/WellOperationImport/Options/WellOperationImportGazpromKhantosOptionsDto.cs
@@ -0,0 +1,36 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace AsbCloudApp.Data.WellOperationImport.Options;
+
+///
+/// Опции для настройки парсинга документа ГПНХ(Хантос)
+///
+public class WellOperationImportGazpromKhantosOptionsDto : IWellOperationImportOptions
+{
+ ///
+ /// Название листа
+ ///
+ [Required]
+ [StringLength(250, MinimumLength = 1, ErrorMessage = "Название листа должно быть задано")]
+ public string SheetName { get; set; } = null!;
+
+ ///
+ /// Тип операции
+ /// 0 - плановая операция
+ ///
+ [Required]
+ [Range(0, 0, ErrorMessage = "Тип операции недопустим. Допустимый: 0")]
+ public int IdType { get; set; }
+
+ ///
+ /// Начальная строка
+ ///
+ [Required]
+ public int StartRow { get; set; }
+
+ ///
+ /// Конечная строка
+ ///
+ [Required]
+ public int EndRow { get; set; }
+}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellOperationImport/SheetDto.cs b/AsbCloudApp/Data/WellOperationImport/SheetDto.cs
new file mode 100644
index 00000000..32091283
--- /dev/null
+++ b/AsbCloudApp/Data/WellOperationImport/SheetDto.cs
@@ -0,0 +1,20 @@
+using System.Collections.Generic;
+using System.Linq;
+
+namespace AsbCloudApp.Data.WellOperationImport;
+
+///
+/// Лист полученный из файла Excel
+///
+public class SheetDto
+{
+ ///
+ /// Название листа
+ ///
+ public string Name { get; set; } = null!;
+
+ ///
+ /// Строки
+ ///
+ public IEnumerable Rows { get; set; } = Enumerable.Empty();
+}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/WellOperationImport/WellOperationImportOptionsDto.cs b/AsbCloudApp/Data/WellOperationImport/WellOperationImportOptionsDto.cs
deleted file mode 100644
index 285f9d67..00000000
--- a/AsbCloudApp/Data/WellOperationImport/WellOperationImportOptionsDto.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-
-namespace AsbCloudApp.Data.WellOperationImport;
-
-///
-/// Опции для настройки парсинга документа
-///
-public class WellOperationParserOptionsDto : IValidatableObject
-{
- ///
- /// Название листа
- ///
- public string? SheetName { get; set; }
-
- ///
- /// Тип операции
- /// 0 - плановая операция
- /// 1 - фактическая операция
- ///
- [Required]
- [Range(0, 1, ErrorMessage = "Тип операции недопустим. Допустимые: 0, 1")]
- public int IdType { get; set; }
-
- ///
- /// Тип шаблона
- /// 0 - Дефолтный шаблон
- /// 1 - Газпром хантос
- ///
- [Required]
- [Range(0, 1, ErrorMessage = "Тип шаблона недопустим. Допустимые: 0, 1")]
- public int IdTemplate { get; set; }
-
- ///
- /// Начальная строка
- ///
- public int? StartRow { get; set; }
-
- ///
- /// Конечная строка
- ///
- public int? EndRow { get; set; }
-
- ///
- public IEnumerable Validate(ValidationContext validationContext)
- {
- if (IdTemplate != 0 && string.IsNullOrWhiteSpace(SheetName))
- yield return new ValidationResult("Название листа должно быть задано", new[] { nameof(SheetName) });
- }
-}
\ No newline at end of file