This module is used to record list of leaves requested by the employees of a company. If employees are entitled with different leave types, then they can request by navigating to 'Leave' available on the left sidebar. When clicked, it shows all the leaves requested by that employee with their status. To request a leave, employee can click on the 'Request' button on the top right corner of the leave list table.

Attached images shows the leave request form, which is to be completed by the employee.

Field Description:

Leave TypeYesDropdownList populated from already added leave types in configuration module.
From DateYes
DateDate from which leave is to be applied.
To DateYes
'Date to' which leave is to be applied (Must be greater than 'from date').
RemarksOptionalMulti-line TextboxDescription of the leave request.

On submitting this form, if requested leave type is balanced in employee's account, leave request is submitted. 

Lets assume that an employee is entitled with 5 Casual Leaves during a contract & he has already used 3 of them. But if when he again requests for 3 more casual leaves, then system will throw an error that employee doesn't have enough casual leave to request. Therefore, he can only request for 2 or less than 2 casual leaves by this request form. Also leave request duration cannot be overlapped, i.e. if leave is applied between 1 Jul 16 to 5 Jul 16, then another leave cannot be requested between these days.

Click on the 'Request button' to submit the leave request. Then, leave request table shows 'Pending' status to that leave request. Top designation employee gets a notification about this leave request and he has the authority to  approve/reject the leave requested by his subordinate employee.

Top designation employee can update the leave status and also can put his remarks in 'Update Status' form. Once this leave status is approved or rejected, employee who has requested for that leave gets the notification. If the leave is approved, then attendance record displays the status as 'Leave', else displays the status as 'Absent.