The way it seems to work is that all it does is display timestamp attribute values in the local time. That's it! CURRENT_TIMESTAMP function does not change to reflect the local time. I think that is totally wrong.
So in your example the user in Germany books an appointment for 10am. He brings up the calendar and it displays the current date and time as what is set on your server, 9am! For a start thats confusing to him. He selects 10am as his appointment time. The appointment is added and stored in the db as 10am. Good. But when he now views it, it shows him that it is booked for 11am as it adjusts the displayed time for his timezone!!! So now the guy thinks that he has an appointment at 11am!
The person in the US again would have the time adjusted by their GMT!
Also if you have an audit attribute which is set to CURRENT_TIMESTAMP so you know when the appointment was added it would be stored in the db as 9am, as the server time is used for the CURRENT_TIMESTAMP and so is not adjusted. But then that time as its a timestamp is displayed in his local time so it ends up being correct.
I think its totally unusable as it stands and don't understand why it works this way. I would have thought that you just change the CURRENT Timestamp AND DATE functions so that a user can work with them in their local time zone. Also any processes that use these CURRENT date time functions would work correctly if for example you were trying to display late actions or to do lists etc. If you have a query displayed as a calendar the current day which is highlighted is the day determined by your server.
But I've been hoping that support would come forth with why they did not change the CURRENT functions to reflect local time zones and decided instead to display/adjust ALL timestamp attributes in the local time.
I've misunderstood things before so this would not be the first time if I indeed have it wrong. But to me as it stands it is not only unusable it's wrong.
Cheers Rod