Розробка мобільного додатку для заявок на відпустку/командування
Заявки на відпустку та командування — одна з найчастіших задач для корпоративних мобільних додатків. Працівник подає заявку, керівник затверджує, HR відображає у облікавій системі. Технічно просто, але дьявол у інтеграціях: 1С:ЗУП, SAP HCM, BambooHR, Workday — у кожної своя API та своя логіка затвердження.
Ключова логіка: процес затвердження
Ланцюжок затвердження може бути лінійний (працівник → керівник → HR) або розгалужений (командування за кордон → додаткове затвердження від CFO). Не кодуйте цю логіку на мобільному — вона повинна приходити з backend як конфігурація.
Мобільний додаток показує поточний статус заявки та список затверджувачів, але не приймає рішення про маршрут. Так зміна процесу затвердження не вимагає оновлення додатку.
Інтеграція з HR-системами
Для 1С:ЗУП — REST-сервіси через oData v4 або HTTP-сервіси 1С. Заявка на відпустку створюється як документ ВідпусткаНарахування. Для синхронізації баланса днів відпустки — запит до реєстру ОстатокОтпуска.
suspend fun getRemainingVacationDays(employeeId: String): VacationBalance {
val response = hrApiClient.get("/odata/standard.odata/InformationRegister_ОстатокОтпуска") {
parameter("\$filter", "Сотрудник_Key eq guid'$employeeId'")
parameter("\$select", "ВидОтпуска,КоличествоДней")
}
return VacationBalance.fromODataResponse(response)
}
Для SAP HCM — SAP Mobile Services SDK або REST через SAP API Business Hub. BambooHR та Workday мають стандартні REST API з OAuth 2.0.
UX для подачі заявки
Форма не повинна бути довгою. Вибір типу відпустки (щорічна, без утримання, навчальна), дата початку та завершення з перевіркою робочого календаря, коментар — цього достатньо. Автоматично показуємо кількість днів та залишок балансу.
Вибір дат — нативні DatePicker з блокуванням вихідних та святків (виробничий календар завантажуємо з сервера або зберігаємо локально, оновлюємо раз на рік).
Після подачі заявки — push-сповіщення при зміні статусу. Керівник отримує push з кнопками дій прямо у сповіщенні (iOS: UNNotificationCategory з actions; Android: NotificationCompat.Action), без необхідності відкривати додаток.
Розробка MVP-додатку для заявок (відпустка + командування + затвердження + інтеграція з однією HR-системою) — 4–8 тижнів. Вартість розраховується індивідуально.







