Hello Gianluca, unfortunately email cannot be an optional field as it's the only evidence that a user is unique. By using the email the app can aggregate appointment information for each customer and help admins handle their own customer info.
There is a "quick & dirty" workaround though which can be applied in order to remove these fields from the mandatory list:
1. Remove the "required" attributes from the view files
2. Set empty email values to "
empty-{timestamp}@example.org" in appointments and backend controller callbacks (this way models will continue working without issues).
3. Adjust email validation in JS files so that they also accept empty emails.
I hope I haven't forgot any step but post in this thread if something else breaks :)