Walkup Schedule Appointment booking slots are not getting updated as per timezone

Akansha Gupta
Mega Sage

Hi All,

 

we have got a requirement where we need to show the schedule appointment slots as per end user timezone.

Example : If Indian(IST) user login, it would show booking slots as 9AM -10AM and for London user it should show 4:30 AM-5:30 PM.

 

After doing the required configuration, the timezone is getting updated on the booking pop-up window but timings remain same:

 

AkanshaGupta_1-1752242679532.png

 

 

AkanshaGupta_0-1752242616872.png

  

AkanshaGupta_2-1752242735361.png

 

Can someone please help me in understanding how to achieve it? 

 

Thanks

Akansha Gupta 

 

 

11 REPLIES 11

Hi @GlideFather - thanks for your time on this!

I removed timezone from the location as the requirement is that the slots should be available as per the user timezone (not as per Location).

 

We are trying to set up a virtual kiosk to support all users (from any region).  So, we need to show the appointment slot as per user time zone.

And if the Location had any related timezone, did it work correctly?

Please try to associate a timezone with a Location, then it will be recalculated to user's selected time zone accordingly.

———
/* If my response wasn’t a total disaster ↙️ drop a Kudos or Accept as Solution ↘️ Cheers! */


@Akansha Gupta hi, have you tried to adjust the location's timezone?

———
/* If my response wasn’t a total disaster ↙️ drop a Kudos or Accept as Solution ↘️ Cheers! */


@GlideFather - On selecting specific timezone on Location, it is working as per selected timezone.  But as we need to show appointment booking slots as per user timezone,  I removed timezone from Location so it can pick timezone as per user's profile.

JessicaLanR
Kilo Guru

To address the issue where the timezone updates correctly on the booking pop-up, but the time slots remain the same, you need to ensure that the appointment times are being dynamically converted based on th user’s timezone, not just displayed in UTC.

First, verify how the slots are generated. If they are created as static times or based on a UTC schedule, they must be converted before being displayed. You can use GlideDateTime and gs.getUser().getTimeZone() to format the time according to the logged-in user's timezone. For example:

 

 
var gdt = new GlideDateTime("2024-07-11 09:00:00"); gdt.setTZ(gs.getUser().getTimeZone()); var displayTime = gdt.getDisplayValue();
 

Also, review the calendar configuration (if using the Appointment Booking plugin) to confirm that it is set to dynamically respect user timezones.

If the slots are shown on a Service Portal widget, consider using client-side JavaScript to adjust them based on the browser’s timezone using toLocaleString().

If this helps resolve your issue, please consider marking the post as solved so others can benefit too.