diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 6aab706..c0e7942 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -68,6 +68,7 @@ dependencies {
     implementation(libs.androidx.camera.mlkit.vision)
     implementation(libs.androidx.paging.runtime.ktx)
     defaultLibrary()
+
     implementation(libs.hilt.android)
     kapt(libs.hilt.android.compiler)
 }
diff --git a/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeNetworkDataSource.kt
new file mode 100644
index 0000000..38e18bd
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeNetworkDataSource.kt
@@ -0,0 +1,36 @@
+package ru.myitschool.work.data.deleteEmployee
+
+import android.content.Context
+import io.ktor.client.call.body
+import io.ktor.client.request.basicAuth
+import io.ktor.client.request.patch
+import io.ktor.http.HttpStatusCode
+import io.ktor.http.headers
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.withContext
+import ru.myitschool.work.core.Constants
+import ru.myitschool.work.data.UserDataStoreManager
+import ru.myitschool.work.utils.NetworkModule
+
+class DeleteEmployeeNetworkDataSource(
+    context: Context
+) {
+    private val client = NetworkModule.httpClient
+    private val userDataStoreManager = UserDataStoreManager.getInstance(context)
+    suspend fun deleteEmployee(login: String):Result<Unit> = withContext(Dispatchers.IO){
+        runCatching {
+            val username = userDataStoreManager.usernameFlow.first()
+            val password = userDataStoreManager.passwordFlow.first()
+            val result = client.patch("${Constants.SERVER_ADDRESS}/api/employee/$login/delete"){
+                headers{
+                    basicAuth(username, password)
+                }
+            }
+            if (result.status != HttpStatusCode.OK) {
+                error("Status ${result.status}")
+            }
+            result.body()
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeRepoImpl.kt
new file mode 100644
index 0000000..3d633c8
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/deleteEmployee/DeleteEmployeeRepoImpl.kt
@@ -0,0 +1,9 @@
+package ru.myitschool.work.data.deleteEmployee
+
+import ru.myitschool.work.domain.deleteEmployee.DeleteEmployeeRepo
+
+class DeleteEmployeeRepoImpl : DeleteEmployeeRepo {
+    override suspend fun deleteEmployee(login: String): Result<Unit> {
+        TODO("Not yet implemented")
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/door/DoorNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/door/open/DoorNetworkDataSource.kt
similarity index 96%
rename from app/src/main/java/ru/myitschool/work/data/door/DoorNetworkDataSource.kt
rename to app/src/main/java/ru/myitschool/work/data/door/open/DoorNetworkDataSource.kt
index 4384151..26ddbc5 100644
--- a/app/src/main/java/ru/myitschool/work/data/door/DoorNetworkDataSource.kt
+++ b/app/src/main/java/ru/myitschool/work/data/door/open/DoorNetworkDataSource.kt
@@ -1,4 +1,4 @@
-package ru.myitschool.work.data.door
+package ru.myitschool.work.data.door.open
 
 import android.content.Context
 import io.ktor.client.call.body
diff --git a/app/src/main/java/ru/myitschool/work/data/door/DoorRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/door/open/DoorRepoImpl.kt
similarity index 69%
rename from app/src/main/java/ru/myitschool/work/data/door/DoorRepoImpl.kt
rename to app/src/main/java/ru/myitschool/work/data/door/open/DoorRepoImpl.kt
index 9b627df..72638f3 100644
--- a/app/src/main/java/ru/myitschool/work/data/door/DoorRepoImpl.kt
+++ b/app/src/main/java/ru/myitschool/work/data/door/open/DoorRepoImpl.kt
@@ -1,6 +1,6 @@
-package ru.myitschool.work.data.door
+package ru.myitschool.work.data.door.open
 
-import ru.myitschool.work.domain.door.DoorRepo
+import ru.myitschool.work.domain.door.open.DoorRepo
 
 class DoorRepoImpl(
    private val networkDataSource: DoorNetworkDataSource
diff --git a/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListNetworkDataSource.kt
new file mode 100644
index 0000000..8d00f6e
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListNetworkDataSource.kt
@@ -0,0 +1,40 @@
+package ru.myitschool.work.data.employeeList
+
+import android.content.Context
+import io.ktor.client.call.body
+import io.ktor.client.request.basicAuth
+import io.ktor.client.request.get
+import io.ktor.client.statement.bodyAsText
+import io.ktor.http.HttpStatusCode
+import io.ktor.http.headers
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.withContext
+import ru.myitschool.work.core.Constants
+import ru.myitschool.work.data.UserDataStoreManager
+import ru.myitschool.work.dto.EmployeePagingDTO
+import ru.myitschool.work.utils.NetworkModule
+
+class EmployeeListNetworkDataSource(
+    context: Context
+) {
+    private val client = NetworkModule.httpClient
+
+    private val userDataStoreManager = UserDataStoreManager.getInstance(context)
+    suspend fun getInfo():Result<EmployeePagingDTO> = withContext(Dispatchers.IO){
+        runCatching {
+            val username = userDataStoreManager.usernameFlow.first()
+            val password = userDataStoreManager.passwordFlow.first()
+            val result = client.get("${Constants.SERVER_ADDRESS}/api/employee/all"){
+                headers{
+                    basicAuth(username, password)
+                }
+            }
+            if (result.status != HttpStatusCode.OK) {
+                error("Status ${result.status}")
+            }
+            println(result.bodyAsText())
+            result.body()
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListRepoImpl.kt
new file mode 100644
index 0000000..e2c5460
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/employeeList/EmployeeListRepoImpl.kt
@@ -0,0 +1,10 @@
+package ru.myitschool.work.data.employeeList
+
+import ru.myitschool.work.domain.employeeList.EmployeeListRepo
+import ru.myitschool.work.entities.EmployeeEntity
+
+class EmployeeListRepoImpl : EmployeeListRepo {
+    override suspend fun getList(): Result<List<EmployeeEntity>> {
+        TODO("Not yet implemented")
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt
index 84469f7..ecbef85 100644
--- a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt
+++ b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListNetworkDataSource.kt
@@ -11,7 +11,7 @@ import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.withContext
 import ru.myitschool.work.core.Constants
 import ru.myitschool.work.data.UserDataStoreManager
-import ru.myitschool.work.data.dto.EmployeeEntranceListPagingDTO
+import ru.myitschool.work.dto.EmployeeEntranceListPagingDTO
 import ru.myitschool.work.utils.NetworkModule
 
 class AllEntranceListNetworkDataSource(
diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt
index 1a7db28..0e6b65d 100644
--- a/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt
+++ b/app/src/main/java/ru/myitschool/work/data/entrance/allEntrances/AllEntranceListRepoImpl.kt
@@ -1,7 +1,7 @@
 package ru.myitschool.work.data.entrance.allEntrances
 
 import ru.myitschool.work.domain.employeeEntrance.allEntrances.AllEntranceListRepo
-import ru.myitschool.work.domain.entities.EmployeeEntranceEntity
+import ru.myitschool.work.entities.EmployeeEntranceEntity
 
 class AllEntranceListRepoImpl(
     private val networkDataSource: AllEntranceListNetworkDataSource
diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt
index 1ce9725..95a8d22 100644
--- a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt
+++ b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListNetworkDataSource.kt
@@ -12,7 +12,7 @@ import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.withContext
 import ru.myitschool.work.core.Constants
 import ru.myitschool.work.data.UserDataStoreManager
-import ru.myitschool.work.data.dto.EmployeeEntranceListPagingDTO
+import ru.myitschool.work.dto.EmployeeEntranceListPagingDTO
 import ru.myitschool.work.utils.NetworkModule
 
 class EmployeeEntranceListNetworkDataSource(
diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt
index 4761046..f6aa7fc 100644
--- a/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt
+++ b/app/src/main/java/ru/myitschool/work/data/entrance/employeeEntrances/EmployeeEntranceListRepoImpl.kt
@@ -1,6 +1,6 @@
 package ru.myitschool.work.data.entrance.employeeEntrances
 
-import ru.myitschool.work.domain.entities.EmployeeEntranceEntity
+import ru.myitschool.work.entities.EmployeeEntranceEntity
 import ru.myitschool.work.domain.employeeEntrance.employeeEntrances.EmployeeEntranceListRepo
 
 class EmployeeEntranceListRepoImpl(
diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceNetworkDataSource.kt
new file mode 100644
index 0000000..ebedb68
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceNetworkDataSource.kt
@@ -0,0 +1,39 @@
+package ru.myitschool.work.data.entrance.lastEntrance
+
+import android.content.Context
+import io.ktor.client.call.body
+import io.ktor.client.request.basicAuth
+import io.ktor.client.request.post
+import io.ktor.client.statement.bodyAsText
+import io.ktor.http.HttpStatusCode
+import io.ktor.http.headers
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.withContext
+import ru.myitschool.work.core.Constants
+import ru.myitschool.work.data.UserDataStoreManager
+import ru.myitschool.work.dto.EmployeeEntranceDTO
+import ru.myitschool.work.utils.NetworkModule
+
+class LastEntranceNetworkDataSource(
+    context: Context
+) {
+    private val client = NetworkModule.httpClient
+    private val userDataStoreManager = UserDataStoreManager.getInstance(context)
+    suspend fun getLastEntrance():Result<EmployeeEntranceDTO> = withContext(Dispatchers.IO){
+        runCatching {
+            val username = userDataStoreManager.usernameFlow.first()
+            val password = userDataStoreManager.passwordFlow.first()
+            val result = client.post("${Constants.SERVER_ADDRESS}/api/entrance/last"){
+                headers{
+                    basicAuth(username, password)
+                }
+            }
+            if (result.status != HttpStatusCode.OK) {
+                error("Status ${result.status}")
+            }
+            println(result.bodyAsText())
+            result.body()
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceRepoImpl.kt
new file mode 100644
index 0000000..451bd79
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/entrance/lastEntrance/LastEntranceRepoImpl.kt
@@ -0,0 +1,19 @@
+package ru.myitschool.work.data.entrance.lastEntrance
+
+import ru.myitschool.work.domain.employeeEntrance.lastEntrance.LastEntranceRepo
+import ru.myitschool.work.entities.EmployeeEntranceEntity
+
+class LastEntranceRepoImpl(
+    private val networkDataSource: LastEntranceNetworkDataSource
+) : LastEntranceRepo {
+    override suspend fun getLastEntrance(): Result<EmployeeEntranceEntity> {
+        return networkDataSource.getLastEntrance().map { dto ->
+            EmployeeEntranceEntity(
+                id = dto.id ?: 0,
+                scanTime = dto.scanTime,
+                readerName = dto.readerName ?: "",
+                type = dto.type ?: ""
+            )
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/info/InfoRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/info/InfoRepoImpl.kt
deleted file mode 100644
index d6e3f94..0000000
--- a/app/src/main/java/ru/myitschool/work/data/info/InfoRepoImpl.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-package ru.myitschool.work.data.info
-
-import ru.myitschool.work.domain.entities.UserEntity
-import ru.myitschool.work.domain.info.InfoRepo
-
-class InfoRepoImpl(
-    private val networkDataSource: InfoNetworkDataSource
-): InfoRepo {
-    override suspend fun getInfo(): Result<UserEntity> {
-        return networkDataSource.getInfo().map { dto->
-            UserEntity(
-                id = dto.id ?: 0,
-                login = dto.login ?: "",
-                name = dto.name ?: "",
-                authority = dto.authority ?: "",
-                photoUrl = dto.photoUrl,
-                position = dto.position ?: ""
-            )
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/info/InfoNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/profile/ProfileNetworkDataSource.kt
similarity index 86%
rename from app/src/main/java/ru/myitschool/work/data/info/InfoNetworkDataSource.kt
rename to app/src/main/java/ru/myitschool/work/data/profile/ProfileNetworkDataSource.kt
index d8ffa2d..9dcd9c6 100644
--- a/app/src/main/java/ru/myitschool/work/data/info/InfoNetworkDataSource.kt
+++ b/app/src/main/java/ru/myitschool/work/data/profile/ProfileNetworkDataSource.kt
@@ -1,4 +1,4 @@
-package ru.myitschool.work.data.info
+package ru.myitschool.work.data.profile
 
 import android.content.Context
 import io.ktor.client.call.body
@@ -12,16 +12,16 @@ import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.withContext
 import ru.myitschool.work.core.Constants
 import ru.myitschool.work.data.UserDataStoreManager
-import ru.myitschool.work.data.dto.UserDTO
+import ru.myitschool.work.dto.EmployeeDTO
 import ru.myitschool.work.utils.NetworkModule
 
-class InfoNetworkDataSource(
+class ProfileNetworkDataSource(
     context: Context
 ) {
     private val client = NetworkModule.httpClient
 
     private val userDataStoreManager = UserDataStoreManager.getInstance(context)
-    suspend fun getInfo():Result<UserDTO> = withContext(Dispatchers.IO){
+    suspend fun getInfo():Result<EmployeeDTO> = withContext(Dispatchers.IO){
         runCatching {
             val username = userDataStoreManager.usernameFlow.first()
             val password = userDataStoreManager.passwordFlow.first()
diff --git a/app/src/main/java/ru/myitschool/work/data/profile/ProfileRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/profile/ProfileRepoImpl.kt
new file mode 100644
index 0000000..dee269c
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/profile/ProfileRepoImpl.kt
@@ -0,0 +1,23 @@
+package ru.myitschool.work.data.profile
+
+import ru.myitschool.work.entities.EmployeeEntity
+import ru.myitschool.work.domain.profile.ProfileRepo
+
+class ProfileRepoImpl(
+    private val networkDataSource: ProfileNetworkDataSource
+): ProfileRepo {
+    override suspend fun getInfo(): Result<EmployeeEntity> {
+        return networkDataSource.getInfo().map { dto->
+            EmployeeEntity(
+                id = dto.id ?: 0,
+                login = dto.login ?: "",
+                name = dto.name ?: "Не указано",
+                authority = dto.authority ?: "EMPLOYEE",
+                photoUrl = dto.photoUrl,
+                position = dto.position ?: "Отсутствует",
+                qrEnabled = dto.qrEnabled ?: false
+            )
+        }
+
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeNetworkDataSource.kt
new file mode 100644
index 0000000..0c13576
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeNetworkDataSource.kt
@@ -0,0 +1,39 @@
+package ru.myitschool.work.data.profile.admin
+
+import android.content.Context
+import io.ktor.client.call.body
+import io.ktor.client.request.basicAuth
+import io.ktor.client.request.post
+import io.ktor.client.statement.bodyAsText
+import io.ktor.http.HttpStatusCode
+import io.ktor.http.headers
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.withContext
+import ru.myitschool.work.core.Constants
+import ru.myitschool.work.data.UserDataStoreManager
+import ru.myitschool.work.dto.EmployeeDTO
+import ru.myitschool.work.utils.NetworkModule
+
+class EmployeeNetworkDataSource(
+    context: Context
+) {
+    private val client = NetworkModule.httpClient
+    private val userDataStoreManager = UserDataStoreManager.getInstance(context)
+    suspend fun getProfile(login : String):Result<EmployeeDTO> = withContext(Dispatchers.IO){
+        runCatching {
+            val username = userDataStoreManager.usernameFlow.first()
+            val password = userDataStoreManager.passwordFlow.first()
+            val result = client.post("${Constants.SERVER_ADDRESS}/api/employee/$login"){
+                headers{
+                    basicAuth(username, password)
+                }
+            }
+            if (result.status != HttpStatusCode.OK) {
+                error("Status ${result.status}")
+            }
+            println(result.bodyAsText())
+            result.body()
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeProfileRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeProfileRepoImpl.kt
new file mode 100644
index 0000000..ee9c8de
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/profile/admin/EmployeeProfileRepoImpl.kt
@@ -0,0 +1,22 @@
+package ru.myitschool.work.data.profile.admin
+
+import ru.myitschool.work.entities.EmployeeEntity
+import ru.myitschool.work.domain.profile.admin.EmployeeProfileRepo
+
+class EmployeeProfileRepoImpl(
+    private val networkDataSource: EmployeeNetworkDataSource
+) : EmployeeProfileRepo {
+    override suspend fun getInfo(login : String): Result<EmployeeEntity> {
+        return networkDataSource.getProfile(login).map { dto ->
+            EmployeeEntity(
+                id = dto.id ?: 0,
+                login = dto.login ?: "",
+                name = dto.name ?: "Не указано",
+                authority = dto.authority ?: "EMPLOYEE",
+                photoUrl = dto.photoUrl,
+                position = dto.position ?: "Отсутствует",
+                qrEnabled = dto.qrEnabled ?: false
+            )
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateNetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateNetworkDataSource.kt
new file mode 100644
index 0000000..06edff0
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateNetworkDataSource.kt
@@ -0,0 +1,36 @@
+package ru.myitschool.work.data.scannerState
+
+import android.content.Context
+import io.ktor.client.call.body
+import io.ktor.client.request.basicAuth
+import io.ktor.client.request.patch
+import io.ktor.http.HttpStatusCode
+import io.ktor.http.headers
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.withContext
+import ru.myitschool.work.core.Constants
+import ru.myitschool.work.data.UserDataStoreManager
+import ru.myitschool.work.utils.NetworkModule
+
+class ScannerStateNetworkDataSource(
+    context: Context
+) {
+    private val client = NetworkModule.httpClient
+    private val userDataStoreManager = UserDataStoreManager.getInstance(context)
+    suspend fun setScannerState(state: String, login: String):Result<Unit> = withContext(Dispatchers.IO){
+        runCatching {
+            val username = userDataStoreManager.usernameFlow.first()
+            val password = userDataStoreManager.passwordFlow.first()
+            val result = client.patch("${Constants.SERVER_ADDRESS}/api/employee/$login/$state"){
+                headers{
+                    basicAuth(username, password)
+                }
+            }
+            if (result.status != HttpStatusCode.OK) {
+                error("Status ${result.status}")
+            }
+            result.body()
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateRepoImpl.kt b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateRepoImpl.kt
new file mode 100644
index 0000000..c24b4fa
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/data/scannerState/ScannerStateRepoImpl.kt
@@ -0,0 +1,11 @@
+package ru.myitschool.work.data.scannerState
+
+import ru.myitschool.work.domain.scannerBlockState.ScannerStateRepo
+
+class ScannerStateRepoImpl(
+    private val networkDataSource: ScannerStateNetworkDataSource
+) : ScannerStateRepo {
+    override suspend fun changeState(state: String, login: String) : Result<Unit> {
+        return networkDataSource.setScannerState(state, login)
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeRepo.kt b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeRepo.kt
new file mode 100644
index 0000000..c62db86
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeRepo.kt
@@ -0,0 +1,5 @@
+package ru.myitschool.work.domain.deleteEmployee
+
+interface DeleteEmployeeRepo {
+    suspend fun deleteEmployee(login : String): Result<Unit>
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeUseCase.kt
new file mode 100644
index 0000000..d2d6611
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/deleteEmployee/DeleteEmployeeUseCase.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.deleteEmployee
+
+class DeleteEmployeeUseCase(
+    private val repo: DeleteEmployeeRepo
+) {
+    suspend operator fun invoke(login : String) = repo.deleteEmployee(login)
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/door/DoorRepo.kt b/app/src/main/java/ru/myitschool/work/domain/door/open/DoorRepo.kt
similarity index 63%
rename from app/src/main/java/ru/myitschool/work/domain/door/DoorRepo.kt
rename to app/src/main/java/ru/myitschool/work/domain/door/open/DoorRepo.kt
index 8b5223e..1632e8f 100644
--- a/app/src/main/java/ru/myitschool/work/domain/door/DoorRepo.kt
+++ b/app/src/main/java/ru/myitschool/work/domain/door/open/DoorRepo.kt
@@ -1,4 +1,4 @@
-package ru.myitschool.work.domain.door
+package ru.myitschool.work.domain.door.open
 
 interface DoorRepo {
     suspend fun openDoor(code: String) : Result<Unit>
diff --git a/app/src/main/java/ru/myitschool/work/domain/door/OpenDoorUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/door/open/OpenDoorUseCase.kt
similarity index 74%
rename from app/src/main/java/ru/myitschool/work/domain/door/OpenDoorUseCase.kt
rename to app/src/main/java/ru/myitschool/work/domain/door/open/OpenDoorUseCase.kt
index 98c39c0..6a36730 100644
--- a/app/src/main/java/ru/myitschool/work/domain/door/OpenDoorUseCase.kt
+++ b/app/src/main/java/ru/myitschool/work/domain/door/open/OpenDoorUseCase.kt
@@ -1,4 +1,4 @@
-package ru.myitschool.work.domain.door
+package ru.myitschool.work.domain.door.open
 
 class OpenDoorUseCase(
    private val repo: DoorRepo
diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt
index 8192537..030e458 100644
--- a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt
+++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/AllEntranceListRepo.kt
@@ -1,6 +1,6 @@
 package ru.myitschool.work.domain.employeeEntrance.allEntrances
 
-import ru.myitschool.work.domain.entities.EmployeeEntranceEntity
+import ru.myitschool.work.entities.EmployeeEntranceEntity
 
 interface AllEntranceListRepo {
     suspend fun getList(pageNum : Int, pageSize: Int) : Result<List<EmployeeEntranceEntity>>
diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceList.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceListUseCase.kt
similarity index 83%
rename from app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceList.kt
rename to app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceListUseCase.kt
index 48351d2..6c407b6 100644
--- a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceList.kt
+++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/allEntrances/GetAllEmployeesEntranceListUseCase.kt
@@ -1,6 +1,6 @@
 package ru.myitschool.work.domain.employeeEntrance.allEntrances
 
-class GetAllEmployeesEntranceList(
+class GetAllEmployeesEntranceListUseCase(
     private val repo: AllEntranceListRepo
 ) {
     suspend operator fun invoke(pageNum : Int, pageSize: Int) = repo.getList(pageNum, pageSize)
diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt
index 5e33695..d15bb4c 100644
--- a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt
+++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/employeeEntrances/EmployeeEntranceListRepo.kt
@@ -1,6 +1,6 @@
 package ru.myitschool.work.domain.employeeEntrance.employeeEntrances
 
-import ru.myitschool.work.domain.entities.EmployeeEntranceEntity
+import ru.myitschool.work.entities.EmployeeEntranceEntity
 
 interface EmployeeEntranceListRepo {
     suspend fun getList(pageNum : Int, pageSize: Int) : Result<List<EmployeeEntranceEntity>>
diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/GetLastEntranceUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/GetLastEntranceUseCase.kt
new file mode 100644
index 0000000..ea18dd0
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/GetLastEntranceUseCase.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.employeeEntrance.lastEntrance
+
+class GetLastEntranceUseCase(
+    private val repo : LastEntranceRepo
+) {
+    suspend operator fun invoke() = repo.getLastEntrance()
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/LastEntranceRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/LastEntranceRepo.kt
new file mode 100644
index 0000000..63468f5
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/employeeEntrance/lastEntrance/LastEntranceRepo.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.employeeEntrance.lastEntrance
+
+import ru.myitschool.work.entities.EmployeeEntranceEntity
+
+interface LastEntranceRepo {
+    suspend fun getLastEntrance() : Result<EmployeeEntranceEntity>
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeList/EmployeeListRepo.kt b/app/src/main/java/ru/myitschool/work/domain/employeeList/EmployeeListRepo.kt
new file mode 100644
index 0000000..b9f114e
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/employeeList/EmployeeListRepo.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.employeeList
+
+import ru.myitschool.work.entities.EmployeeEntity
+
+interface EmployeeListRepo {
+    suspend fun getList() : Result<List<EmployeeEntity>>
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/employeeList/GetEmployeeListUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/employeeList/GetEmployeeListUseCase.kt
new file mode 100644
index 0000000..35bd974
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/employeeList/GetEmployeeListUseCase.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.employeeList
+
+class GetEmployeeListUseCase(
+    private val repo: EmployeeListRepo
+) {
+    suspend operator fun invoke() = repo.getList()
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/EmployeeEntranceEntity.kt b/app/src/main/java/ru/myitschool/work/domain/entities/EmployeeEntranceEntity.kt
deleted file mode 100644
index c131462..0000000
--- a/app/src/main/java/ru/myitschool/work/domain/entities/EmployeeEntranceEntity.kt
+++ /dev/null
@@ -1,9 +0,0 @@
-package ru.myitschool.work.domain.entities
-import java.util.Date
-
-data class EmployeeEntranceEntity(
-    val id : Int?,
-    val scanTime : Date?,
-    val readerName: String?,
-    val type: String?
-)
diff --git a/app/src/main/java/ru/myitschool/work/domain/info/GetInfoUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/info/GetInfoUseCase.kt
deleted file mode 100644
index 72760f7..0000000
--- a/app/src/main/java/ru/myitschool/work/domain/info/GetInfoUseCase.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package ru.myitschool.work.domain.info
-
-class GetInfoUseCase(
-    private val repo: InfoRepo
-) {
-    suspend operator fun invoke() = repo.getInfo()
-}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/info/InfoRepo.kt b/app/src/main/java/ru/myitschool/work/domain/info/InfoRepo.kt
deleted file mode 100644
index 39b68c6..0000000
--- a/app/src/main/java/ru/myitschool/work/domain/info/InfoRepo.kt
+++ /dev/null
@@ -1,7 +0,0 @@
-package ru.myitschool.work.domain.info
-
-import ru.myitschool.work.domain.entities.UserEntity
-
-interface InfoRepo {
-    suspend fun getInfo(): Result<UserEntity>
-}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/GetProfileUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/profile/GetProfileUseCase.kt
new file mode 100644
index 0000000..9589ca6
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/profile/GetProfileUseCase.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.profile
+
+class GetProfileUseCase(
+    private val repo: ProfileRepo
+) {
+    suspend operator fun invoke() = repo.getInfo()
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/ProfileRepo.kt b/app/src/main/java/ru/myitschool/work/domain/profile/ProfileRepo.kt
new file mode 100644
index 0000000..324b7e9
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/profile/ProfileRepo.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.profile
+
+import ru.myitschool.work.entities.EmployeeEntity
+
+interface ProfileRepo {
+    suspend fun getInfo(): Result<EmployeeEntity>
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/admin/EmployeeProfileRepo.kt b/app/src/main/java/ru/myitschool/work/domain/profile/admin/EmployeeProfileRepo.kt
new file mode 100644
index 0000000..a15a9b0
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/profile/admin/EmployeeProfileRepo.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.profile.admin
+
+import ru.myitschool.work.entities.EmployeeEntity
+
+interface EmployeeProfileRepo {
+    suspend fun getInfo(login : String): Result<EmployeeEntity>
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/profile/admin/GetEmployeeProfileUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/profile/admin/GetEmployeeProfileUseCase.kt
new file mode 100644
index 0000000..bd4d478
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/profile/admin/GetEmployeeProfileUseCase.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.profile.admin
+
+class GetEmployeeProfileUseCase(
+    private val repo : EmployeeProfileRepo
+) {
+    suspend operator fun invoke(login : String) = repo.getInfo(login)
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/ScannerStateRepo.kt b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/ScannerStateRepo.kt
new file mode 100644
index 0000000..8be93e8
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/ScannerStateRepo.kt
@@ -0,0 +1,5 @@
+package ru.myitschool.work.domain.scannerBlockState
+
+interface ScannerStateRepo {
+    suspend fun changeState(state: String, login: String) : Result<Unit>
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/SetScannerStateUseCase.kt b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/SetScannerStateUseCase.kt
new file mode 100644
index 0000000..24719f8
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/domain/scannerBlockState/SetScannerStateUseCase.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.domain.scannerBlockState
+
+class SetScannerStateUseCase(
+    private val repo: ScannerStateRepo
+) {
+    suspend operator fun invoke(state: String, login: String) = repo.changeState(state, login)
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/data/dto/UserDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeeDTO.kt
similarity index 67%
rename from app/src/main/java/ru/myitschool/work/data/dto/UserDTO.kt
rename to app/src/main/java/ru/myitschool/work/dto/EmployeeDTO.kt
index 844d6f1..5787f3d 100644
--- a/app/src/main/java/ru/myitschool/work/data/dto/UserDTO.kt
+++ b/app/src/main/java/ru/myitschool/work/dto/EmployeeDTO.kt
@@ -1,15 +1,16 @@
-package ru.myitschool.work.data.dto
+package ru.myitschool.work.dto
 
 import kotlinx.serialization.SerialName
 import kotlinx.serialization.Serializable
 
 @Serializable
-data class UserDTO(
+data class EmployeeDTO(
     @SerialName("id") val id: Long?,
     @SerialName("login") val login: String?,
     @SerialName("name") val name: String?,
     @SerialName("authority") val authority : String?,
     @SerialName("photoUrl") val photoUrl: String?,
-    @SerialName("position") val position: String?
+    @SerialName("position") val position: String?,
+    @SerialName("qrEnabled") val qrEnabled: Boolean?
 )
 
diff --git a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceDTO.kt
similarity index 92%
rename from app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceDTO.kt
rename to app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceDTO.kt
index c0bcfc1..53376ac 100644
--- a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceDTO.kt
+++ b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceDTO.kt
@@ -1,4 +1,4 @@
-package ru.myitschool.work.data.dto
+package ru.myitschool.work.dto
 
 import kotlinx.serialization.SerialName
 import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceListPagingDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceListPagingDTO.kt
similarity index 85%
rename from app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceListPagingDTO.kt
rename to app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceListPagingDTO.kt
index 26edbc1..3429c11 100644
--- a/app/src/main/java/ru/myitschool/work/data/dto/EmployeeEntranceListPagingDTO.kt
+++ b/app/src/main/java/ru/myitschool/work/dto/EmployeeEntranceListPagingDTO.kt
@@ -1,4 +1,4 @@
-package ru.myitschool.work.data.dto
+package ru.myitschool.work.dto
 
 import kotlinx.serialization.SerialName
 import kotlinx.serialization.Serializable
diff --git a/app/src/main/java/ru/myitschool/work/dto/EmployeePagingDTO.kt b/app/src/main/java/ru/myitschool/work/dto/EmployeePagingDTO.kt
new file mode 100644
index 0000000..d4639bf
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/dto/EmployeePagingDTO.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.dto
+
+import kotlinx.serialization.SerialName
+
+data class EmployeePagingDTO (
+    @SerialName("content") val content : List<EmployeeDTO>?
+)
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.kt b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntity.kt
similarity index 50%
rename from app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.kt
rename to app/src/main/java/ru/myitschool/work/entities/EmployeeEntity.kt
index 1e99a45..ec4877c 100644
--- a/app/src/main/java/ru/myitschool/work/domain/entities/UserEntity.kt
+++ b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntity.kt
@@ -1,10 +1,11 @@
-package ru.myitschool.work.domain.entities
+package ru.myitschool.work.entities
 
-data class UserEntity(
+data class EmployeeEntity(
     val id: Long,
     val login: String,
     val name: String,
     val authority: String,
     val photoUrl: String?,
-    val position: String
+    val position: String,
+    val qrEnabled: Boolean
 )
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/entities/EmployeeEntranceEntity.kt b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntranceEntity.kt
new file mode 100644
index 0000000..6231944
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/entities/EmployeeEntranceEntity.kt
@@ -0,0 +1,9 @@
+package ru.myitschool.work.entities
+import java.util.Date
+
+data class EmployeeEntranceEntity(
+    val id : Int,
+    val scanTime : Date?,
+    val readerName: String,
+    val type: String
+)
diff --git a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt
index 8d0cbf3..0f1e3c5 100644
--- a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListAdapter.kt
@@ -5,7 +5,7 @@ import android.view.ViewGroup
 import androidx.paging.PagingDataAdapter
 import androidx.recyclerview.widget.RecyclerView
 import ru.myitschool.work.databinding.ItemVisitBinding
-import ru.myitschool.work.domain.entities.EmployeeEntranceEntity
+import ru.myitschool.work.entities.EmployeeEntranceEntity
 import ru.myitschool.work.utils.dateConverter
 
 class EmployeeEntranceListAdapter : PagingDataAdapter<EmployeeEntranceEntity, EmployeeEntranceListAdapter.ViewHolder>(DiffUtil) {
diff --git a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt
index feaa7cd..454f5c8 100644
--- a/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/main/EmployeeEntranceListPagingSource.kt
@@ -2,7 +2,7 @@ package ru.myitschool.work.ui.main
 
 import androidx.paging.PagingSource
 import androidx.paging.PagingState
-import ru.myitschool.work.domain.entities.EmployeeEntranceEntity
+import ru.myitschool.work.entities.EmployeeEntranceEntity
 
 class EmployeeEntranceListPagingSource(
     private val request: suspend(pageNum: Int, pageSize: Int) ->Result<List<EmployeeEntranceEntity>>
diff --git a/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt b/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt
index 204e074..80ed4c3 100644
--- a/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/main/MainFragment.kt
@@ -15,7 +15,7 @@ import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
 import ru.myitschool.work.R
 import ru.myitschool.work.databinding.FragmentMainBinding
-import ru.myitschool.work.domain.entities.UserEntity
+import ru.myitschool.work.entities.EmployeeEntity
 import ru.myitschool.work.ui.qr.scan.QrScanDestination
 import ru.myitschool.work.utils.UserState
 import ru.myitschool.work.utils.collectWhenStarted
@@ -55,7 +55,7 @@ class MainFragment : Fragment(R.layout.fragment_main) {
                     binding.refresh.visibility = View.VISIBLE
                     binding.loading.visibility = View.GONE
                     binding.error.visibility = View.GONE
-                    showUserData(state.userEntity)
+                    showUserData(state.employeeEntity)
 
                 }
             }
@@ -102,12 +102,12 @@ class MainFragment : Fragment(R.layout.fragment_main) {
             }
 
 
-            private fun showUserData(userEntity: UserEntity) {
+            private fun showUserData(employeeEntity: EmployeeEntity) {
                 binding.apply {
-                    fullname.text = userEntity.name
-                    println(userEntity.name)
-                    position.text = userEntity.position
-                    Picasso.get().load(userEntity.photoUrl).into(photo)
+                    fullname.text = employeeEntity.name
+                    println(employeeEntity.name)
+                    position.text = employeeEntity.position
+                    Picasso.get().load(employeeEntity.photoUrl).into(photo)
 
                     error.visibility = View.GONE
                     setViewsVisibility(View.VISIBLE)
diff --git a/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt
index 7cd1e3e..ababcb0 100644
--- a/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/main/MainViewModel.kt
@@ -15,16 +15,16 @@ import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 import ru.myitschool.work.data.UserDataStoreManager
-import ru.myitschool.work.data.info.InfoNetworkDataSource
-import ru.myitschool.work.data.info.InfoRepoImpl
+import ru.myitschool.work.data.profile.ProfileNetworkDataSource
+import ru.myitschool.work.data.profile.ProfileRepoImpl
 import ru.myitschool.work.data.entrance.employeeEntrances.EmployeeEntranceListNetworkDataSource
 import ru.myitschool.work.data.entrance.employeeEntrances.EmployeeEntranceListRepoImpl
-import ru.myitschool.work.domain.info.GetInfoUseCase
+import ru.myitschool.work.domain.profile.GetProfileUseCase
 import ru.myitschool.work.domain.employeeEntrance.employeeEntrances.GetEmployeeEntranceListUseCase
 import ru.myitschool.work.utils.UserState
 
 class MainViewModel(
-    private val infoUseCase: GetInfoUseCase,
+    private val infoUseCase: GetProfileUseCase,
     private val listUseCase: GetEmployeeEntranceListUseCase,
     application: Application
 ) : AndroidViewModel(application) {
@@ -79,8 +79,8 @@ class MainViewModel(
         @Suppress("UNCHECKED_CAST")
         val Factory: ViewModelProvider.Factory = object : ViewModelProvider.Factory {
             override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T {
-                val infoRepoImpl = InfoRepoImpl(
-                    networkDataSource = InfoNetworkDataSource(
+                val profileRepoImpl = ProfileRepoImpl(
+                    networkDataSource = ProfileNetworkDataSource(
                         context = extras[ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY] as Application
                     )
                 )
@@ -90,7 +90,7 @@ class MainViewModel(
                     )
                 )
 
-                val infoUseCase = GetInfoUseCase(infoRepoImpl)
+                val infoUseCase = GetProfileUseCase(profileRepoImpl)
                 val listUseCase = GetEmployeeEntranceListUseCase(listInfoImpl)
 
                 return MainViewModel(
diff --git a/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt
index a21a426..7f35edc 100644
--- a/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/qr/result/QrResultViewModel.kt
@@ -10,9 +10,9 @@ import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
 import kotlinx.coroutines.flow.asStateFlow
 import kotlinx.coroutines.launch
-import ru.myitschool.work.data.door.DoorNetworkDataSource
-import ru.myitschool.work.data.door.DoorRepoImpl
-import ru.myitschool.work.domain.door.OpenDoorUseCase
+import ru.myitschool.work.data.door.open.DoorNetworkDataSource
+import ru.myitschool.work.data.door.open.DoorRepoImpl
+import ru.myitschool.work.domain.door.open.OpenDoorUseCase
 
 class QrResultViewModel(
     private val useCase: OpenDoorUseCase,
diff --git a/app/src/main/java/ru/myitschool/work/utils/UserState.kt b/app/src/main/java/ru/myitschool/work/utils/UserState.kt
index 81d83c3..78e6bef 100644
--- a/app/src/main/java/ru/myitschool/work/utils/UserState.kt
+++ b/app/src/main/java/ru/myitschool/work/utils/UserState.kt
@@ -1,9 +1,9 @@
 package ru.myitschool.work.utils
 
-import ru.myitschool.work.domain.entities.UserEntity
+import ru.myitschool.work.entities.EmployeeEntity
 
 sealed class UserState {
     object Loading : UserState()
-    data class Success(val userEntity: UserEntity) : UserState()
+    data class Success(val employeeEntity: EmployeeEntity) : UserState()
     object Error : UserState()
 }
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_qr_scan.xml b/app/src/main/res/layout/fragment_qr_scan.xml
index a52eb71..0630a30 100644
--- a/app/src/main/res/layout/fragment_qr_scan.xml
+++ b/app/src/main/res/layout/fragment_qr_scan.xml
@@ -27,7 +27,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_margin="16dp"
-        android:contentDescription="@string/close_button"
+        android:contentDescription="@string/close_btn"
         android:src="@drawable/ic_close"
         app:elevation="0dp"
         app:layout_constraintStart_toStartOf="parent"