diff --git a/AsbCloudApp/Data/ParserResultDto.cs b/AsbCloudApp/Data/ParserResultDto.cs
new file mode 100644
index 00000000..5b6eca8d
--- /dev/null
+++ b/AsbCloudApp/Data/ParserResultDto.cs
@@ -0,0 +1,12 @@
+using System.Collections.Generic;
+
+namespace AsbCloudApp.Data;
+
+///
+/// Результат парсинга файла
+///
+///
+public class ParserResultDto : ValidationResultDto>>
+ where TDto : class, IId
+{
+}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs b/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs
index 47563011..e47a66e8 100644
--- a/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs
+++ b/AsbCloudApp/Data/Trajectory/TrajectoryGeoDto.cs
@@ -5,7 +5,7 @@ namespace AsbCloudApp.Data.Trajectory
///
/// Базовая географическая траектория
///
- public abstract class TrajectoryGeoDto
+ public abstract class TrajectoryGeoDto : IId
{
///
/// ИД строки с координатами
diff --git a/AsbCloudApp/Requests/Import/ParserOptionsRequestBase.cs b/AsbCloudApp/Requests/Import/ParserOptionsRequestBase.cs
new file mode 100644
index 00000000..852459ee
--- /dev/null
+++ b/AsbCloudApp/Requests/Import/ParserOptionsRequestBase.cs
@@ -0,0 +1,17 @@
+namespace AsbCloudApp.Requests.Import;
+
+///
+/// Параметры парсинга
+///
+public abstract class ParserOptionsRequestBase
+{
+ ///
+ /// Id сервиса для парсинга
+ ///
+ public int IdParserService { get; set; }
+
+ ///
+ /// Название листа в файле Excel
+ ///
+ public string SheetName { get; set; } = null!;
+}
\ No newline at end of file
diff --git a/AsbCloudApp/Requests/Import/TrajectoryParserRequest.cs b/AsbCloudApp/Requests/Import/TrajectoryParserRequest.cs
new file mode 100644
index 00000000..6a7fedab
--- /dev/null
+++ b/AsbCloudApp/Requests/Import/TrajectoryParserRequest.cs
@@ -0,0 +1,12 @@
+namespace AsbCloudApp.Requests.Import;
+
+///
+/// Параметры парсинга траекторий
+///
+public class TrajectoryParserRequest : ParserOptionsRequestBase
+{
+ ///
+ /// Количество строк заголовка
+ ///
+ public int HeaderRowsCount { get; set; }
+}
\ No newline at end of file
diff --git a/AsbCloudApp/Services/IParserService.cs b/AsbCloudApp/Services/IParserService.cs
new file mode 100644
index 00000000..81177c64
--- /dev/null
+++ b/AsbCloudApp/Services/IParserService.cs
@@ -0,0 +1,30 @@
+using System.IO;
+using AsbCloudApp.Data;
+using AsbCloudApp.Requests.Import;
+
+namespace AsbCloudApp.Services;
+
+///
+/// Сервис парсинга файлов
+///
+///
+///
+public interface IParserService : IParserService
+ where TDto : class, IId
+ where TOptions : ParserOptionsRequestBase
+{
+ ///
+ /// Распарсить файл
+ ///
+ ///
+ ///
+ ///
+ ParserResultDto Parse(Stream file, TOptions options);
+}
+
+///
+/// Сервис парсинга файлов
+///
+public interface IParserService
+{
+}
\ No newline at end of file