I think you have experience with schedule board in D365 CRM. If you need to create a booking rule, there are so many articles that you can fallow. Here is the link for MSDN article.
https://docs.microsoft.com/en-us/dynamics365/field-service/set-up-booking-rules
So, I'm not going to describe how to create a booking rule here. But I'm going to explain a limitation I faced and a workaround for that limitation.
I created a booking rule and noticed that booking rule is working only in hourly view. Hence I contacted Microsoft and below is their response.
"The booking rule only works in Schedule Board Hourly view, we have a plan to implement it for Daily, Weekly and Monthly view but those changes most probably will be available after those views will be re-designed."
Microsoft is currently redesigning the Schedule Board and we won't get this available soon.
Hence, below is my workaround for this.
Workaround :
Instead of using the Javascript as booking rule functionality, you can use a plugin on the create message of Bookable Resource Booking, my recommendation is to use the pre-validation or pre-operation phase in order to avoid sending the transaction to the DB, ideally the pre-validation is better.
By using the workaround:
Booking rule works in all the views and it shows a nice error message in all the views.
https://docs.microsoft.com/en-us/dynamics365/field-service/set-up-booking-rules
So, I'm not going to describe how to create a booking rule here. But I'm going to explain a limitation I faced and a workaround for that limitation.
I created a booking rule and noticed that booking rule is working only in hourly view. Hence I contacted Microsoft and below is their response.
"The booking rule only works in Schedule Board Hourly view, we have a plan to implement it for Daily, Weekly and Monthly view but those changes most probably will be available after those views will be re-designed."
Microsoft is currently redesigning the Schedule Board and we won't get this available soon.
Hence, below is my workaround for this.
Workaround :
Instead of using the Javascript as booking rule functionality, you can use a plugin on the create message of Bookable Resource Booking, my recommendation is to use the pre-validation or pre-operation phase in order to avoid sending the transaction to the DB, ideally the pre-validation is better.
By using the workaround:
Booking rule works in all the views and it shows a nice error message in all the views.
- In all other views, except in hourly view, it shows the error message as below(This is the main advantage).
- In hourly view, it shows the error message by suing the popup which is used in OOB booking rules. There is a drawback in hourly view, that the error message is not nice as in OOB booking rules. Hence I have proposed a solution for this under "Extend Solution" below.
- It gives only the errors and does not have the ability to give warnings and allow to do the booking with warnings.
By using the OOB booking rules:
- Main drawback is that this works only in hourly view.
- The biggest advantage is that this gives a nice error message as well as it gives the opportunity to create the records with warnings.
- Errors
- Warnings - Allows to continue and do the booking or cancel.
Extended Solution :
Use both OOB booking rules and Pre-Validation plugin in bookable resource booking create.
- Since the OOB booking rules uses JavaScript and JavaScript fires first, it gives you the nice error message in hourly view instead of the error message view have explained earlier. In other views it works with the plugin and gives the error message as I described earlier.
- In hourly view, you get an extra ability to use the warning feature.
Have fun with booking rules๐