{"id":3032,"date":"2026-03-03T11:14:33","date_gmt":"2026-03-03T11:14:33","guid":{"rendered":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/?p=3032"},"modified":"2026-03-03T11:26:38","modified_gmt":"2026-03-03T11:26:38","slug":"global-multi-timezone-architecture","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-lite\/documentation\/features\/global-multi-timezone-architecture\/","title":{"rendered":"Global Multi-Timezone Architecture"},"content":{"rendered":"<div class=\"nolwrap\">\n<h2 class=\"wp-block-heading\">1. Overview<\/h2>\n\n\n\n<p>KiviCare\u2019s multi-timezone system enables globally distributed clinics \u2014 with doctors, patients, staff, and administrators across different time zones \u2014 to manage appointments without ambiguity or scheduling conflicts.<\/p>\n\n\n\n<p>This feature ensures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Appointment times are never ambiguous<\/li>\n\n\n\n<li>Doctors manage schedules in their own local time<\/li>\n\n\n\n<li>Patients book appointments in their own local time<\/li>\n\n\n\n<li>All time calculations remain accurate across regions<\/li>\n\n\n\n<li>Daylight Saving Time (DST) changes are handled correctly<\/li>\n<\/ul>\n\n\n\n<p>The system eliminates confusion in global healthcare operations.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">2. System Architecture Overview<\/h2>\n\n\n\n<p>KiviCare uses a standardized universal time architecture to ensure consistency and accuracy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Core Principle<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All appointment records are stored in a neutral universal time reference.<\/li>\n\n\n\n<li>Each user sees times displayed according to their configured timezone.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Two-Layer Timezone Model<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Layer<\/th><th>Purpose<\/th><\/tr><\/thead><tbody><tr><td><strong>Source Timezone<\/strong><\/td><td>Doctor\u2019s timezone used for schedule definition and slot generation<\/td><\/tr><tr><td><strong>Target Timezone<\/strong><\/td><td>Viewer\u2019s timezone used for displaying appointment times<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>This model guarantees:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Accurate cross-region booking<\/li>\n\n\n\n<li>No overlap conflicts<\/li>\n\n\n\n<li>No cross-midnight miscalculations<\/li>\n\n\n\n<li>No daylight saving discrepancies<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">3. Timezone Ownership &amp; Roles<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Doctor Timezone<\/h3>\n\n\n\n<p>Each doctor profile contains an assigned timezone.<\/p>\n\n\n\n<p>This timezone determines:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Working hours<\/li>\n\n\n\n<li>Session schedules<\/li>\n\n\n\n<li>Slot availability<\/li>\n\n\n\n<li>Leave and holiday evaluation<\/li>\n\n\n\n<li>Conflict detection<\/li>\n<\/ul>\n\n\n\n<p>If not configured, the system uses the clinic\u2019s default timezone.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 Patient Timezone<\/h3>\n\n\n\n<p>Each patient can configure their personal timezone.<\/p>\n\n\n\n<p>This timezone controls:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Slot display during booking<\/li>\n\n\n\n<li>Appointment confirmation time<\/li>\n\n\n\n<li>Appointment history view<\/li>\n<\/ul>\n\n\n\n<p>If not configured, the system defaults to the clinic timezone.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 Clinic (WordPress) Timezone<\/h3>\n\n\n\n<p>The clinic\u2019s primary timezone acts as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System fallback<\/li>\n\n\n\n<li>Administrative reference timezone<\/li>\n\n\n\n<li>Email notification timezone<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Fallback Hierarchy<\/h3>\n\n\n\n<p>User Timezone<br>\u2193<br>Clinic Timezone<br>\u2193<br>Universal Time<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">4. User Profile Configuration<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Doctor Profile<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dedicated timezone selector<\/li>\n\n\n\n<li>Global IANA timezone support<\/li>\n\n\n\n<li>Editable at any time<\/li>\n\n\n\n<li>Automatically applied to scheduling logic<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Patient Profile<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Self-configurable timezone<\/li>\n\n\n\n<li>Global timezone support<\/li>\n\n\n\n<li>Editable anytime<\/li>\n\n\n\n<li>Applied to booking and display views<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Receptionist &amp; Clinic Administrator<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Personal timezone setting<\/li>\n\n\n\n<li>Used for dashboard appointment displays<\/li>\n\n\n\n<li>Does not affect slot generation<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Booking &amp; Slot Generation Logic<\/h2>\n\n\n\n<p>The booking system ensures accurate conversion across timezones while maintaining schedule integrity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Slot Generation Process<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Doctor timezone is resolved<\/li>\n\n\n\n<li>Selected date is interpreted in doctor\u2019s timezone<\/li>\n\n\n\n<li>Doctor sessions are loaded<\/li>\n\n\n\n<li>Existing appointments are checked<\/li>\n\n\n\n<li>Booked slots are blocked<\/li>\n\n\n\n<li>Available slots are converted to viewer\u2019s timezone<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Result<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The doctor sees appointment time in their local time<\/li>\n\n\n\n<li>The patient sees the same appointment in their local time<\/li>\n\n\n\n<li>The system maintains one universal reference internally<\/li>\n<\/ul>\n\n\n\n<p>This guarantees full consistency.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Frontend Booking Experience<\/h2>\n\n\n\n<p>The booking interface includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatic browser timezone detection<\/li>\n\n\n\n<li>Searchable timezone selector<\/li>\n\n\n\n<li>UTC offset indicators<\/li>\n\n\n\n<li>Real-time slot conversion<\/li>\n\n\n\n<li>Clear timezone labeling during booking<\/li>\n\n\n\n<li>Timezone confirmation at final step<\/li>\n<\/ul>\n\n\n\n<p>Patients always know which timezone they are booking in.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Dashboard Appointment Display Rules<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>User Role<\/th><th>Display Timezone<\/th><\/tr><\/thead><tbody><tr><td>Patient<\/td><td>Patient\u2019s saved timezone<\/td><\/tr><tr><td>Doctor<\/td><td>Clinic timezone<\/td><\/tr><tr><td>Administrator<\/td><td>Clinic timezone<\/td><\/tr><tr><td>Receptionist<\/td><td>Clinic timezone<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Each dashboard clearly displays:<\/p>\n\n\n\n<p><strong>\u201cShowing times in: [Timezone]\u201d<\/strong><\/p>\n\n\n\n<p>This avoids operational confusion.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">8. Appointment Storage Strategy<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Universal Time Standardization<\/h3>\n\n\n\n<p>All appointments are normalized into a universal time reference for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conflict detection<\/li>\n\n\n\n<li>Overlap prevention<\/li>\n\n\n\n<li>Reporting accuracy<\/li>\n\n\n\n<li>Data consistency<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Timezone Stamping<\/h3>\n\n\n\n<p>Each appointment permanently records:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The timezone in which it was booked<\/li>\n<\/ul>\n\n\n\n<p>This ensures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Historical accuracy<\/li>\n\n\n\n<li>Audit clarity<\/li>\n\n\n\n<li>Legal traceability<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Appointment Viewing Experience<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Appointment List View<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Times are converted to the viewer\u2019s timezone<\/li>\n\n\n\n<li>Timezone label is visible<\/li>\n\n\n\n<li>Consistent formatting applied<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Appointment Detail View<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Appointment time reflects viewer\u2019s configured timezone<\/li>\n\n\n\n<li>No ambiguity between users<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">10. Leave &amp; Holiday Handling<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Full-Day Leave<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Evaluated entirely in doctor\u2019s local timezone<\/li>\n\n\n\n<li>Entire calendar day blocked for booking<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Partial Leave<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Leave hours interpreted in the correct timezone<\/li>\n\n\n\n<li>Overlapping slots automatically disabled<\/li>\n<\/ul>\n\n\n\n<p>This prevents booking conflicts.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">11. Email Notification Behavior<\/h2>\n\n\n\n<p>All automated emails use:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clinic\u2019s configured timezone<\/li>\n\n\n\n<li>Clinic date\/time format<\/li>\n<\/ul>\n\n\n\n<p>This ensures consistent official communication.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">12. Timezone Validation &amp; Standards<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Supported Formats<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Official IANA timezone names<\/li>\n\n\n\n<li>Standard UTC offset formats<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Invalid Values<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatically rejected<\/li>\n\n\n\n<li>Safe fallback applied<\/li>\n\n\n\n<li>System stability maintained<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The KiviCare Multi-Timezone System provides a robust, enterprise-grade scheduling architecture built for modern global healthcare operations.<\/p>\n\n\n\n<p>It ensures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Accurate appointment management<\/li>\n\n\n\n<li>Clear timezone ownership<\/li>\n\n\n\n<li>Consistent communication<\/li>\n\n\n\n<li>Scalable international deployment<\/li>\n<\/ul>\n\n\n\n<p>This feature is fully integrated into both Lite and Pro versions of KiviCare and requires no additional configuration beyond timezone setup.<\/p>\n\n\n\n<p><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>1. Overview KiviCare\u2019s multi-timezone system enables globally distributed clinics \u2014 with doctors, patients, staff, and administrators across different time zones \u2014 to manage appointments without ambiguity or scheduling conflicts. This feature ensures: The system eliminates confusion in global healthcare operations. 2. System Architecture Overview KiviCare uses a standardized universal time architecture to ensure consistency and [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-3032","post","type-post","status-publish","format-standard","hentry","category-features"],"featured_image_src":null,"author_info":{"display_name":"wordpressadminiq","author_link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/author\/wordpressadminiq\/"},"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/3032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/comments?post=3032"}],"version-history":[{"count":4,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/3032\/revisions"}],"predecessor-version":[{"id":3039,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/3032\/revisions\/3039"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/media?parent=3032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/categories?post=3032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/tags?post=3032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}