Reservation Date/Time fields
You may have resources in different timezones, this article explains how to deal with those.
Configuration in Salesforce Classic
In order to keep configuration simple, please perform the following steps in Salesforce Classic (GoMeddo is Lightning-Ready, you may afterwards use the app in Salesforce Lightning as you please)
Salesforce always renders Date and DateTime fields relative to the timezone of the user that is viewing them. This means GoMeddo needs some specific fields to allow for correctly inputting and outputting reservation dates and times.
Step-by-step guide
In the GoMeddo app, navigate to the Resources tab
In the Resource hierarchy, make sure that every timezone's top node (defining the timezone of itself and its children) has the correct timezone filled in in the Timezone field. Its children will automatically be given the same timezone
Now strictly follow the following matrix for inputting and outputting reservation dates and times in either the reservation's resource's timezone or the viewing user's timezone:
Input / Output | Fields Label | Field API Name | What? | Where? | Type |
---|---|---|---|---|---|
Input on Reservation form and findAvailableDimensionIds | Start (local time) | B25__StartLocal__c | Start date & time | Resource local timezone | Date/Time |
Input on Reservation form and findAvailableDimensionIds | End (local time) | B25__EndLocal__c | End date & time | Resource local timezone | Date/Time |
Output | Local Start Date | B25__Start_Date__c | Start date | Resource local timezone | Date |
Output | Local End Date | B25__End_Date__c | End date | Resource local timezone | Date |
Output | Local Start time | B25__Local_Start_Time__c | Start time | Resource local timezone | Text(5) |
Output | Local End time | B25__Local_End_Time__c | End time | Resource local timezone | Text(5) |
Output | Local Start Datetime | B25__Start_Local_DateTime__c | Start date & time | Resource local timezone | Formula(Text) |
Output | Local End Datetime | B25__End_Local_DateTime__c | End date & time | Resource local timezone | Formula(Text) |
Output / Input through API or Process | User Start Datetime | B25__Start__c | Start date & time | Viewing user timezone | Date/Time |
Output / Input through API or Process | User End Datetime | B25__End__c | End date & time | Viewing user timezone | Date/Time |
Example
The following screenshots display a real-world example based on a resource in London (GMT) and a user in Amsterdam (GMT+1)
Timezones
The calendar displays resources in its own timezone. Even if there are two resources shown in the calendar with different timezones, this will display the reservations in these resources in respect of that resource's timezone. The calendar does not automatically adjust itself based on the user-selected Locale and Timezone.
For Example, if you have two resources, Resource One in (GMT+01:00) Central European Standard Time (Europe/Amsterdam) and Resource Two in (GMT+00:00) Greenwich Mean Time (Europe/London) dragging a reservation with start-time 15:00 from Resource One to Resource Two will result in the local time not being changed, the GMT times will be changed.
Related articles