{"id":1863,"date":"2026-01-20T12:33:48","date_gmt":"2026-01-20T12:33:48","guid":{"rendered":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/?p=1863"},"modified":"2026-02-09T09:07:57","modified_gmt":"2026-02-09T09:07:57","slug":"database-mappings-table","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-telemed-addon\/documentation\/integration-reference-telemed-addon\/database-mappings-table\/","title":{"rendered":"Database Mappings Table"},"content":{"rendered":"<div class=\"nolwrap\">\n<p>The plugin uses a custom table to maintain the link between WordPress and Zoom. This prevents unnecessary API requests by caching the meeting details locally.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udccb Table Name: <code>wp_kc_appointment_zoom_mappings<\/code><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Column<\/th><th class=\"has-text-align-left\" data-align=\"left\">Type<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>id<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>bigint<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">Primary Key (Auto Increment).<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>appointment_id<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>bigint<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">ID of the KiviCare Appointment.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>zoom_id<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>varchar(191)<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">The raw ID for the meeting in Zoom.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>zoom_uuid<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>varchar(191)<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">The unique UUID for the specific meeting instance.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>start_url<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>longtext<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">The host-only link used by the Doctor.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>join_url<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>longtext<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">The attendee link used by the Patient.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>password<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>varchar(191)<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">The meeting passcode.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>created_at<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>datetime<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">When the mapping was created.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udee0\ufe0f Accessing Data Programmatically<\/h2>\n\n\n\n<p>Developers can use the <code>KCTAppointmentZoomMapping<\/code> model to retrieve data:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>use KCTApp\\models\\KCTAppointmentZoomMapping;\n\n\/\/ Find mapping for a specific appointment\n$mapping = KCTAppointmentZoomMapping::where('appointment_id', $id)-&gt;first();\n\nif($mapping) {\n    echo \"Zoom Join URL: \" . $mapping-&gt;join_url;\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\uddd1\ufe0f Data Cleanup<\/h2>\n\n\n\n<p>When an appointment is deleted in KiviCare, the plugin hooks into the deletion event to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Cancel the meeting on Zoom using the <code>zoom_id<\/code>.<\/li>\n\n\n\n<li>Delete the corresponding row from this mapping table.<\/li>\n<\/ol>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>The plugin uses a custom table to maintain the link between WordPress and Zoom. This prevents unnecessary API requests by caching the meeting details locally. \ud83d\udccb Table Name: wp_kc_appointment_zoom_mappings Column Type Description id bigint Primary Key (Auto Increment). appointment_id bigint ID of the KiviCare Appointment. zoom_id varchar(191) The raw ID for the meeting in Zoom. [&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":[57],"tags":[],"class_list":["post-1863","post","type-post","status-publish","format-standard","hentry","category-integration-reference-telemed-addon"],"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\/1863","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=1863"}],"version-history":[{"count":2,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1863\/revisions"}],"predecessor-version":[{"id":2967,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1863\/revisions\/2967"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/media?parent=1863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/categories?post=1863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/tags?post=1863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}