Dates & Timezones
Timezones
Date/timestamp columns are not standardized across tables — some are UTC, some are Eastern European time (Digitail's primary operating timezone), some are already converted to the clinic's local timezone. Always check this table before filtering or grouping by date.
Code | Meaning |
|---|---|
UTC | Coordinated Universal Time |
EEDT | Eastern European Daylight Time |
LOCAL | Clinic local timezone |
Table.Column | UTC | EEDT | LOCAL |
|---|---|---|---|
sale.created_at | | ✓ | |
sale.updated_at | | ✓ | |
sale.deleted_at | | ✓ | |
sale.taxable_at | ✓ | | |
sold_service_packages.created_at | | ✓ | |
sold_service_packages.updated_at | | ✓ | |
sold_service_packages.deleted_at | | ✓ | |
treatments.created_at | | ✓ | |
treatments.updated_at | | ✓ | |
treatments.deleted_at | | ✓ | |
charges.date | | ✓ | ✓ |
charges.made_at | ✓ | | |
charges.created_at | | ✓ | |
charges.updated_at | | ✓ | |
charges.deleted_at | | ✓ | |
payments.created_at | | ✓ | |
payments.updated_at | | ✓ | |
payments.deleted_at | | ✓ | |
appointment.datetime | | | ✓ |
new_file_cases.opened_at / .closed_at | | ✓ | |
reception_notes.date / .due_date / .doc_date | | ✓ | |
custom_events.datetime_start / .datetime_end | | | ✓ |
custom_events.datetime_start_utc / .datetime_end_utc | ✓ | | |
reminder_protocol_usage.due_date / .administration_date | | | ✓ |
reminder_protocol_usage.*_utc variants | ✓ | | |
This table isn't exhaustive — if a column isn't listed and you're not sure, treat it as EEDT (the default for created_at/updated_at/deleted_at audit columns platform-wide) until confirmed otherwise, and flag it with us so we can add it here.
Converting to clinic-local time
Where a column is UTC or EEDT and you need it in the clinic's actual local time, use CONVERT_TIMEZONE. For a clinic operating on Eastern Time (e.g. a Canadian clinic):
SELECT
s.id,
CONVERT_TIMEZONE('UTC', 'America/Toronto', s.taxable_at) AS taxable_at_local
FROM sale s;If your table column is EEDT rather than UTC, convert from 'Europe/Bucharest' as the source zone instead of 'UTC'. Pick the IANA timezone name matching where your clinic actually operates — clinics.timezone on the Operational page holds this per clinic if you're rolling up across locations.