CustomizationAdvanced

Timezones

How the widget renders slot times, and what the timezone selector actually does.

Slot times come back from the API in IST (Asia/Kolkata, UTC+05:30), and the widget treats IST as the source zone for every conversion it does.

The timezone selector

A timezone dropdown sits directly below the calendar, on every booking — it isn't limited to online consultations. The dropdown covers the full global list of zones, including fractional offsets like UTC+05:30 and UTC+05:45.

It's preselected from the patient's detected location, falling back to Asia/Kolkata. So a patient in London typically sees slots already converted to their own time, without touching the control. Whatever zone is selected, the widget converts each slot from IST into it for display.

Display only

Changing the selector affects what the patient reads on screen. The booking itself is still made against the clinic's actual slot — you're changing the presentation, not the appointment time.

Currency follows location

On load, the displayed currency is derived from the patient's detected country. After that, manually switching to a timezone outside India also switches the currency to USD (and back to INR for an Indian zone).

Worth knowing if you're testing from a non-Indian location and wondering why prices aren't in rupees — the fee itself hasn't changed, only how it's shown.

Daylight saving

Conversion uses the browser's own Intl timezone database, so DST is applied correctly for whichever zone the patient selects — including zones that were mid-transition on the chosen date.

Past slots

For today's date the widget filters out slots that have already passed, so a patient can't book a 9:00 AM slot at 2:00 PM.

If your clinic isn't on IST

Because IST is the assumed source zone, a workspace operating in another timezone needs its slot data to account for that server-side. If your slot times display with a consistent offset, raise it with the platform team rather than trying to correct it from the widget config — there is no timezone option in init().

On this page