Build a Booking Requests App with PowerApps
Published Mar 13 2023 12:00 AM 4,946 Views
Copper Contributor



This is part of the Let's Build Together: LowCode Edition show where you learn how you can use applications and services in Power Platform to accelerate digital transformation of business processes.


This show is designed to walk you through how to build End to End solutions using Microsoft Power Apps, automate their processes with Microsoft Power Automate in a span of just 2 weeks. Power Platform skills will open doors for you in your career. Join and complete the Let's Build Together Cloud Skills Challenge 

Use Case Project – Booking Requests App



Watch Live Practical Guide on-demand

Solution Considerations before development

Before you build an application, you should have some thought and break down what you want to do before building. This process is often called "Solution Architecting". While we will not be taking a lot of time doing this, I would like to introduce you to the basics of it.


In our session case we will look at:



Business Rules

  1. The employee must provide the Start Date, End Date, Course Name, Employee Email and Name (These are automatically picked up based on the signed in user) to submit a booking request.
  2. New Booking Requests should default to a status of Not Actioned until a manager reviews it
  3. Employees can view all the Not Actioned but cannot change the status of their request
  4. Employees are not allowed to add/change request comments
  5. The requestor email and name are only visible to the Admin
  6. Employees can only view their own requests and not of other employees
  7. Requestor/Employee name and email are automatically filled in
  8. Employees can only view their own requests and not of other employees

PowerFx Formula – Per business Rule

  1. For Requestor name
    - Set Default Property - If(EditForm1.Mode = New, varUser.FullName, ThisItem.'Requestor Name')
    - Set DisplayMode property – DisplayMode.Disabled
    - Set Visible Property - (If(LookUp(Contacts, Email = varUser.Email, Department)="Admin",true,false))
  2. For Requestor Email
    - Set Default Property - If(EditForm1.Mode = New, varUser.Email, ThisItem.'Requestor Email')
    - Set DisplayMode Property – DisplayMode.Disabled
    - Set Visible Property - (If(LookUp(Contacts, Email = varUser.Email, Department)="Admin",true,false))
  3. For Request Status
    - Set Visible Property – false
  4. For Comments
    - DisplayMode Property – DisplayMode.Disbaled
  5. For currently signed in user 
    - On App Start – Set(varUser, User())
  6. For BrowseGallery1 – BrowseScreen
    - Items Property - Filter(TableName, 'Requestor Email' = varUser.Email)


We want to hear from you based on your learning experience through the series. Your feedback will help us to improve your experience with the Power Platform Products. Click here to drop your feedback




Version history
Last update:
‎Mar 12 2023 02:49 PM
Updated by: