Hey Power Apps community!
I'm trying to create a simple dock booking app that requires four fields:
Contact Name
Contact Company
Dock #
Dock Reservation Time
Essentially, when a Dock # and Reservation Time have been chosen and submitted with a Contact Name and Company, I would like that Dock Reservation Time tied to that Dock # to no longer be available for other users to reserve -to prevent double booking.
I am using CDS as I'm trying to make this an external website booking platform which my clients can use, but have not been able to find an explanation on how to do so. Any help would be much appreciated!
Thanks in advance!
Solved! Go to Solution.
Hi @Anonymous,
Thanks for clarifying. It depends how sophisticated you want the solution. There are out-of-the-box options like Universal Resource Scheduling (https://docs.microsoft.com/en-us/dynamics365/common-scheduler/schedule-anything-with-universal-resource-scheduling) but that doesn't come with basic CDS, you'll need additional licensing.
If you want a quick and dirty way, using an alternate key https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/define-alternate-keys-entity) should work. Create a key on both the Dock # and Dock Time. If someone else tries enter the same # and time, you'll get an error similar to following image. On the Portal, you'll need to set a custom error message more user friendly to your end users.
Hope this helps!
Hi @Anonymous,
CDS is typically your backend system for your internal users. You can definitely expose functionality and forms to external user with Power Apps Portal where external users can login (or not) and submit request, inquiries, etc into CDS. Power Apps Portal is installed on top of CDS and is a no code/low code solution where you can rapidly build forms for external users. Here's some Microsoft documentation on Portals:
What is Portals: https://docs.microsoft.com/en-us/powerapps/maker/portals/overview
Create a Portal: https://docs.microsoft.com/en-us/powerapps/maker/portals/create-portal
Hope this helps!
Thanks for the info @EricRegnier
I already have created a form using CDS as per attached, but am trying to create some logic to prevent double reservations.
The logic would be to tie the Dock# to the Dock Time and then remove that time option from appearing in the form when some else has chosen it. Any ideas?
Appreciate it!
-David
Hi @Anonymous,
Thanks for clarifying. It depends how sophisticated you want the solution. There are out-of-the-box options like Universal Resource Scheduling (https://docs.microsoft.com/en-us/dynamics365/common-scheduler/schedule-anything-with-universal-resource-scheduling) but that doesn't come with basic CDS, you'll need additional licensing.
If you want a quick and dirty way, using an alternate key https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/define-alternate-keys-entity) should work. Create a key on both the Dock # and Dock Time. If someone else tries enter the same # and time, you'll get an error similar to following image. On the Portal, you'll need to set a custom error message more user friendly to your end users.
Hope this helps!
Appreciate the help @EricRegnier !
Was hopeful Power Apps Portal would allow me to do the above mentioned in a pretty straight forward manner, worth the cost of upgrading to CDS, but that doesn't appear to be the case.
I am trying to migrate our internal and external processes into the Office platform as much as possible, but think I'm better off with a 3rd party form app and attaching a flow to the data it collect to bring it in instead. I require file upload as well which is something the Forms app won't allow with outside users.
Thanks again for explaining it! Sadly, it's a bit out of my scope/budget.
User | Count |
---|---|
19 | |
11 | |
8 | |
5 | |
5 |
User | Count |
---|---|
31 | |
31 | |
16 | |
12 | |
7 |