I have created a booking rule using the example provide by MS documentation (https://docs.microsoft.com/en-us/dynamics365/field-service/set-up-booking-rules) and it works well in the browser.
I created an App for field technicians to use with their PC / tablet app (client software that is not a browser running as a windows client) (https://www.microsoft.com/en-us/p/microsoft-dynamics-365/9nblggh4rfqp?activetab=pivot:regionofsystemrequirementstab) because it was easier for technicians to use than the Resco mobile client, and it can capture pictures in the notes.
When the technician changes their booking status to traveling and tries to open the work order, the app tries to fire the booking rule and gets an error "Invalid data in Booking Rule ...Rule was skipped".
The D365 app from the Google app store does not have this problem.
I think you may have to debug your booking rule while on the mobile app and see whats happening.
community.dynamics.com/.../debug-script-on-tablet-mobile-application
I'm surprised that techs prefer this app over the standard FS App. Do they not require offline?
Anyway, what's your scenario? Are the techs using the schedule board in your app? And what does the booking rule do?
Offline was not a requirement. The technicians will not be using the schedule board, just the dispatcher. The tech needs to update the status of the booking (traveling, etc) and complete the work on the work order, potentially capturing pictures along the way.
The purpose of the booking rule is to check for inventory on hand before allowing a work order to be scheduled. If there was inadequate inventory, then it would prevent the w/o from being scheduled and flag it for inventory hold. I am going to give Thomas Dayman's suggestion a try.
The booking rule is meant to present a warning or an error to the dispatcher on the hourly board, hence I don't know why this is supposed to run on the tech's client.
Thanks Thomas, that article led me to some documentation that gave an example of conditionally executing code depending on the client: docs.microsoft.com/.../dn481572(v=crm.8)
I got the booking rule to stop throwing an error on the mobile client by replacing the reference to Xrm.Page (which is in the sample documentation for using booking rules) with an updated Xrm.Utility as described here: docs.microsoft.com/.../getclienturl
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Pallavi Phade as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
MVP-Daniyal Khaleel 48
Tom_Gioielli 44 Super User 2025 Season 2
mk1329 16