{"slug":"digent-appointments","name":"Digent Appointments","description":"A modern and flexible appointment booking plugin that helps businesses manage appointments, schedules, services, and customer bookings with ease.","author":"amanstacker","active_installs":0,"version":"1.0.0","wp_org_url":"https://wordpress.org/plugins/digent-appointments/","is_closed":false,"cleanup":{"has_uninstall_hook":true,"drops_tables_on_uninstall":true,"deletes_options_on_uninstall":true},"tables":[{"table_name":"dgap_bookings","full_table_name":"wp_dgap_bookings","description":"Stores dgap bookings data created by this plugin.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"dgap_customers","full_table_name":"wp_dgap_customers","description":"Stores dgap customers data created by this plugin.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"dgap_forms","full_table_name":"wp_dgap_forms","description":"Stores form definitions and related configuration.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"dgap_locations","full_table_name":"wp_dgap_locations","description":"Stores dgap locations data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"address","type":"TEXT","nullable":true,"primary_key":false},{"name":"latitude","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"longitude","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"timezone","type":"VARCHAR(100)","nullable":true,"primary_key":false},{"name":"business_hours","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"status","type":"TINYINT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"first_name","type":"VARCHAR(150)","nullable":false,"primary_key":false},{"name":"last_name","type":"VARCHAR(150)","nullable":true,"primary_key":false},{"name":"image_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"email","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"phone_dial_code","type":"VARCHAR(10)","nullable":true,"primary_key":false},{"name":"phone","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"status","type":"TINYINT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"type","type":"ENUM('staff','service')","nullable":false,"primary_key":false},{"name":"entity_ids","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"dates","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"status","type":"TINYINT(1)","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"duration","type":"INT","nullable":false,"primary_key":false},{"name":"slot_step","type":"INT","nullable":true,"primary_key":false},{"name":"buffer_before","type":"INT","nullable":true,"primary_key":false},{"name":"buffer_after","type":"INT","nullable":true,"primary_key":false},{"name":"daily_limit","type":"INT","nullable":true,"primary_key":false},{"name":"advanced_booking","type":"INT","nullable":true,"primary_key":false},{"name":"price","type":"DECIMAL(10,2)","nullable":true,"primary_key":false},{"name":"status","type":"TINYINT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"location_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"service_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"staff_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"capacity","type":"INT","nullable":true,"primary_key":false},{"name":"availability","type":"LONGTEXT","nullable":false,"primary_key":false},{"name":"recurrence_type","type":"VARCHAR(20)","nullable":true,"primary_key":false},{"name":"repeat_interval","type":"INT","nullable":true,"primary_key":false},{"name":"date_start","type":"DATE","nullable":false,"primary_key":false},{"name":"date_end","type":"DATE","nullable":true,"primary_key":false},{"name":"status","type":"TINYINT","nullable":true,"primary_key":false},{"name":"is_infinite","type":"TINYINT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"user_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"email","type":"VARCHAR(190)","nullable":false,"primary_key":false},{"name":"first_name","type":"VARCHAR(100)","nullable":false,"primary_key":false},{"name":"last_name","type":"VARCHAR(100)","nullable":true,"primary_key":false},{"name":"image_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"phone_dial_code","type":"VARCHAR(10)","nullable":true,"primary_key":false},{"name":"phone","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"notes","type":"TEXT","nullable":true,"primary_key":false},{"name":"status","type":"TINYINT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"user_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"schedule_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"location_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"service_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"staff_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"booking_date","type":"DATE","nullable":false,"primary_key":false},{"name":"start_time","type":"TIME","nullable":false,"primary_key":false},{"name":"end_time","type":"TIME","nullable":false,"primary_key":false},{"name":"customer_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"booking_note","type":"TEXT","nullable":true,"primary_key":false},{"name":"price","type":"DECIMAL(10,2)","nullable":true,"primary_key":false},{"name":"ip_address","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"custom_fields","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"status","type":"VARCHAR(20)","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"layout","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"settings","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"custom_fields","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"status","type":"TINYINT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_dgap_locations ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, address TEXT, latitude VARCHAR(50), longitude VARCHAR(50), timezone VARCHAR(100), business_hours LONGTEXT NULL, status TINYINT DEFAULT 1, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset;\"; $tables['staff'] = \"CREATE TABLE wp_dgap_staff ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, first_name VARCHAR(150) NOT NULL, last_name VARCHAR(150) NULL, image_id BIGINT UNSIGNED NULL, description TEXT, email VARCHAR(255), phone_dial_code VARCHAR(10) NULL, phone VARCHAR(50), status TINYINT DEFAULT 1, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset;\"; $tables['timeoff'] = \"CREATE TABLE wp_dgap_timeoff ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, type ENUM('staff','service') NOT NULL, entity_ids LONGTEXT NOT NULL, dates LONGTEXT NOT NULL, status TINYINT(1) DEFAULT 1, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset;\"; $tables['services'] = \"CREATE TABLE wp_dgap_services ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, description TEXT, duration INT NOT NULL, slot_step INT, buffer_before INT, buffer_after INT, daily_limit INT, advanced_booking INT, price DECIMAL(10,2), status TINYINT DEFAULT 1, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset;\"; $tables['schedules'] = \"CREATE TABLE wp_dgap_schedules ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, location_id BIGINT UNSIGNED NOT NULL, service_id BIGINT UNSIGNED NOT NULL, staff_id BIGINT UNSIGNED NOT NULL, capacity INT DEFAULT 1, availability LONGTEXT NOT NULL, recurrence_type VARCHAR(20) DEFAULT 'weekly', repeat_interval INT DEFAULT 1, date_start DATE NOT NULL, date_end DATE NULL, status TINYINT DEFAULT 1, is_infinite TINYINT DEFAULT 0, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY location_id (location_id), KEY service_id (service_id), KEY staff_id (staff_id) ) $charset;\"; $tables['customers'] = \"CREATE TABLE wp_dgap_customers ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, user_id BIGINT UNSIGNED DEFAULT NULL, email VARCHAR(190) NOT NULL, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) DEFAULT NULL, image_id BIGINT UNSIGNED NULL, phone_dial_code VARCHAR(10) DEFAULT NULL, phone VARCHAR(50), notes TEXT, status TINYINT DEFAULT 1, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY email (email), KEY user_id (user_id) ) $charset;\"; $tables['bookings'] = \"CREATE TABLE wp_dgap_bookings ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, user_id BIGINT UNSIGNED NULL, schedule_id BIGINT UNSIGNED NOT NULL, location_id BIGINT UNSIGNED NOT NULL, service_id BIGINT UNSIGNED NOT NULL, staff_id BIGINT UNSIGNED NOT NULL, booking_date DATE NOT NULL, start_time TIME NOT NULL, end_time TIME NOT NULL, customer_id BIGINT UNSIGNED NOT NULL, booking_note TEXT NULL, price DECIMAL(10,2) DEFAULT 0.00, ip_address VARCHAR(50) NULL, custom_fields LONGTEXT NULL, status VARCHAR(20) DEFAULT 'pending', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY user_id (user_id), KEY schedule_id (schedule_id), KEY customer_id (customer_id), KEY location_id (location_id), KEY service_id (service_id), KEY staff_id (staff_id), KEY status_date (status, booking_date) ) $charset;\"; $tables['forms'] = \"CREATE TABLE wp_dgap_forms ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, layout VARCHAR(255), settings LONGTEXT NULL, custom_fields LONGTEXT NULL, status TINYINT DEFAULT 1, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset;\"; foreach ( $tables as $sql ) { dbDelta( $sql );"},{"table_name":"dgap_schedules","full_table_name":"wp_dgap_schedules","description":"Stores dgap schedules data created by this plugin.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"dgap_services","full_table_name":"wp_dgap_services","description":"Stores dgap services data created by this plugin.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"dgap_staff","full_table_name":"wp_dgap_staff","description":"Stores dgap staff data created by this plugin.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"dgap_timeoff","full_table_name":"wp_dgap_timeoff","description":"Stores dgap timeoff data created by this plugin.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null}],"table_count":8}