Who doesn't love time off work? I certainly do! Let's build an app that makes getting time off a breeze. We have a rough idea of what we want, but will add features as we go.

I intend to develop a simple easy to use app to ease the process of applying for leave. In many organizations, one has to fill paper forms, get them signed by the relevant authorities and file same with HR before proceeding for leave. The process can take days and might involve travelling. We can do better!

What we want

Here is a summary of the features we want in no particular order:

  • A user should be able to apply for leave in less than 1 minute
  • The user should see his leave balance upon logging in
  • The user should find it convenient to start the leave application process
  • The user will need to specify a colleague who will be handling his duties in his absence
  • The selected colleague must accept to stand in
  • Upon submission the applicant, the reliever, the applicants manager and HR should be alerted via email
  • The colleague to stand in should receive an email requesting his response
  • The email will contain a link a screen for submitting a response
  • The colleague should have an option to accept or decline
  • Where the colleague declines, reason for declining must be given
  • The colleagues response will be communicated to the applicant, the supervisor and HR
  • If the colleagues response is positive, the request will be instantly routed to the applicants manager for his approval
  • The email will contain a link to where the manager can give a response
  • If the manager chooses to decline, a reason must be provided
  • The managers response will be communicated to all parties
  • If the manager approves, the applicant should receive a congratulatory message detailing resumption date and information on what to do if he is recalled for an emergency, or if he decides to cancel the leave request

Designs

Here are the essential screen designs for the leave app.

Signed in users home page - each box represents a type of leave the numbers show the current balance prominently
Leave application form
Preview form - user can correct mistakes via Edit button. If everything is OK, they can proceed to Submit
Application confirmation screen
My Leave applications page is a listing of all my leave applications. There are rules governing the visibility and usability of each action button. E.g Edit is possible if approval process has not commenced, Delete is available only if the Leave start date is yet future, Cancel is for terminating a leave that has already commenced, to be used if your leave is cut short. Resume used to indicate that you are back from leave.
The reliever and the manager use this screen to respond to the leave request. When they click the decline button, they will be asked for the rationale

Now that we have a fair idea of what the app will do and what it should look like, we will commence development. This will be discussed in the next article