The Drag and Drop feature on the Staff Calendar can be enabled or disabled globally from the Settings Tab. Some companies want to restrict certain Users from being able to Drag and Drop on the Calendar and change Appointment Dates and Times.
In order to block the Drag and Drop feature for a specific User's Profile, you'll need to use a Validation Rule on the Appointment Object.
Keep in mind, this will affect ALL Users with the same Profile.
First, you'll need to capture the Profile ID you'd like to prevent from using Drag and Drop.
Go to Setup > Administration Setup > Manage Users > Profiles
In the URL, capture the Salesforce record ID for the Profile:
Below is an example of a validation rule that prevents Users with this specific Profile ID from being able to change the Appointment Date or Time. NOTE: In addition to preventing Drag and Drop on the Calendar, this also prevents these Users from Editing an Appointment Date and Time, once the Appointment has been Set.
$User.ProfileId = "00e3l000001GGgm"
i360__Appt_Set_On__c < TODAY()
OR( ISCHANGED( i360__Start__c ),
ISCHANGED( i360__Start_Time__c ))
To add a Validation Rule to your Appointment object, go to Setup
Create > Objects > Appointment > Hover over the Validation Rules related list and click the New button.