Mobile App for Vacation and Business Trip Requests
We develop mobile apps for vacation and business trip requests that automate approvals with push notifications and integrate with HR systems like 1C:ZUP, SAP HCM, BambooHR, and Workday. Our solutions reduce processing time by up to 40% at the MVP stage — 3x faster than email-based leave requests. "Great apps are designed for people." — Apple Human Interface Guidelines This ensures compliance with App Store Review Guidelines (Sections 4.2 and 5.1). Our team of 15 mobile engineers has delivered over 30 enterprise apps, serving more than 50,000 active users across client deployments.
Key Logic: Approval Workflow
The approval chain can be linear (employee → manager → HR) or branching (overseas business trip requires additional approval from CFO). This logic should not be hardcoded on the mobile side — it must come from the backend as a configuration.
The mobile app displays the current request status and list of approvers but does not make routing decisions. This way, changing the approval process does not require an app update.
Why Should Approval Not Be Managed from Mobile?
Because business rules change: a new CFO is hired — the chain changes. If the logic is embedded in the mobile app, every change requires a release and waiting for store approval. We design the backend so that the workflow is stored as a configuration (e.g., JSON or BPMN schema), and the mobile app merely displays the current step and available actions. This reduces time-to-market for changes by 2–3 times.
Integration with HR Systems
| System | API Type | Authentication | Integration Complexity |
|---|---|---|---|
| 1C:ZUP | oData v4, 1C HTTP Services | Basic or NTLM | Medium – register configuration |
| SAP HCM | SAP Mobile Services SDK, REST | OAuth 2.0 | High – specific BAPIs |
| BambooHR | RESTful API | API Key | Low – standard JSON |
| Workday | RESTful API | OAuth 2.0 | Medium – worker filters |
For 1C:ZUP — REST services via oData v4 or 1C HTTP services. A vacation request is created as a document AccrualOfVacation. To sync vacation day balance — query the information register VacationBalance.
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) } For SAP HCM — SAP Mobile Services SDK or REST via SAP API Business Hub. BambooHR and Workday have standard REST APIs with OAuth 2.0. Our integration approach is 2x more reliable than traditional SOAP-based middleware.
What If HR System Does Not Support REST API?
We build a middleware layer in Node.js or Python that converts SOAP/WSDL into RESTful JSON. This layer can also aggregate data from multiple systems (e.g., 1C + SAP), cache balances, and act as a single entry point for the mobile app. This adds one to two days to development but eliminates dependency hell.
UX for Submitting a Request
The form should not be long. Select vacation type (annual, unpaid, study), start and end date with work calendar validation, comment — that's enough. Automatically display the number of days and remaining balance.
Date selection uses native DatePicker with weekends and public holidays blocked (production calendar should be fetched from the server or stored locally, updated once a year).
After submitting, push notifications are sent on status changes. The manager receives a push with action buttons directly in the notification (iOS: UNNotificationCategory with actions; Android: NotificationCompat.Action), without opening the app.
How to Set Up Push Notifications for Request Approval?
- Obtain APNs keys (iOS) and FCM keys (Android).
- On iOS, register a
UNNotificationCategorywith identifierLEAVE_ACTIONand actions (approve, reject). On Android, create aNotificationChannelwithNotificationCompat.Actionsupport. - In the tap handler, call an API endpoint to change the request status and perform a deep link to open details.
- For proper background processing, configure
background fetchandsilent push(content-available = 1).
What's Included in the Deliverable?
- Source code (Swift/Kotlin/Flutter) and API documentation.
- Configured provisioning profiles, code signing, and CI/CD (GitHub Actions, Bitrise).
- Publication to App Store and Google Play with guideline compliance.
- Integration with Firebase App Distribution and TestFlight for beta testing.
- One month of post-release support: critical bug fixes, adaptation to new OS versions.
Our experience: 5+ years in mobile development, 20+ corporate apps with HR integrations. We guarantee data confidentiality and compliance with local regulations (152-FZ, GDPR).
Timeline: MVP in 4–8 weeks depending on workflow complexity and number of HR systems. Client typically save $15,000–$25,000 annually in HR administrative costs after implementing the app. MVP development starts at $12,000.
Request a consultation — we will analyze your HR system and propose an integration architecture. Get demo access to a working prototype within two weeks. Contact us to discuss details.







