Stealing from this answer.
Validation rules aren't really meant to do what you're looking to do.
Preventing certain fields from being edited is easy. The inverse of
that, allowing certain fields to be edited, is hard
In the end, the only way to achieve what you want in a validation rule is to check that no other fields, besides the 3 you allow to be edited,...
The AND logical function is described as this:
Returns a TRUE response if all values are true; returns a FALSE
response if one or more values are false.
The logic operators and functions in Salesforce formulas (and thus validation rules) are similar to Reverse Polish Notation in math: The operator comes first, then you comma-separate everything that the ...
Simple arithmetic operators work when comparing a Date/Time to a Date/Time.
You must do conversions or other operations to extract the parts you need if you want to compare Date to Date/Time.
This Validation Rule: CheckOut_Time__c <= CheckIn_Time__c
Resulted in this: