{"slug":"clientoctopus","name":"Client Octopus","description":"Capture leads, book calls, send proposals and invoices, collect payments, and manage projects — all from WordPress.","author":"codievolt","active_installs":0,"version":"1.4.1","wp_org_url":"https://wordpress.org/plugins/clientoctopus/","is_closed":false,"cleanup":{"has_uninstall_hook":true,"drops_tables_on_uninstall":false,"deletes_options_on_uninstall":false},"tables":[{"table_name":"clientoctopus_ai_usage_logs","full_table_name":"wp_clientoctopus_ai_usage_logs","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"user_id","type":"INT","nullable":false,"primary_key":false},{"name":"proposal_id","type":"INT","nullable":true,"primary_key":false},{"name":"action","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"tokens_input","type":"INT","nullable":true,"primary_key":false},{"name":"tokens_output","type":"INT","nullable":true,"primary_key":false},{"name":"cost_usd","type":"DECIMAL(10,4)","nullable":true,"primary_key":false},{"name":"timestamp","type":"DATETIME","nullable":true,"primary_key":false},{"name":"month","type":"VARCHAR(7)","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_ai_usage_logs ( id INT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, proposal_id INT DEFAULT NULL, action VARCHAR(50) DEFAULT NULL, tokens_input INT DEFAULT NULL, tokens_output INT DEFAULT NULL, cost_usd DECIMAL(10,4) DEFAULT NULL, timestamp DATETIME DEFAULT NULL, month VARCHAR(7) DEFAULT NULL, PRIMARY KEY (id), KEY user_month (user_id, month), KEY timestamp (timestamp), KEY proposal_id (proposal_id), KEY action (action) ) $charset_collate;\" );"},{"table_name":"clientoctopus_approvals","full_table_name":"wp_clientoctopus_approvals","description":"Stores clientoctopus approvals data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"project_id","type":"INT","nullable":false,"primary_key":false},{"name":"type","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('pending','approved','rejected')","nullable":false,"primary_key":false},{"name":"requested_by","type":"INT","nullable":true,"primary_key":false},{"name":"approved_by","type":"INT","nullable":true,"primary_key":false},{"name":"client_comment","type":"TEXT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"responded_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_approvals ( id INT NOT NULL AUTO_INCREMENT, project_id INT NOT NULL, type VARCHAR(50) DEFAULT NULL, description TEXT DEFAULT NULL, status ENUM('pending','approved','rejected') NOT NULL DEFAULT 'pending', requested_by INT DEFAULT NULL, approved_by INT DEFAULT NULL, client_comment TEXT DEFAULT NULL, created_at DATETIME DEFAULT NULL, responded_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY project_id (project_id), KEY status (status) ) $charset_collate;\" );"},{"table_name":"clientoctopus_automations","full_table_name":"wp_clientoctopus_automations","description":"Stores clientoctopus automations data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"trigger_event","type":"VARCHAR(40)","nullable":false,"primary_key":false},{"name":"delay_days","type":"TINYINT UNSIGNED","nullable":false,"primary_key":false},{"name":"enabled","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"email_subject","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"email_body","type":"TEXT","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_automations ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, trigger_event VARCHAR(40) NOT NULL, delay_days TINYINT UNSIGNED NOT NULL DEFAULT 3, enabled TINYINT(1) NOT NULL DEFAULT 0, email_subject VARCHAR(255) NOT NULL DEFAULT '', email_body TEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY (id), UNIQUE KEY owner_trigger (owner_id, trigger_event) ) $charset_collate;\" );"},{"table_name":"clientoctopus_booking_blocks","full_table_name":"wp_clientoctopus_booking_blocks","description":"Stores clientoctopus booking blocks data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"label","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"starts_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"ends_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_booking_blocks ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, label VARCHAR(255) DEFAULT NULL, starts_at DATETIME NOT NULL, ends_at DATETIME NOT NULL, created_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY owner_id (owner_id), KEY starts_at (starts_at), KEY ends_at (ends_at) ) $charset_collate;\" );"},{"table_name":"clientoctopus_booking_calendar_events","full_table_name":"wp_clientoctopus_booking_calendar_events","description":"Stores clientoctopus booking calendar events data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"booking_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"provider","type":"ENUM('google','microsoft','apple')","nullable":false,"primary_key":false},{"name":"external_event_id","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_booking_calendar_events ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, booking_id BIGINT UNSIGNED NOT NULL, provider ENUM('google','microsoft','apple') NOT NULL, external_event_id VARCHAR(500) NOT NULL, created_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY booking_provider (booking_id, provider), KEY booking_id (booking_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_bookings","full_table_name":"wp_clientoctopus_bookings","description":"Stores clientoctopus bookings data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"lead_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"email","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"phone","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"message","type":"TEXT","nullable":true,"primary_key":false},{"name":"scheduled_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"duration_minutes","type":"SMALLINT UNSIGNED","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('confirmed','cancelled')","nullable":false,"primary_key":false},{"name":"cancel_token","type":"VARCHAR(64)","nullable":false,"primary_key":false},{"name":"reminder_sent_at","type":"DATETIME","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_clientoctopus_bookings ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, lead_id BIGINT UNSIGNED DEFAULT NULL, name VARCHAR(255) NOT NULL DEFAULT '', email VARCHAR(255) NOT NULL DEFAULT '', phone VARCHAR(50) DEFAULT NULL, message TEXT DEFAULT NULL, scheduled_at DATETIME NOT NULL, duration_minutes SMALLINT UNSIGNED NOT NULL DEFAULT 30, status ENUM('confirmed','cancelled') NOT NULL DEFAULT 'confirmed', cancel_token VARCHAR(64) NOT NULL DEFAULT '', reminder_sent_at DATETIME DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY owner_slot (owner_id, scheduled_at), UNIQUE KEY cancel_token (cancel_token), KEY owner_id (owner_id), KEY scheduled_at (scheduled_at), KEY status (status) ) $charset_collate;\" );"},{"table_name":"clientoctopus_calendar_connections","full_table_name":"wp_clientoctopus_calendar_connections","description":"Stores clientoctopus calendar connections data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"provider","type":"ENUM('google','microsoft','apple')","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('connected','disconnected')","nullable":false,"primary_key":false},{"name":"account_label","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"apple_username","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"apple_password_enc","type":"TEXT","nullable":true,"primary_key":false},{"name":"provider_meta","type":"TEXT","nullable":true,"primary_key":false},{"name":"last_synced_at","type":"DATETIME","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_clientoctopus_calendar_connections ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, provider ENUM('google','microsoft','apple') NOT NULL, status ENUM('connected','disconnected') NOT NULL DEFAULT 'connected', account_label VARCHAR(255) DEFAULT NULL, apple_username VARCHAR(255) DEFAULT NULL, apple_password_enc TEXT DEFAULT NULL, provider_meta TEXT DEFAULT NULL, last_synced_at DATETIME DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY owner_provider (owner_id, provider), KEY owner_id (owner_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_client_tag_relations","full_table_name":"wp_clientoctopus_client_tag_relations","description":"Stores clientoctopus client tag relations data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"client_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"tag_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_client_tag_relations ( client_id BIGINT UNSIGNED NOT NULL, tag_id BIGINT UNSIGNED NOT NULL, created_at DATETIME DEFAULT NULL, PRIMARY KEY (client_id, tag_id), KEY tag_id (tag_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_client_tags","full_table_name":"wp_clientoctopus_client_tags","description":"Stores clientoctopus client tags data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"name","type":"VARCHAR(60)","nullable":false,"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_clientoctopus_client_tags ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, name VARCHAR(60) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY owner_name (owner_id, name), KEY owner_id (owner_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_clients","full_table_name":"wp_clientoctopus_clients","description":"Stores clientoctopus clients data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"wp_user_id","type":"INT","nullable":true,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"email","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"company","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"phone","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"portal_invited_at","type":"DATETIME","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_clientoctopus_clients ( id INT NOT NULL AUTO_INCREMENT, owner_id INT NOT NULL, wp_user_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, email VARCHAR(255) DEFAULT NULL, company VARCHAR(255) DEFAULT NULL, phone VARCHAR(50) DEFAULT NULL, portal_invited_at DATETIME DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY owner_id (owner_id), KEY email (email), KEY created_at (created_at) ) $charset_collate;\" );"},{"table_name":"clientoctopus_email_optouts","full_table_name":"wp_clientoctopus_email_optouts","description":"Stores clientoctopus email optouts data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"email","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"category","type":"VARCHAR(40)","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_email_optouts ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, email VARCHAR(255) NOT NULL, category VARCHAR(40) NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY (id), UNIQUE KEY owner_email_category (owner_id, email, category), KEY email (email) ) $charset_collate;\" );"},{"table_name":"clientoctopus_events","full_table_name":"wp_clientoctopus_events","description":"Stores clientoctopus events data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"proposal_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"event_type","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"user_ip","type":"VARCHAR(45)","nullable":true,"primary_key":false},{"name":"user_agent","type":"VARCHAR(500)","nullable":true,"primary_key":false},{"name":"timestamp","type":"DATETIME","nullable":false,"primary_key":false},{"name":"metadata","type":"TEXT","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_events ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, proposal_id BIGINT UNSIGNED NOT NULL, event_type VARCHAR(50) NOT NULL, user_ip VARCHAR(45) DEFAULT NULL, user_agent VARCHAR(500) DEFAULT NULL, timestamp DATETIME NOT NULL, metadata TEXT DEFAULT NULL, PRIMARY KEY (id), KEY proposal_id (proposal_id), KEY event_type (event_type), KEY timestamp (timestamp) ) $charset_collate;\" );"},{"table_name":"clientoctopus_files","full_table_name":"wp_clientoctopus_files","description":"Stores clientoctopus files data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"project_id","type":"INT","nullable":false,"primary_key":false},{"name":"uploaded_by","type":"INT","nullable":false,"primary_key":false},{"name":"file_name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"file_url","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"file_size_kb","type":"INT","nullable":true,"primary_key":false},{"name":"file_mime","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_files ( id INT NOT NULL AUTO_INCREMENT, project_id INT NOT NULL, uploaded_by INT NOT NULL, file_name VARCHAR(255) NOT NULL, file_url VARCHAR(500) NOT NULL, file_size_kb INT DEFAULT NULL, file_mime VARCHAR(50) DEFAULT NULL, created_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY project_id (project_id), KEY uploaded_by (uploaded_by) ) $charset_collate;\" );"},{"table_name":"clientoctopus_invoice_reminder_log","full_table_name":"wp_clientoctopus_invoice_reminder_log","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"invoice_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"trigger_event","type":"VARCHAR(40)","nullable":false,"primary_key":false},{"name":"sent_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_invoice_reminder_log ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, invoice_id BIGINT UNSIGNED NOT NULL, trigger_event VARCHAR(40) NOT NULL, sent_at DATETIME NOT NULL, PRIMARY KEY (id), UNIQUE KEY invoice_trigger (invoice_id, trigger_event), KEY invoice_id (invoice_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_invoices","full_table_name":"wp_clientoctopus_invoices","description":"Stores clientoctopus invoices data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"client_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"invoice_number","type":"INT UNSIGNED","nullable":false,"primary_key":false},{"name":"token","type":"VARCHAR(64)","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('draft','sent','paid','overdue','cancelled')","nullable":false,"primary_key":false},{"name":"title","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"currency","type":"VARCHAR(3)","nullable":false,"primary_key":false},{"name":"line_items","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"discount_type","type":"ENUM('percentage','fixed')","nullable":false,"primary_key":false},{"name":"discount_value","type":"DECIMAL(10,2)","nullable":false,"primary_key":false},{"name":"vat_pct","type":"DECIMAL(5,2)","nullable":false,"primary_key":false},{"name":"vat_number","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"notes","type":"TEXT","nullable":true,"primary_key":false},{"name":"due_date","type":"DATE","nullable":true,"primary_key":false},{"name":"issue_date","type":"DATE","nullable":false,"primary_key":false},{"name":"payment_terms","type":"VARCHAR(100)","nullable":true,"primary_key":false},{"name":"po_number","type":"VARCHAR(100)","nullable":true,"primary_key":false},{"name":"total_amount","type":"DECIMAL(12,2)","nullable":false,"primary_key":false},{"name":"stripe_session_id","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"stripe_payment_intent_id","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"sent_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"paid_at","type":"DATETIME","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":"deleted_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_invoices ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, client_id BIGINT UNSIGNED DEFAULT NULL, invoice_number INT UNSIGNED NOT NULL DEFAULT 0, token VARCHAR(64) NOT NULL DEFAULT '', status ENUM('draft','sent','paid','overdue','cancelled') NOT NULL DEFAULT 'draft', title VARCHAR(255) NOT NULL DEFAULT '', currency VARCHAR(3) NOT NULL DEFAULT 'GBP', line_items LONGTEXT DEFAULT NULL, discount_type ENUM('percentage','fixed') NOT NULL DEFAULT 'percentage', discount_value DECIMAL(10,2) NOT NULL DEFAULT 0, vat_pct DECIMAL(5,2) NOT NULL DEFAULT 0, vat_number VARCHAR(50) DEFAULT NULL, notes TEXT DEFAULT NULL, due_date DATE DEFAULT NULL, issue_date DATE NOT NULL, payment_terms VARCHAR(100) DEFAULT NULL, po_number VARCHAR(100) DEFAULT NULL, total_amount DECIMAL(12,2) NOT NULL DEFAULT 0, stripe_session_id VARCHAR(255) DEFAULT NULL, stripe_payment_intent_id VARCHAR(255) DEFAULT NULL, sent_at DATETIME DEFAULT NULL, paid_at DATETIME DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY token (token), KEY owner_id (owner_id), KEY client_id (client_id), KEY status (status), KEY owner_status (owner_id, status, deleted_at) ) $charset_collate;\" );"},{"table_name":"clientoctopus_lead_reminder_log","full_table_name":"wp_clientoctopus_lead_reminder_log","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"lead_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"trigger_event","type":"VARCHAR(40)","nullable":false,"primary_key":false},{"name":"sent_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_lead_reminder_log ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, lead_id BIGINT UNSIGNED NOT NULL, trigger_event VARCHAR(40) NOT NULL, sent_at DATETIME NOT NULL, PRIMARY KEY (id), UNIQUE KEY lead_trigger (lead_id, trigger_event), KEY lead_id (lead_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_leads","full_table_name":"wp_clientoctopus_leads","description":"Stores clientoctopus leads data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"email","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"phone","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"company","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"message","type":"TEXT","nullable":true,"primary_key":false},{"name":"budget_range","type":"VARCHAR(100)","nullable":true,"primary_key":false},{"name":"preferred_contact","type":"VARCHAR(50)","nullable":true,"primary_key":false},{"name":"source_url","type":"VARCHAR(500)","nullable":true,"primary_key":false},{"name":"existing_client_id","type":"BIGINT UNSIGNED","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('new','contacted','converted','archived')","nullable":false,"primary_key":false},{"name":"converted_client_id","type":"BIGINT UNSIGNED","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_clientoctopus_leads ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, name VARCHAR(255) NOT NULL DEFAULT '', email VARCHAR(255) DEFAULT NULL, phone VARCHAR(50) DEFAULT NULL, company VARCHAR(255) DEFAULT NULL, message TEXT DEFAULT NULL, budget_range VARCHAR(100) DEFAULT NULL, preferred_contact VARCHAR(50) DEFAULT NULL, source_url VARCHAR(500) DEFAULT NULL, existing_client_id BIGINT UNSIGNED DEFAULT NULL, status ENUM('new','contacted','converted','archived') NOT NULL DEFAULT 'new', converted_client_id BIGINT UNSIGNED DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY owner_id (owner_id), KEY status (status), KEY created_at (created_at), KEY email (email) ) $charset_collate;\" );"},{"table_name":"clientoctopus_messages","full_table_name":"wp_clientoctopus_messages","description":"Stores clientoctopus messages data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"project_id","type":"INT","nullable":false,"primary_key":false},{"name":"sender_id","type":"INT","nullable":false,"primary_key":false},{"name":"sender_type","type":"ENUM('admin','client')","nullable":false,"primary_key":false},{"name":"message","type":"TEXT","nullable":false,"primary_key":false},{"name":"read_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_messages ( id INT NOT NULL AUTO_INCREMENT, project_id INT NOT NULL, sender_id INT NOT NULL, sender_type ENUM('admin','client') NOT NULL, message TEXT NOT NULL, read_at DATETIME DEFAULT NULL, created_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY project_id (project_id), KEY sender_id (sender_id), KEY created_at (created_at), KEY unread_lookup (project_id, sender_type, read_at) ) $charset_collate;\" );"},{"table_name":"clientoctopus_milestones","full_table_name":"wp_clientoctopus_milestones","description":"Stores clientoctopus milestones data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"project_id","type":"INT","nullable":false,"primary_key":false},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"title","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('pending','submitted','in-progress','completed')","nullable":false,"primary_key":false},{"name":"due_date","type":"DATE","nullable":true,"primary_key":false},{"name":"completed_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"sort_order","type":"SMALLINT","nullable":false,"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_clientoctopus_milestones ( id INT NOT NULL AUTO_INCREMENT, project_id INT NOT NULL, owner_id INT NOT NULL, title VARCHAR(255) NOT NULL DEFAULT '', description TEXT DEFAULT NULL, status ENUM('pending','submitted','in-progress','completed') NOT NULL DEFAULT 'pending', due_date DATE DEFAULT NULL, completed_at DATETIME DEFAULT NULL, sort_order SMALLINT NOT NULL DEFAULT 0, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY project_id (project_id), KEY owner_id (owner_id), KEY status (status) ) $charset_collate;\" );"},{"table_name":"clientoctopus_payments","full_table_name":"wp_clientoctopus_payments","description":"Stores clientoctopus payments data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"proposal_id","type":"INT","nullable":false,"primary_key":false},{"name":"client_id","type":"INT","nullable":true,"primary_key":false},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"amount","type":"DECIMAL(12,2)","nullable":false,"primary_key":false},{"name":"currency","type":"VARCHAR(3)","nullable":false,"primary_key":false},{"name":"deposit_pct","type":"TINYINT UNSIGNED","nullable":false,"primary_key":false},{"name":"stripe_session_id","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"stripe_payment_intent_id","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"stripe_customer_id","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('pending','processing','completed','failed','refunded')","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"completed_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_payments ( id INT NOT NULL AUTO_INCREMENT, proposal_id INT NOT NULL, client_id INT DEFAULT NULL, owner_id INT NOT NULL, amount DECIMAL(12,2) NOT NULL, currency VARCHAR(3) NOT NULL DEFAULT 'GBP', deposit_pct TINYINT UNSIGNED NOT NULL DEFAULT 100, stripe_session_id VARCHAR(255) DEFAULT NULL, stripe_payment_intent_id VARCHAR(255) DEFAULT NULL, stripe_customer_id VARCHAR(255) DEFAULT NULL, status ENUM('pending','processing','completed','failed','refunded') NOT NULL DEFAULT 'pending', created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, completed_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY stripe_session_id (stripe_session_id), KEY proposal_id (proposal_id), KEY owner_id (owner_id), KEY status (status), KEY proposal_status (proposal_id, status) ) $charset_collate;\" );"},{"table_name":"clientoctopus_portal_sessions","full_table_name":"wp_clientoctopus_portal_sessions","description":"Stores session data for tracking user or visitor state.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT","nullable":false,"primary_key":true},{"name":"client_id","type":"INT","nullable":false,"primary_key":false},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"session_token","type":"VARCHAR(64)","nullable":false,"primary_key":false},{"name":"expires_at","type":"DATETIME","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_portal_sessions ( id BIGINT NOT NULL AUTO_INCREMENT, client_id INT NOT NULL, owner_id INT NOT NULL, session_token VARCHAR(64) NOT NULL, expires_at DATETIME NOT NULL, created_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY session_token (session_token), KEY client_id (client_id), KEY expires_at (expires_at) ) $charset_collate;\" );"},{"table_name":"clientoctopus_projects","full_table_name":"wp_clientoctopus_projects","description":"Stores clientoctopus projects data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"client_id","type":"INT","nullable":false,"primary_key":false},{"name":"proposal_id","type":"INT","nullable":false,"primary_key":false},{"name":"name","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"description","type":"TEXT","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('active','on-hold','completed')","nullable":false,"primary_key":false},{"name":"created_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"updated_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"completed_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"deleted_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_projects ( id INT NOT NULL AUTO_INCREMENT, owner_id INT NOT NULL, client_id INT NOT NULL, proposal_id INT NOT NULL, name VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, status ENUM('active','on-hold','completed') NOT NULL DEFAULT 'active', created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, completed_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY owner_id (owner_id), KEY client_id (client_id), KEY proposal_id (proposal_id), KEY status (status) ) $charset_collate;\" );"},{"table_name":"clientoctopus_proposals","full_table_name":"wp_clientoctopus_proposals","description":"Stores clientoctopus proposals data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"client_id","type":"INT","nullable":true,"primary_key":false},{"name":"title","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"content","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"token","type":"VARCHAR(64)","nullable":false,"primary_key":false},{"name":"preview_token","type":"VARCHAR(64)","nullable":true,"primary_key":false},{"name":"status","type":"ENUM('draft','sent','viewed','accepted','declined','expired','completed','revision_requested')","nullable":false,"primary_key":false},{"name":"total_amount","type":"DECIMAL(12,2)","nullable":true,"primary_key":false},{"name":"currency","type":"VARCHAR(3)","nullable":false,"primary_key":false},{"name":"payment_enabled","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"expiry_date","type":"DATETIME","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":"sent_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"viewed_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"accepted_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"declined_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"decline_reason","type":"TEXT","nullable":true,"primary_key":false},{"name":"deleted_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"revision_note","type":"TEXT","nullable":true,"primary_key":false},{"name":"revision_requested_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"signed_name","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"signed_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"signed_ip","type":"VARCHAR(45)","nullable":true,"primary_key":false},{"name":"template_id","type":"VARCHAR(50)","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_proposals ( id INT NOT NULL AUTO_INCREMENT, owner_id INT NOT NULL, client_id INT DEFAULT NULL, title VARCHAR(255) NOT NULL, content LONGTEXT DEFAULT NULL, token VARCHAR(64) NOT NULL DEFAULT '', preview_token VARCHAR(64) DEFAULT NULL, status ENUM('draft','sent','viewed','accepted','declined','expired','completed','revision_requested') NOT NULL DEFAULT 'draft', total_amount DECIMAL(12,2) DEFAULT NULL, currency VARCHAR(3) NOT NULL DEFAULT 'GBP', payment_enabled TINYINT(1) NOT NULL DEFAULT 0, expiry_date DATETIME DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, sent_at DATETIME DEFAULT NULL, viewed_at DATETIME DEFAULT NULL, accepted_at DATETIME DEFAULT NULL, declined_at DATETIME DEFAULT NULL, decline_reason TEXT DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, revision_note TEXT DEFAULT NULL, revision_requested_at DATETIME DEFAULT NULL, signed_name VARCHAR(255) DEFAULT NULL, signed_at DATETIME DEFAULT NULL, signed_ip VARCHAR(45) DEFAULT NULL, template_id VARCHAR(50) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY token (token), UNIQUE KEY preview_token (preview_token), KEY owner_id (owner_id), KEY client_id (client_id), KEY status (status), KEY created_at (created_at), KEY template_id (template_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_recurring_profiles","full_table_name":"wp_clientoctopus_recurring_profiles","description":"Stores clientoctopus recurring profiles data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"owner_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"client_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"title","type":"VARCHAR(255)","nullable":false,"primary_key":false},{"name":"line_items","type":"LONGTEXT","nullable":true,"primary_key":false},{"name":"currency","type":"VARCHAR(3)","nullable":false,"primary_key":false},{"name":"discount_type","type":"ENUM('percentage','fixed')","nullable":false,"primary_key":false},{"name":"discount_value","type":"DECIMAL(10,2)","nullable":false,"primary_key":false},{"name":"vat_pct","type":"DECIMAL(5,2)","nullable":false,"primary_key":false},{"name":"frequency","type":"ENUM('weekly','monthly','quarterly','yearly')","nullable":false,"primary_key":false},{"name":"start_date","type":"DATE","nullable":false,"primary_key":false},{"name":"end_date","type":"DATE","nullable":true,"primary_key":false},{"name":"max_occurrences","type":"SMALLINT UNSIGNED","nullable":true,"primary_key":false},{"name":"occurrences_sent","type":"SMALLINT UNSIGNED","nullable":false,"primary_key":false},{"name":"next_run_date","type":"DATE","nullable":false,"primary_key":false},{"name":"billing_mode","type":"ENUM('manual','auto_charge')","nullable":false,"primary_key":false},{"name":"status","type":"ENUM('active','paused','cancelled')","nullable":false,"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_clientoctopus_recurring_profiles ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, owner_id BIGINT UNSIGNED NOT NULL, client_id BIGINT UNSIGNED NOT NULL, title VARCHAR(255) NOT NULL DEFAULT '', line_items LONGTEXT DEFAULT NULL, currency VARCHAR(3) NOT NULL DEFAULT 'GBP', discount_type ENUM('percentage','fixed') NOT NULL DEFAULT 'percentage', discount_value DECIMAL(10,2) NOT NULL DEFAULT 0, vat_pct DECIMAL(5,2) NOT NULL DEFAULT 0, frequency ENUM('weekly','monthly','quarterly','yearly') NOT NULL DEFAULT 'monthly', start_date DATE NOT NULL, end_date DATE DEFAULT NULL, max_occurrences SMALLINT UNSIGNED DEFAULT NULL, occurrences_sent SMALLINT UNSIGNED NOT NULL DEFAULT 0, next_run_date DATE NOT NULL, billing_mode ENUM('manual','auto_charge') NOT NULL DEFAULT 'manual', status ENUM('active','paused','cancelled') NOT NULL DEFAULT 'active', created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY owner_id (owner_id), KEY client_id (client_id), KEY next_run_date (next_run_date), KEY status (status) ) $charset_collate;\" );"},{"table_name":"clientoctopus_reminder_log","full_table_name":"wp_clientoctopus_reminder_log","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":true},{"name":"proposal_id","type":"BIGINT UNSIGNED","nullable":false,"primary_key":false},{"name":"trigger_event","type":"VARCHAR(40)","nullable":false,"primary_key":false},{"name":"sent_at","type":"DATETIME","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_reminder_log ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, proposal_id BIGINT UNSIGNED NOT NULL, trigger_event VARCHAR(40) NOT NULL, sent_at DATETIME NOT NULL, PRIMARY KEY (id), UNIQUE KEY proposal_trigger (proposal_id, trigger_event), KEY proposal_id (proposal_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_team_members","full_table_name":"wp_clientoctopus_team_members","description":"Stores clientoctopus team members data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"member_user_id","type":"INT","nullable":false,"primary_key":false},{"name":"role","type":"ENUM('admin','editor','viewer')","nullable":false,"primary_key":false},{"name":"invited_at","type":"DATETIME","nullable":true,"primary_key":false},{"name":"accepted_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_team_members ( id INT NOT NULL AUTO_INCREMENT, owner_id INT NOT NULL, member_user_id INT NOT NULL, role ENUM('admin','editor','viewer') NOT NULL DEFAULT 'editor', invited_at DATETIME DEFAULT NULL, accepted_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY owner_member (owner_id, member_user_id), KEY owner_id (owner_id), KEY member_user_id (member_user_id) ) $charset_collate;\" );"},{"table_name":"clientoctopus_user_meta","full_table_name":"wp_clientoctopus_user_meta","description":"Stores additional metadata (key-value pairs) for clientoctopus user records.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"user_id","type":"INT","nullable":false,"primary_key":false},{"name":"plan","type":"ENUM('free','pro','agency')","nullable":false,"primary_key":false},{"name":"ai_usage_count","type":"INT","nullable":false,"primary_key":false},{"name":"ai_usage_month","type":"VARCHAR(7)","nullable":true,"primary_key":false},{"name":"billing_cycle_start","type":"DATE","nullable":true,"primary_key":false},{"name":"billing_cycle_end","type":"DATE","nullable":true,"primary_key":false},{"name":"stripe_customer_id","type":"VARCHAR(255)","nullable":true,"primary_key":false},{"name":"team_seats_used","type":"INT","nullable":false,"primary_key":false},{"name":"storage_used_mb","type":"INT","nullable":false,"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_clientoctopus_user_meta ( id INT NOT NULL AUTO_INCREMENT, user_id INT NOT NULL, plan ENUM('free','pro','agency') NOT NULL DEFAULT 'free', ai_usage_count INT NOT NULL DEFAULT 0, ai_usage_month VARCHAR(7) DEFAULT NULL, billing_cycle_start DATE DEFAULT NULL, billing_cycle_end DATE DEFAULT NULL, stripe_customer_id VARCHAR(255) DEFAULT NULL, team_seats_used INT NOT NULL DEFAULT 1, storage_used_mb INT NOT NULL DEFAULT 0, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY user_id (user_id), KEY plan (plan), KEY ai_usage_month (ai_usage_month), KEY billing_cycle_start (billing_cycle_start) ) $charset_collate;\" );"},{"table_name":"clientoctopus_webhook_logs","full_table_name":"wp_clientoctopus_webhook_logs","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"webhook_id","type":"INT","nullable":false,"primary_key":false},{"name":"event","type":"VARCHAR(50)","nullable":false,"primary_key":false},{"name":"response_code","type":"SMALLINT","nullable":true,"primary_key":false},{"name":"success","type":"TINYINT(1)","nullable":false,"primary_key":false},{"name":"delivered_at","type":"DATETIME","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_clientoctopus_webhook_logs ( id INT NOT NULL AUTO_INCREMENT, webhook_id INT NOT NULL, event VARCHAR(50) NOT NULL, response_code SMALLINT DEFAULT NULL, success TINYINT(1) NOT NULL DEFAULT 0, delivered_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY webhook_id (webhook_id), KEY delivered_at (delivered_at) ) $charset_collate;\" );"},{"table_name":"clientoctopus_webhooks","full_table_name":"wp_clientoctopus_webhooks","description":"Stores clientoctopus webhooks data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"INT","nullable":false,"primary_key":true},{"name":"owner_id","type":"INT","nullable":false,"primary_key":false},{"name":"url","type":"VARCHAR(500)","nullable":false,"primary_key":false},{"name":"events","type":"JSON","nullable":false,"primary_key":false},{"name":"secret","type":"VARCHAR(64)","nullable":false,"primary_key":false},{"name":"enabled","type":"TINYINT(1)","nullable":false,"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_clientoctopus_webhooks ( id INT NOT NULL AUTO_INCREMENT, owner_id INT NOT NULL, url VARCHAR(500) NOT NULL, events JSON NOT NULL, secret VARCHAR(64) NOT NULL DEFAULT '', enabled TINYINT(1) NOT NULL DEFAULT 1, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY (id), KEY owner_id (owner_id), KEY enabled (enabled) ) $charset_collate;\" );"}],"table_count":29}