diff --git a/src/Intersvyaz.Core/Class1.cs b/src/Intersvyaz.Core/Class1.cs
deleted file mode 100644
index 326d1b4..0000000
--- a/src/Intersvyaz.Core/Class1.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Intersvyaz.Core
-{
- public class Class1
- {
- }
-}
diff --git a/src/Intersvyaz.Core/Intersvyaz.Core.csproj b/src/Intersvyaz.Core/Intersvyaz.Core.csproj
index 47ab5ae..108eaa5 100644
--- a/src/Intersvyaz.Core/Intersvyaz.Core.csproj
+++ b/src/Intersvyaz.Core/Intersvyaz.Core.csproj
@@ -120,8 +120,9 @@
PackageReference
-
+
+
@@ -129,6 +130,7 @@
6.2.8
+
14.0
diff --git a/src/Intersvyaz.Core/Models/SessionData.cs b/src/Intersvyaz.Core/Models/SessionData.cs
new file mode 100644
index 0000000..dadc5f4
--- /dev/null
+++ b/src/Intersvyaz.Core/Models/SessionData.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace Intersvyaz.Core.Models
+{
+ public class SessionData
+ {
+ public string Username { get; set; }
+
+ public string Token { get; set; }
+
+ public DateTime ExpiresAt { get; set; }
+ }
+}
diff --git a/src/Intersvyaz.Core/Services/ISessionService.cs b/src/Intersvyaz.Core/Services/ISessionService.cs
new file mode 100644
index 0000000..d0e369f
--- /dev/null
+++ b/src/Intersvyaz.Core/Services/ISessionService.cs
@@ -0,0 +1,33 @@
+using System.Threading.Tasks;
+using Intersvyaz.Core.Models;
+
+namespace Intersvyaz.Core.Services
+{
+ public interface ISessionService
+ {
+ ///
+ /// Получить сессию пользователя. При отсутствие сессии,
+ /// входит в систему автоматически.
+ ///
+ /// Имя пользователя.
+ /// Пароль пользователя.
+ /// Данные об сессии.
+ Task GetSessionAsync(string username, string password);
+
+ ///
+ /// Получить сессию пользователя.
+ ///
+ /// Данные об сессии.
+ SessionData GetSession();
+
+ ///
+ /// Проверить, есть ли сессия пользователя.
+ ///
+ bool HasSession();
+
+ ///
+ /// Удалить сессию пользователя.
+ ///
+ void DeleteSession();
+ }
+}