# Leave Control App

The **Leave Control App** is a sample application designed to demonstrate how ONEWEB can be used to **create, manage, and control leave requests** within an organization.

This application covers the complete lifecycle of a leave request, starting from submission by an employee, progressing through approval workflows, and ending with final processing. It showcases how business processes and user interfaces can be seamlessly integrated within the ONEWEB platform.

***

### Purpose of the Leave Control App

The Leave Control App is intended to help users understand how to:

* Build a **process‑driven application** using ONEWEB
* Design approval workflows involving multiple participants
* Manage parallel actions and approvals
* Create user‑friendly screens for leave request submission and review
* Link UI actions directly to process execution

This example reflects a **common enterprise HR use case** and can be adapted for real‑world leave management scenarios.

***

### Application Overview

In the Leave Control App:

* Employees submit leave requests using web‑based forms
* Requests enter an approval workflow
* Multiple approvers may review or approve requests simultaneously
* The workflow completes once all required approvals are obtained

Business rules and process flow are handled by **Process Designer**, while screen layout and user interaction are handled by **App Designer**.

***

### ONEWEB Features Used

The Leave Control App demonstrates key features from both **Process Designer** and **App Designer**.

***

#### Process Designer

The following Process Designer components are used to model the leave request workflow:

* **Start / End Events**\
  Define the beginning and completion of the leave request process.
* **Human Activities**\
  Represent tasks performed by users, such as submitting or approving leave requests.
* **Parallel Gateway**\
  Enables multiple approval steps to occur in parallel, ensuring flexibility and efficiency in approval workflows.

These components illustrate how ONEWEB supports structured, role‑based business processes.

***

#### App Designer

The App Designer is used to create all user‑facing screens, including:

* **Normal Input Fields**\
  For capturing leave details such as dates, reason, and duration.
* **Dynamic List Fields**\
  For selectable values such as leave type or approver lists.
* **Dependency Tabs**\
  To group related information and control screen visibility based on context.
* **Process Buttons**\
  To trigger workflow actions such as submit or approve, directly linking UI actions to Process Designer flows.

Together, these features demonstrate how App Designer enables rapid creation of interactive, process‑aware application screens.

***

### What You Will Learn

By following the Leave Control App tutorial, you will learn how to:

* Create a leave request workflow using Process Designer
* Configure parallel approval logic
* Design and link screens using App Designer
* Connect user actions to process execution using Process Buttons
* Build a complete end‑to‑end leave management application

***

### Summary

The **Leave Control App** serves as a practical example of how ONEWEB can be used to build **process‑centric enterprise applications**.

It highlights:

* Integration between UI and workflow
* Role‑based human activities
* Parallel decision‑making
* A real‑world HR use case

In the following sections, this tutorial will guide you step‑by‑step through creating the **Leave Control App**, covering both **Process Designer** and **App Designer** configurations.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onewebstack.com/oneweb-platform-th/tutorials-examples/leave-control-app.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
