Vacation Request Form
An app for employees to request time off and for HR reps to approve and track it.
Function: Human Resources
The Vacation Request Form allows employees to request time off and HR to approve or deny it. The scenario is HR would build two almost identical apps: one for employees that only contains the form, and one for HR reps that includes both the form and past submitted data. Only HR should be able to see the full list of requested time off for the year. When an employee requests time off, HR will receive an email with the information. HR can then approve or deny time off, upon which the employee in question will receive an email update. The app you're seeing is HR's version. In order to build the employee version, just copy this app and remove the data view in the hamburger menu.
Also see: tablet mode & fullscreen mode
This is a high-level model of both the data entities and the UI elements in the app.
This is a preview of the data sets used in the app.
How we built this app
We built this app with Google Sheets in a few simple steps. 1. We created eight columns, starting with Timestamp to show when the time off was requested. Following are Employee, Start date, End date, Duration (over which we applied a formula in the spreadsheet that subtracts the start date from the end date), Vacation start, Employee email, and Approved?. 2. After creating an app using the Google Sheets add-on, we created two views: a form view called "Request" where employees will fill out their requests; and a table view (in the hamburger menu) called "Requests", where HR reps can view, approve/deny, and track time off requested. The employee app would simply not contain the table view with the submitted data. 3. The spreadsheet contains a column called "Approved?" that allows HR reps to manually go into the app and approve or deny requests. However, we would not want employees to see this column in the form. In order to accomplish this, we created a slice that did not include the "Approved?" column in the form view, but left it in the table view that's available to HR. When HR decides to approve or deny, they'll go into the "Requests" table view in the hamburger menu, open an entry to edit it, and manually mark Y or N. 4. We built a couple of workflow rules to ensure everyone knows to check the app when data updates have been made. The first workflow rule called "New Vacation Request" sends an email to HR reps when an employee has added a vacation request. When HR has marked the request either approved or denied, the "Approved/Denied" rule sends an email to the employee in question to the "Employee email" they filled out in the form.