If you ever have your service staff complain that they receive an error when trying to change the status for a work order booking it may be due to a booking status has been made inactive by a user.
This will be the result of an inactive status being selected.
The easy solution to this without any coding is to create a real time workflow on the Booking Status entity and prevent a status change to inactive. As we never want a Booking Status to be inactive we don’t need to check which users so we can apply to the rule to all users. Create a real time workflow on the Booking Status entity and set it run on “Record status changes”. As it’s a real time (synchronous) workflow it will prevent the save completing leaving the record in it’s active state.
Add a check condition “If Booking Status:Status equals [Inactive]”
Then add “Stop workflow with status of: Canceled”
Select view properties to add the message you want users to see.
When any user accidentally deactivates a Booking Status they will get the error as shown below and the save will be cancelled leaving the record Active.
This simple logic can be applied to any entity such as Accounts that have active cases and you can also apply to only certain users using a Boolean field on the user or possibly via there role.