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().