-- Table structure for table `menu_item_prices`
CREATE TABLE `menu_item_prices` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `menu_item_id` bigint(20) unsigned NOT NULL,
  `order_type_id` bigint(20) unsigned NOT NULL,
  `delivery_app_id` bigint(20) unsigned DEFAULT NULL,
  `menu_item_variation_id` bigint(20) unsigned DEFAULT NULL,
  `calculated_price` decimal(16,2) NOT NULL,
  `override_price` decimal(16,2) DEFAULT NULL,
  `final_price` decimal(16,2) NOT NULL DEFAULT 0.00,
  `status` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `menu_item_prices_delivery_app_id_foreign` (`delivery_app_id`),
  KEY `menu_item_prices_menu_item_variation_id_foreign` (`menu_item_variation_id`),
  KEY `idx_prices_item_status_variation_type_app` (`menu_item_id`,`status`,`menu_item_variation_id`,`order_type_id`,`delivery_app_id`),
  KEY `idx_prices_item_status_type_app` (`menu_item_id`,`status`,`order_type_id`,`delivery_app_id`),
  KEY `idx_prices_type_app_status` (`order_type_id`,`delivery_app_id`,`status`),
  KEY `idx_prices_menu_item_id` (`menu_item_id`),
  CONSTRAINT `menu_item_prices_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `menu_item_prices_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `menu_item_prices_menu_item_variation_id_foreign` FOREIGN KEY (`menu_item_variation_id`) REFERENCES `menu_item_variations` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `menu_item_prices_order_type_id_foreign` FOREIGN KEY (`order_type_id`) REFERENCES `order_types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `menu_item_tax`
CREATE TABLE `menu_item_tax` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `menu_item_id` bigint(20) unsigned NOT NULL,
  `tax_id` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `menu_item_tax_menu_item_id_foreign` (`menu_item_id`),
  KEY `menu_item_tax_tax_id_foreign` (`tax_id`),
  CONSTRAINT `menu_item_tax_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `menu_item_tax_tax_id_foreign` FOREIGN KEY (`tax_id`) REFERENCES `taxes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `menu_item_translations`
CREATE TABLE `menu_item_translations` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `menu_item_id` bigint(20) unsigned NOT NULL,
  `locale` varchar(191) NOT NULL,
  `item_name` varchar(191) NOT NULL,
  `description` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `menu_item_translations_menu_item_id_locale_unique` (`menu_item_id`,`locale`),
  KEY `menu_item_translations_locale_index` (`locale`),
  CONSTRAINT `menu_item_translations_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `menu_item_translations`
INSERT INTO `menu_item_translations` VALUES
('1', '1', 'es', 'Papas Locas', 'Papas Locas');


-- Table structure for table `menu_item_variations`
CREATE TABLE `menu_item_variations` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `variation` varchar(191) NOT NULL,
  `price` decimal(16,2) NOT NULL,
  `batch_recipe_id` bigint(20) unsigned DEFAULT NULL,
  `batch_serving_size` decimal(16,3) DEFAULT NULL,
  `menu_item_id` bigint(20) unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `menu_item_variations_menu_item_id_foreign` (`menu_item_id`),
  KEY `menu_item_variations_batch_recipe_id_foreign` (`batch_recipe_id`),
  CONSTRAINT `menu_item_variations_batch_recipe_id_foreign` FOREIGN KEY (`batch_recipe_id`) REFERENCES `batch_recipes` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `menu_item_variations_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `menu_items`
CREATE TABLE `menu_items` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `kot_place_id` bigint(20) unsigned DEFAULT NULL,
  `item_name` varchar(191) NOT NULL,
  `image` varchar(191) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `type` enum('veg','non-veg','egg','drink','other','halal') DEFAULT NULL,
  `price` decimal(16,2) DEFAULT NULL,
  `menu_id` bigint(20) unsigned NOT NULL,
  `item_category_id` bigint(20) unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `preparation_time` int(11) DEFAULT NULL,
  `is_available` tinyint(1) NOT NULL DEFAULT 1,
  `show_on_customer_site` tinyint(1) NOT NULL DEFAULT 1,
  `in_stock` tinyint(1) NOT NULL DEFAULT 1,
  `batch_recipe_id` bigint(20) unsigned DEFAULT NULL,
  `batch_serving_size` decimal(16,3) DEFAULT NULL,
  `sort_order` int(10) unsigned NOT NULL DEFAULT 0,
  `tax_inclusive` tinyint(1) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  KEY `idx_branch_available` (`branch_id`,`is_available`),
  KEY `idx_menu_items_category` (`item_category_id`),
  KEY `idx_menu_items_menu` (`menu_id`),
  KEY `idx_menu_items_menu_category` (`menu_id`,`item_category_id`),
  KEY `menu_items_batch_recipe_id_foreign` (`batch_recipe_id`),
  CONSTRAINT `menu_items_batch_recipe_id_foreign` FOREIGN KEY (`batch_recipe_id`) REFERENCES `batch_recipes` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `menu_items_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `menu_items_item_category_id_foreign` FOREIGN KEY (`item_category_id`) REFERENCES `item_categories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `menu_items_menu_id_foreign` FOREIGN KEY (`menu_id`) REFERENCES `menus` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `menu_items`
INSERT INTO `menu_items` VALUES
('1', '3', NULL, 'Papas Locas', NULL, 'Papas Locas', 'non-veg', '5.00', '2', '1', '2026-05-05 08:30:31', '2026-05-05 08:30:31', '5', '1', '1', '1', NULL, NULL, '0', '0');


-- Table structure for table `menu_table`
CREATE TABLE `menu_table` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `table_id` bigint(20) unsigned NOT NULL,
  `menu_id` bigint(20) unsigned NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `menu_table_table_id_menu_id_unique` (`table_id`,`menu_id`),
  KEY `menu_table_menu_id_foreign` (`menu_id`),
  CONSTRAINT `menu_table_menu_id_foreign` FOREIGN KEY (`menu_id`) REFERENCES `menus` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `menu_table_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `menus`
CREATE TABLE `menus` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `menu_name` text DEFAULT NULL,
  `sort_order` int(10) unsigned NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `menus_branch_id_foreign` (`branch_id`),
  CONSTRAINT `menus_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `menus`
INSERT INTO `menus` VALUES
('1', '3', '{\"es\":\"Pollo\"}', '0', '2026-05-04 09:01:13', '2026-05-04 09:01:13'),
('2', '3', '{\"es\":\"Menu Principal\"}', '0', '2026-05-05 08:29:41', '2026-05-05 08:29:41');


-- Table structure for table `migrations`
CREATE TABLE `migrations` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `migration` varchar(191) NOT NULL,
  `batch` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=479 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `migrations`
INSERT INTO `migrations` VALUES
('1', '0001_01_01_000000_create_users_table', '1'),
('2', '0001_01_01_000001_create_cache_table', '1'),
('3', '0001_01_01_000002_create_jobs_table', '1'),
('4', '2014_04_02_193005_create_translations_table', '1'),
('5', '2024_01_01_create_printers_table', '1'),
('6', '2024_03_13_000002_create_expense_categories_table', '1'),
('7', '2024_07_01_060651_add_two_factor_columns_to_users_table', '1'),
('8', '2024_07_01_060707_create_personal_access_tokens_table', '1'),
('9', '2024_07_02_064204_create_menus_table', '1'),
('10', '2024_07_12_070634_create_areas_table', '1'),
('11', '2024_07_16_103816_create_orders_table', '1'),
('12', '2024_07_21_083459_add_user_type_column', '1'),
('13', '2024_07_24_131631_create_payments_table', '1'),
('14', '2024_07_31_081306_add_email_otp_column', '1'),
('15', '2024_08_02_061808_create_countries_table', '1'),
('16', '2024_08_02_071637_create_restaurant_settings_table', '1'),
('17', '2024_08_04_104258_create_razorpay_payments_table', '1'),
('18', '2024_08_05_092258_create_stripe_payments_table', '1'),
('19', '2024_08_05_110157_create_payment_gateway_credentials_table', '1'),
('20', '2024_08_13_033139_create_global_settings_table', '1'),
('21', '2024_08_13_073129_update_settings_add_envato_key', '1'),
('22', '2024_08_13_073129_update_settings_add_support_key', '1'),
('23', '2024_08_14_073129_update_settings_add_email', '1'),
('24', '2024_08_14_073129_update_settings_add_last_verified_key', '1'),
('25', '2024_09_13_081726_create_modules_table', '1'),
('26', '2024_09_14_130619_create_permission_tables', '1'),
('27', '2024_09_27_071339_create_reservations_table', '1'),
('28', '2024_10_02_090924_create_email_settings_table', '1'),
('29', '2024_10_03_073837_create_notification_settings_table', '1'),
('30', '2024_10_11_100539_create_branches_table', '1'),
('31', '2024_10_14_121135_create_onboarding_steps_table', '1'),
('32', '2024_10_15_071238_add_restaurant_hash_column', '1'),
('33', '2024_10_15_071238_storage', '1'),
('34', '2024_10_15_100639_create_restaurant_payments_table', '1'),
('35', '2024_10_27_101326_create_packages_table', '1'),
('36', '2024_11_02_112920_create_language_settings_table', '1'),
('37', '2024_11_02_120314_create_flags_table', '1'),
('38', '2024_11_02_120314_email_settings_table', '1'),
('39', '2024_11_08_071617_add_customer_login_required_column', '1'),
('40', '2024_11_08_093032_create_superadmin_payment_gateways_table', '1'),
('41', '2024_11_08_133506_add_stripe_column_for_license', '1'),
('42', '2024_11_12_055119_create_delivery_executives_table', '1'),
('43', '2024_11_12_055632_add_order_types_column', '1'),
('44', '2024_11_12_060500_create_order_histories_table', '1'),
('45', '2024_11_12_060500_global_license_type_table', '1'),
('46', '2024_11_12_060500_global_purchase_on_table', '1'),
('47', '2024_11_12_060500_global_setting_timezone_table', '1'),
('48', '2024_11_17_052707_currency_position', '1'),
('49', '2024_11_17_052707_move_qr_code', '1'),
('50', '2024_11_19_113852_add_is_active_to_restaurants_table', '1'),
('51', '2024_11_20_114816_add_staff_welcome_email_notification', '1'),
('52', '2024_11_25_061322_create_pusher_settings_table', '1'),
('53', '2024_11_26_090216_create_global_currencies_table', '1'),
('54', '2024_12_03_085842_add_about_us_column', '1'),
('55', '2024_12_03_104817_add_currency_id_packages', '1'),
('56', '2024_12_04_080223_add_allow_customer_delivery_orders', '1'),
('57', '2024_12_04_115601_add_preparation_time_column', '1'),
('58', '2024_12_11_110000_create_tables_for_subscription_table', '1'),
('59', '2024_12_11_131225_add_disable_landing_site_columns', '1'),
('60', '2024_12_12_090840_create_waiter_requests_table', '1'),
('61', '2024_12_13_090840_add_domain_global_setting', '1'),
('62', '2024_12_16_080201_create_lifetime_subscriptions_for_paid_restaurants', '1'),
('63', '2024_12_23_124452_add_payment_enabled_columns_to_payment_settings_table', '1'),
('64', '2024_12_27_054246_add_table_reservation_default_status_to_restaurants_table', '1'),
('65', '2024_12_30_074018_create_split_orders_table', '1'),
('66', '2024_12_30_200942_create_restaurant_settings_table', '1'),
('67', '2025_01_03_050139_add_social_media_links_to_reataurants_table', '1'),
('68', '2025_01_03_093938_add_social_media_links_to_global_settings_table', '1'),
('69', '2025_01_06_111550_create_receipt_settings_table', '1'),
('70', '2025_01_09_073145_generate_qr_codes_for_existing_branches', '1'),
('71', '2025_01_09_115652_update_receipt_settings_for_existing_restaurants', '1'),
('72', '2025_01_10_064103_add_table_required_column_to_customer_settings_table', '1'),
('73', '2025_01_10_100552_insert_to_file_storage_settings_default_values', '1'),
('74', '2025_01_11_063817_add_default_currency_column', '1'),
('75', '2025_01_15_000000_create_cart_header_settings_table', '1'),
('76', '2025_01_15_000001_create_cart_header_images_table', '1'),
('77', '2025_01_16_000000_add_is_header_disabled_to_cart_header_settings_table', '1'),
('78', '2025_01_16_125322_add_is_enabled_to_menu_items_table', '1'),
('79', '2025_01_16_131100_regenrate_qr_codes', '1'),
('80', '2025_01_20_000000_add_restaurant_id_to_roles', '1'),
('81', '2025_01_20_071544_add_branch_limit_to_packages_table', '1'),
('82', '2025_01_20_091630_update_item_type', '1'),
('83', '2025_01_20_125429_add_discount_columns_to_orders_table', '1'),
('84', '2025_01_21_064139_add_show_logo_text_column', '1'),
('85', '2025_01_21_064256_add_offline_payment', '1'),
('86', '2025_01_21_132218_fix_user_roles', '1'),
('87', '2025_01_22_114720_add_show_tax_to_receipt_setting', '1'),
('88', '2025_01_23_065746_create_modifier_groups_table', '1'),
('89', '2025_01_23_085333_create_restaurant_taxes_table', '1'),
('90', '2025_01_23_090554_create_modifier_options_table', '1'),
('91', '2025_01_23_094318_create_item_modifiers_table', '1'),
('92', '2025_01_23_121154_create_order_item_modifier_options_table', '1'),
('93', '2025_01_27_065822_add_balance_column_to_payment', '1'),
('94', '2025_01_28_111039_add_allow_dine_in_orders_to_restaurant', '1'),
('95', '2025_01_30_050755_add_yelp_icon_to_global_settings', '1'),
('96', '2025_01_30_055744_add_yelp_link_to_restaurants', '1'),
('97', '2025_01_30_100556_fix_package_price_length', '1'),
('98', '2025_01_30_104043_add_meta_data_to_global_settings', '1'),
('99', '2025_01_31_000001_create_predefined_amounts_table', '1'),
('100', '2025_02_03_062109_add_is_cash_payment_enabled_to_payment', '1'),
('101', '2025_02_04_140538_add_transaction_id_kot', '1'),
('102', '2025_02_15_121956_add_hide_new_orders_option_to_restaurant', '1'),
('103', '2025_02_17_052801_create_restaurant_charges_settings_table', '1'),
('104', '2025_02_17_093729_add_favicon_to_restaurant', '1'),
('105', '2025_02_19_091730_update_menu_name_to_json', '1'),
('106', '2025_02_20_095321_add_waiter_request_options_to_restaurant', '1'),
('107', '2025_02_21_051534_add_hash_to_global_settings_table', '1'),
('108', '2025_02_21_102116_add_column_to_settings', '1'),
('109', '2025_02_24_063827_add_payment_qr_to_receipt_settings', '1'),
('110', '2025_02_24_111946_add_permissions_to_customers', '1'),
('111', '2025_03_04_114535_add_is_enabled_to_restaurant_charges', '1'),
('112', '2025_03_10_055100_add_tip_column_to_orders_table', '1'),
('113', '2025_03_10_100727_add_is_pwa_intall_alert_show_column_in_restaurants_table', '1'),
('114', '2025_03_17_090450_add_meta_title_to_global_settings', '1'),
('115', '2025_03_18_044410_create_expenses_table', '1'),
('116', '2025_03_19_092459_create_custom_menus_table', '1'),
('117', '2025_03_19_103047_update_additional_modules', '1'),
('118', '2025_03_24_084350_add_show_payments_column_to_receipt_settings_table', '1'),
('119', '2025_04_01_050059_add_branch_id_to_expense_category', '1'),
('120', '2025_04_01_051356_add_branch_id_to_expenses', '1'),
('121', '2025_04_02_071911_update_kot_status_enum', '1'),
('122', '2025_04_07_112351_add_payment_recived_status_to_orders_table', '1'),
('123', '2025_04_08_063624_update_meta_keywords', '1'),
('124', '2025_04_10_065753_add_flutterwave_payment_gateway_columns_and_tables', '1'),
('125', '2025_04_15_084543_create_front_details_table', '1'),
('126', '2025_04_22_065157_create_front_reviews_setting_table', '1'),
('127', '2025_04_22_091055_create_branch_delivery_settings_table', '1'),
('128', '2025_04_22_091146_create_customer_addresses_table', '1'),
('129', '2025_04_22_091223_create_delivery_fee_tiers_table', '1'),
('130', '2025_04_22_091258_add_delivery_columns_to_orders_table', '1'),
('131', '2025_04_29_102014_add_landing_type_column_in_global_settings_table', '1'),
('132', '2025_04_29_114538_add_front_data_in_front_details_table', '1'),
('133', '2025_05_14_094039_update_printers_settings_columns_to_printers_table', '1'),
('134', '2025_05_15_071027_create_kot_places_table', '1'),
('135', '2025_05_23_124746_add_in_stock_column', '1'),
('136', '2025_05_26_105151_relocate_map_api_key_to_superadmin_settings', '1'),
('137', '2025_05_26_114443_modify_kot_places_table', '1'),
('138', '2025_05_30_081624_add_show_item_on_customer_site_to_menu_items', '1'),
('139', '2025_06_02_081928_add_session_driver_column_to_global_settings', '1'),
('140', '2025_06_02_112147_add_columns_to_superadmin_payment_gateways_table', '1'),
('141', '2025_06_02_112903_add_paypal_payment_column_to_payment_gateway_credentials', '1'),
('142', '2025_06_02_113108_create_paypal_payments_table', '1'),
('143', '2025_06_02_114326_add_paypal_payment_in_payment_method_to_payments', '1'),
('144', '2025_06_03_095923_add_status_column_kot_item', '1'),
('145', '2025_06_04_065130_add_columns_payfast_in_superadmin_payment_gateways_table', '1'),
('146', '2025_06_05_063256_add_sort_order_columns_in_menu_and_items', '1'),
('147', '2025_06_05_112055_create_kot_settings_table', '1'),
('148', '2025_06_06_050159_add_payfast_payment_column_to_payment_gateway_credentials', '1'),
('149', '2025_06_06_051204_create_payfast_payments_table', '1'),
('150', '2025_06_10_093131_change_delete_cascade_for_orders', '1'),
('151', '2025_06_11_061716_add_uuid_to_orders_table', '1'),
('152', '2025_06_11_062354_add_columns_paystack_in_superadmin_payment_gateways_table', '1'),
('153', '2025_06_13_112612_add_phone_to_users', '1'),
('154', '2025_06_13_113200_add_column_paystack_payments_to_payment_gateway_credentials', '1'),
('155', '2025_06_13_113240_create_paystack_payments_table', '1'),
('156', '2025_06_16_104533_add_note_columns_to_kot_items_and_order_items', '1'),
('157', '2025_06_18_112425_add_payment_gateways_to_restaurants_table', '1'),
('158', '2025_06_19_070518_add_position_to_custom_menus_table', '1'),
('159', '2025_06_20_060452_add_columns_to_branch_table', '1'),
('160', '2025_06_20_092521_add_others_type_to_payments_table', '1'),
('161', '2025_06_23_101041_create_kot_cancel_reasons_table', '1'),
('162', '2025_06_23_120021_update_kot_place_id_in_menu_items', '1'),
('163', '2025_06_24_092521_disable_printer', '1'),
('164', '2025_06_24_092811_add_column_cancel_kot_reason_to_kots_table', '1'),
('165', '2025_06_24_102830_update_enum_status_to_kots_table', '1'),
('166', '2025_06_25_094311_add_column_cancellation_reason_to_orders_table', '1'),
('167', '2025_06_26_060831_add_custom_delivery_options_to_restaurants_table', '1'),
('168', '2025_06_27_084541_insert_sample_kot_cancel_reasons_data', '1'),
('169', '2025_07_01_112529_create_print_jobs_table', '1'),
('170', '2025_07_01_133114_add_placed_via_column_orders_table', '1'),
('171', '2025_07_02_090709_create_order_types_table', '1'),
('172', '2025_07_02_105440_add_translations_columns_for_modifier_group', '1'),
('173', '2025_07_02_114040_add_unique_hash_to_branches_table', '1'),
('174', '2025_07_03_123829_update_kot_place_id_for_cloned_menu_items', '1'),
('175', '2025_07_04_064350_update_order_type_id_in_orders', '1'),
('176', '2025_07_04_081809_add_tax_mode_to_restaurants_table', '1'),
('177', '2025_07_04_131541_create_desktop_applications_table', '1'),
('178', '2025_07_07_070122_add_pusher_broadcast_to_pusher_settings_table', '1'),
('179', '2025_07_07_110131_create_menu_item_taxes_table', '1'),
('180', '2025_07_14_082950_add_columns_to_restaurants_table', '1'),
('181', '2025_07_14_124125_add_pick_up_date_range_in_restaurants_table', '1'),
('182', '2025_07_17_122331_create_order_number_settings', '1'),
('183', '2025_07_29_063129_modify_item_type_in-menus', '1'),
('184', '2025_07_29_082605_add_show_halal_and_veg_option_to_restaurants', '1'),
('185', '2025_07_30_125616_add_tax_mode_to_orders', '1'),
('186', '2025_08_01_114055_add_reservation_column_to_restaurants_table', '1'),
('187', '2025_08_04_131541_create_desktop_applications_update_table', '1'),
('188', '2025_08_05_081541_modify_split_orders_table_add_bank_transfer', '1'),
('189', '2025_08_06_065323_change_payment_method_to_string_in_payments_table', '1'),
('190', '2025_08_07_033322_add_column_disable_slot_minutes_to_restaurants_table', '1'),
('191', '2025_08_08_115502_add_variation_id_to_item_modifiers', '1'),
('192', '2025_08_12_133228_change_package_description_length', '1'),
('193', '2025_08_13_060315_rename_payfast_columns_in_superadmin_payment_gateways_table', '1'),
('194', '2025_08_13_110934_add_default_expense_categories_to_existing_branches', '1'),
('195', '2025_08_16_110310_add_slot_time_difference_to_reservations', '1'),
('196', '2025_08_19_071639_fix_tax_percent_to_unlimited_decimal', '1'),
('197', '2025_08_19_131541_create_desktop_applications_mac_update_table', '1'),
('198', '2025_08_20_000001_add_quantity_to_split_order_items', '1'),
('199', '2025_08_21_100452_add_html_content_print_job', '1'),
('200', '2025_08_25_050939_add_hide_menu_item_image_columns_to_restaurants_table', '1'),
('201', '2025_08_25_060934_add_xendit_payment_gateway_to_payment_gateway_credentials_table', '1'),
('202', '2025_08_25_061405_add_xendit_to_global_settings_table', '1'),
('203', '2025_08_25_061500_create_xendit_payments_table', '1'),
('204', '2025_08_25_062000_add_xendit_webhook_verification_tokens', '1'),
('205', '2025_08_29_091315_add_phone_code_to_customers_table', '1'),
('206', '2025_09_02_085025_add_xendit_payment_column_to_superadmin_payment_gateways_table', '1'),
('207', '2025_09_02_113846_add_xendit_payments_column_to_packages_table', '1'),
('208', '2025_09_02_130000_create_otps_table', '1'),
('209', '2025_09_11_094443_remove_phone_unique', '1'),
('210', '2025_09_15_100452_remove_extra_content_print_job', '1'),
('211', '2025_09_17_094034_create_cart_session_tables', '1'),
('212', '2025_09_18_051324_add_limit_columns_to_packages_table', '1'),
('213', '2025_09_18_083624_add_table_lock_columns_and_settings', '1'),
('214', '2025_09_23_062535_add_cancel_functionality_to_kot_items_table', '1'),
('215', '2025_09_25_063220_add_xendit_webhook_token_to_superadmin_payment_gateways', '1'),
('216', '2025_09_26_115847_add_token_number_to_orders_table', '1'),
('217', '2025_09_26_115854_add_enable_token_number_to_order_types_table', '1'),
('218', '2025_09_29_095519_create_delivery_platforms_table', '1'),
('219', '2025_10_01_064424_create_menu_item_prices_table', '1'),
('220', '2025_10_07_070000_add_reference_id_to_payment_tables', '1'),
('221', '2025_10_07_094006_add_token_number_to_kots_table', '1'),
('222', '2025_10_07_094018_remove_token_number_from_orders_table', '1'),
('223', '2025_10_08_095954_add_columns_paddle_payment_keys_to_superadmin_payment_gateways', '1'),
('224', '2025_10_08_102000_add_paddle_client_token_columns_to_superadmin_payment_gateways', '1'),
('225', '2025_10_09_041734_add_enable_paddle_to_global_settings_table', '1'),
('226', '2025_10_09_065853_remove_payload_from_print_jobs', '1'),
('227', '2025_10_09_084200_add_package_id_to_restaurant_payments_table', '1'),
('228', '2025_10_09_091500_add_paddle_price_ids_to_packages_table', '1'),
('229', '2025_10_10_100000_add_paddle_webhook_secret_to_superadmin_payment_gateways', '1'),
('230', '2025_10_10_122321_add_privacy_policy_link_to_global_settings_table', '1'),
('231', '2025_10_14_000001_create_modifier_option_prices_table', '1'),
('232', '2025_10_14_071228_add_consent_fields_to_users_table', '1'),
('233', '2025_10_14_105354_add_order_item_id_to_kot_items_table', '1'),
('234', '2025_10_15_045419_sms_count_packages', '1'),
('235', '2025_10_17_074528_add_delivery_app_id_orders_table', '1'),
('236', '2025_10_27_065853_add_from_printer_type', '1'),
('237', '2025_10_28_065738_add_discount_permission_to_existing_roles', '1'),
('238', '2025_10_28_081340_add_multipos_limit_to_packages_table', '1'),
('239', '2025_10_30_055800_add_qr_order_location_columns_to_restaurants_table', '1'),
('240', '2025_11_03_065853_add_from_printer_enum', '1'),
('241', '2025_11_07_065319_add_disable_order_type_popup_to_restaurants_table', '1'),
('242', '2025_11_10_000000_add_show_customer_phone_to_receipt_settings_table', '1'),
('243', '2025_11_10_000001_add_show_payment_status_to_receipt_settings_table', '1'),
('244', '2025_11_10_100652_add_added_by_to_orders_table', '1'),
('245', '2025_11_12_081126_create_table_epay_payments_table', '1'),
('246', '2025_11_13_060849_add_cancelled_by_to_orders_table', '1'),
('247', '2025_11_18_083606_add_modifier_option_prices_column_to_table', '1'),
('248', '2025_11_21_092424_add_time_format_to_restaurants_table', '1'),
('249', '2025_11_21_095021_add_date_format_to_restaurants_table', '1'),
('250', '2025_11_21_164300_add_time_format_and_date_format_to_global_settings_table', '1'),
('251', '2025_11_27_082212_create_push_notifications_table', '1'),
('252', '2025_11_27_084813_allow_duplicate_customer_email_per_restaurant', '1'),
('253', '2025_12_01_061505_add_columns_to_restaurants_table', '1'),
('254', '2025_12_03_055406_change_column_into_orders_table', '1'),
('255', '2025_12_03_063129_add_cancel_time_to_orders_table', '1'),
('256', '2025_12_03_090241_add_phone_code_to_delivery_executives_table', '1'),
('257', '2025_12_03_101309_add_disable_from_customer_site_to_order_types_table', '1'),
('258', '2025_12_05_120000_update_customer_email_unique_per_restaurant', '1'),
('259', '2025_12_10_040806_add_order_confirmed_notification_to_existing_restaurants', '1'),
('260', '2025_12_12_063203_add_enable_mollie_to_global_settings_table', '1'),
('261', '2025_12_12_063224_add_mollie_payment_gateway_to_payment_gateway_credentials_table', '1'),
('262', '2025_12_12_071258_create_mollie_payments_table', '1'),
('263', '2025_12_15_022410_add_show_support_ticket_to_global_settings_table', '1'),
('264', '2025_12_16_170214_add_indexes_for_pos_queries', '1'),
('265', '2025_12_18_072141_add_mollie_webhook_secret_to_payment_gateway_credentials_table', '1'),
('266', '2025_12_19_042834_add_loyalty_columns_to_orders_table', '1'),
('267', '2025_12_20_000000_add_cancelled_by_to_kot_items_table', '1'),
('268', '2025_12_21_000001_create_refund_reasons_table', '1'),
('269', '2025_12_24_075701_create_assign_waiter_to_tables_table', '1'),
('270', '2025_12_31_063109_add_cascade_delete_to_split_orders_order_id', '1'),
('271', '2025_12_31_081636_create_branch_operational_shifts_table', '1'),
('272', '2025_12_31_093806_add_restaurant_id_and_update_day_of_week_to_branch_operational_shifts_table', '1'),
('273', '2025_12_31_100538_change_day_of_week_from_enum_to_string_in_branch_operational_shifts_table', '1'),
('274', '2026_01_02_052013_change_day_of_week_to_json_in_branch_operational_shifts_table', '1'),
('275', '2026_01_07_120000_add_mollie_columns_to_superadmin_payment_gateways_table', '1'),
('276', '2026_01_16_112054_create_menu_table_pivot_table', '1'),
('277', '2026_01_20_000001_add_schedule_fields_to_notification_settings_table', '1'),
('278', '2026_01_21_000001_update_kot_settings_default_status_columns', '1'),
('279', '2026_01_21_120000_add_superadmin_modules_and_permissions_for_existing_installs', '1'),
('280', '2026_01_22_000000_add_ai_monthly_request_limit_to_packages_table', '1'),
('281', '2026_01_22_061911_add_menu_pdf_sent_notification_to_existing_restaurants', '1'),
('282', '2026_01_22_102923_add_include_charges_in_tax_base_to_settings_table', '1'),
('283', '2026_01_27_110718_add_columns_to_superadmin_payment_gateways_table_for_tap_table', '1'),
('284', '2026_01_27_110905_create_tap_payment_gateway_tables', '1'),
('285', '2026_02_03_063404_add_is_due_and_due_amount_received_to_payments_table', '1'),
('286', '2026_02_03_105222_sync_cash_and_bank_transfer_to_offline_payment_methods', '1'),
('287', '2026_02_04_000001_add_unique_code_to_delivery_executives_table', '1'),
('288', '2026_02_05_072241_update_menu_table_is_active_column', '1'),
('289', '2026_02_10_091859_add_payer_details_to_split_orders_table', '1'),
('290', '2026_02_11_120000_add_order_note_to_orders_table', '1'),
('291', '2026_02_16_095800_add_and_update_columns_to_restaurants_table', '1'),
('292', '2026_02_16_215609_assign_export_menu_item_permission_to_existing_roles', '1'),
('293', '2026_02_19_000001_add_show_order_number_on_board_to_order_types_table', '1'),
('294', '2026_02_19_164315_add_waiter_response_to_orders_table', '1'),
('295', '2026_02_20_000000_add_cr_vat_to_branches_table', '1'),
('296', '2026_02_23_000001_add_branch_id_to_receipt_settings_table', '1'),
('297', '2026_02_23_100000_add_branch_id_to_taxes_table', '1'),
('298', '2026_02_26_000001_add_open_close_settings_to_restaurants_table', '1'),
('299', '2026_02_27_000002_add_manual_open_close_type_to_restaurants_table', '1'),
('300', '2026_02_27_000004_replace_restaurant_open_close_permissions', '1'),
('301', '2026_03_05_000000_rename_desktop_applications_to_desktop_mobile_application', '1'),
('302', '2026_03_09_000001_add_email_to_delivery_executives_table', '1'),
('303', '2026_03_09_110642_add_refund_payments_permission_table', '1'),
('304', '2026_03_10_000000_add_google_business_link_to_restaurants', '1'),
('305', '2026_03_10_000001_add_google_business_link_to_global_settings', '1'),
('306', '2026_03_12_120000_create_order_cash_collections_table', '1'),
('307', '2026_03_12_160000_create_delivery_cash_settlements_tables', '1'),
('308', '2026_03_16_000002_create_order_notification_settings_table', '1'),
('309', '2026_03_19_000001_backfill_delivery_executive_online_status', '1'),
('310', '2023_10_17_073008_create_universal_bundle_settings_table', '2'),
('311', '2025_01_15_000000_create_database_backups_table', '3'),
('312', '2025_01_15_000001_create_database_backup_settings_table', '3'),
('313', '2026_01_14_099999_create_aitools_global_settings_table', '4'),
('314', '2026_01_15_000000_create_ai_device_tokens_table', '4'),
('315', '2026_01_15_100000_add_ai_settings_to_restaurants_table', '4'),
('316', '2026_01_15_100001_create_ai_conversations_table', '4'),
('317', '2026_01_15_100002_create_ai_messages_table', '4'),
('318', '2026_01_15_100003_create_ai_usage_daily_table', '4'),
('319', '2026_01_22_000002_ensure_aitools_module_for_packages', '4'),
('320', '2026_01_23_100000_create_ai_token_usage_history_table', '4'),
('321', '2025_09_01_073008_create_global_font_settings_table', '5'),
('322', '2026_01_02_000000_create_font_control_settings_table', '5'),
('323', '2026_01_06_000001_add_font_local_path_to_font_control_settings_table', '5'),
('324', '2026_01_07_000002_create_font_control_qr_settings_table', '5'),
('325', '2026_01_25_000000_ensure_font_control_columns copy', '5'),
('326', '2026_08_01_000000_remove_duplicate_file_storage', '5'),
('327', '2020_04_09_121040_subdomain_settings', '6'),
('328', '2024_11_01_000000_add_sub_domain_in_companies_table', '6'),
('329', '2025_01_01_121040_inventory_global_settings', '7'),
('330', '2025_02_06_095827_create_invetory_module_table', '7'),
('331', '2025_02_12_create_purchase_orders_tables', '7'),
('332', '2025_03_02_181226_create_inventory_settings_table', '7'),
('333', '2025_03_05_100018_create_inventory_settings_table', '7'),
('334', '2025_03_19_113535_soft_delete_supplier', '7'),
('335', '2025_03_20_113535_permission_supplier', '7'),
('336', '2025_07_07_000000_add_variation_support_to_recipes_table', '7'),
('337', '2025_07_07_000001_add_modifier_option_support_to_recipes_table', '7'),
('338', '2025_07_07_000002_make_menu_item_id_nullable_in_recipes_table copy', '7'),
('339', '2025_09_11_000002_update_cascade_purchase_orders_table', '8'),
('340', '2025_11_25_000000_create_purchase_order_payments_table', '8'),
('341', '2025_11_25_120001_add_description_photo_to_inventory_items_table', '8'),
('342', '2025_11_30_000001_create_batch_recipes_table', '8'),
('343', '2025_11_30_000002_create_batch_recipe_items_table', '8'),
('344', '2025_11_30_000003_create_batch_productions_table', '8'),
('345', '2025_11_30_000004_create_batch_stocks_table', '8'),
('346', '2025_11_30_000005_add_batch_fields_to_menu_items_table', '8'),
('347', '2025_11_30_000006_create_batch_consumptions_table', '8'),
('348', '2025_11_30_000007_add_batch_recipe_permissions', '8'),
('349', '2025_11_30_000008_assign_batch_permissions_to_admins', '8'),
('350', '2025_11_30_000009_add_references_to_inventory_movements_table', '8'),
('351', '2025_12_05_070719_update_decimal_precision_to_3_in_inventory_module', '8'),
('352', '2026_02_26_000000_add_stock_summary_email_to_inventory_settings_table copy', '8'),
('353', '2026_03_26_000000_add_source_branch_id_column_inventory_movements_table', '8'),
('354', '2023_10_09_114356_create_language_pack_settings_table', '9'),
('355', '2023_11_02_094141_language_pack_notify_update_global_settings', '9'),
('356', '2023_11_28_094141_language_license_type_update_global_settings', '9'),
('357', '2023_12_19_091940_purchased_on_language_setting_table', '9'),
('358', '2025_01_01_073008_create_global_settings_table', '10'),
('359', '2025_01_15_000001_create_pos_machines_table', '10'),
('360', '2025_01_15_000002_add_pos_machine_id_to_orders_table', '10'),
('361', '2025_01_15_000003_add_pos_machine_id_to_register_sessions_table', '10'),
('362', '2025_10_24_100001_create_multi_pos_module', '10'),
('363', '2025_11_07_093246_add_device_id_to_pos_machines_table', '10'),
('364', '2025_11_24_181400_call_activate_command_for_notification_settings', '10'),
('365', '2025_01_15_000001_create_storage_guard_global_settings_table', '11'),
('366', '2025_09_01_073008_create_global_settings_table', '12'),
('367', '2025_09_16_000001_create_cash_register_module', '12'),
('368', '2025_09_16_000001_create_cash_registers_tables', '12'),
('369', '2025_09_18_000002_add_approval_columns_to_cash_register_sessions', '12'),
('370', '2025_09_20_000003_create_denominations_table', '12'),
('371', '2025_09_26_043532_create_cash_register_settings_table', '12'),
('372', '2025_09_29_120001_add_order_id_to_cash_register_transactions_table', '12'),
('373', '2025_10_08_070529_add_open_register_permission_to_cash_register_module', '12'),
('374', '2025_10_08_080000_rename_cash_register_permissions', '12'),
('375', '2025_10_10_120000_drop_currency_from_denominations', '12'),
('376', '2026_02_02_000001_add_payment_id_to_cash_register_transactions_table', '12'),
('377', '2026_02_02_000002_add_payment_method_to_cash_register_transactions_table', '12'),
('378', '2025_01_01_121040_kitchen_global_settings', '13'),
('379', '2025_05_19_163251_add_permission_to_kot_places', '13'),
('380', '2025_06_12_094512_add_kitchen_place_id_to_kot', '13'),
('381', '2025_08_01_164051_create_kiosk_setting_tables', '14'),
('382', '2025_09_26_164051_create_kiosk_tables', '14'),
('383', '2025_09_26_164052_create_kiosk_promos_tables', '14'),
('384', '2025_10_08_164052_create_kiosks', '14'),
('385', '2025_06_16_121348_update_kot_place_id_in_menu_items', '15'),
('386', '2025_12_18_099999_create_loyality_global_settings_table', '16'),
('387', '2025_12_19_042830_create_loyalty_accounts_table', '16'),
('388', '2025_12_19_042831_create_loyalty_ledger_table', '16'),
('389', '2025_12_19_042832_create_loyalty_settings_table', '16'),
('390', '2025_12_19_045500_add_loyalty_module_to_packages', '16'),
('391', '2025_12_29_103153_add_platform_enable_fields_to_loyalty_settings_table', '16'),
('392', '2026_01_07_100000_create_loyalty_tiers_table', '16'),
('393', '2026_01_07_100001_add_tier_id_to_loyalty_accounts_table', '16'),
('394', '2026_01_07_100002_create_loyalty_stamp_rules_table', '16'),
('395', '2026_01_07_100003_create_customer_stamps_table', '16'),
('396', '2026_01_07_100004_create_loyalty_stamp_transactions_table', '16'),
('397', '2026_01_07_100005_add_default_loyalty_tiers', '16'),
('398', '2026_01_07_100006_add_loyalty_type_fields_to_loyalty_settings_table', '16'),
('399', '2026_01_07_100007_add_separate_platform_fields_for_points_and_stamps', '16'),
('400', '2026_01_07_100008_add_stamp_redemption_fields_to_orders_and_order_items', '16'),
('401', '2026_01_20_100009_add_reward_menu_item_variation_id_to_loyalty_stamp_rules_table', '16'),
('402', '2026_01_27_100010_add_loyalty_columns_to_kot_items_table', '16'),
('403', '2025_09_01_073008_create_global_webhooks_settings_table', '17'),
('404', '2026_01_20_000000_create_webhooks_tables', '17'),
('405', '2026_01_21_000001_ensure_webhooks_module_for_packages', '17'),
('406', '2026_01_22_000000_add_webhook_routing_controls', '17'),
('407', '2026_01_23_000000_create_system_webhooks_tables', '17'),
('408', '2025_01_14_099999_create_whatsapp_global_settings_table', '18'),
('409', '2025_01_15_000000_create_whatsapp_module_entry', '18'),
('410', '2025_01_15_000001_create_whatsapp_settings_table', '18'),
('411', '2025_01_15_000002_create_whatsapp_template_mappings_table', '18'),
('412', '2025_01_15_000003_create_whatsapp_template_definitions_table', '18'),
('413', '2025_01_15_000004_create_whatsapp_notification_logs_table', '18'),
('414', '2025_01_15_000005_rename_business_phone_number_to_verify_token_in_whatsapp_settings_table', '18'),
('415', '2025_01_15_000006_create_whatsapp_notification_preferences_table', '18'),
('416', '2025_01_15_000007_create_whatsapp_automated_schedules_table', '18'),
('417', '2025_01_15_000008_create_whatsapp_report_schedules_table', '18'),
('418', '2025_11_21_111459_change_recipients_to_roles_in_whatsapp_report_schedules_table', '18'),
('419', '2025_11_25_145100_seed_whatsapp_template_definitions', '18'),
('420', '2025_12_04_094322_add_roles_to_whatsapp_automated_schedules_table', '18'),
('421', '2025_12_15_100000_add_webhook_fields_to_whatsapp_settings_table', '18'),
('422', '2026_03_06_000001_seed_default_whatsapp_notification_preferences', '18'),
('423', '2026_03_17_000002_update_operations_summary_template_definition', '18'),
('424', '2026_03_17_000003_update_reservation_notification_button_url', '18'),
('425', '2026_03_17_000004_update_operations_summary_button_url', '18'),
('426', '2026_03_17_000005_update_staff_and_kitchen_template_descriptions', '18'),
('427', '2026_03_17_000006_update_staff_notification_description', '18'),
('428', '2026_03_18_000001_add_staff_new_order_alert_preference', '18'),
('429', '2026_02_13_092108_create_hotel_global_settings_table', '19'),
('430', '2026_02_13_092109_add_permissions_to_hotel_modules_table', '19'),
('431', '2026_02_13_092110_create_hotel_room_types_table', '19'),
('432', '2026_02_13_092111_create_hotel_rooms_table', '19'),
('433', '2026_02_13_092112_create_hotel_rate_plans_table', '19'),
('434', '2026_02_13_092113_create_hotel_rates_table', '19'),
('435', '2026_02_13_092114_create_hotel_guests_table', '19'),
('436', '2026_02_13_092115_create_hotel_reservations_table', '19'),
('437', '2026_02_13_092116_create_hotel_reservation_rooms_table', '19'),
('438', '2026_02_13_092117_create_hotel_stays_table', '19'),
('439', '2026_02_13_092118_create_hotel_stay_guests_table', '19'),
('440', '2026_02_13_092119_create_hotel_folios_table', '19'),
('441', '2026_02_13_092120_create_hotel_folio_lines_table', '19'),
('442', '2026_02_13_092121_create_hotel_folio_payments_table', '19'),
('443', '2026_02_13_092122_create_hotel_housekeeping_tasks_table', '19'),
('444', '2026_02_13_092123_create_hotel_venues_table', '19'),
('445', '2026_02_13_092124_create_hotel_events_table', '19'),
('446', '2026_02_13_092125_create_hotel_event_charges_table', '19'),
('447', '2026_02_13_092126_add_context_to_orders_table', '19'),
('448', '2026_02_18_082133_add_room_service_order_types_to_room_service_orders_table', '19'),
('449', '2026_03_23_100000_add_reservation_form_improvements_tables', '19'),
('450', '2026_03_24_120500_add_advance_payment_method_to_hotel_reservations_table', '19'),
('451', '2025_08_25_062431_create_sms_settings_table', '20'),
('452', '2025_08_25_085421_create_sms_permissions_table', '20'),
('453', '2025_08_28_081001_create_sms_notification_settings_table', '20'),
('454', '2025_09_09_045430_create_sms_template_table', '20'),
('455', '2025_09_25_065936_create_sms_usage_logs_table', '20'),
('456', '2025_09_26_055517_add_columns_to_packages_table', '20'),
('457', '2025_11_12_061341_add_data_to_sms_notification_settings_table', '20'),
('458', '2026_03_28_120000_add_android_sms_gateway_columns', '20'),
('459', '2026_03_28_140000_add_android_sms_gateway_owner_and_restaurant_settings', '20'),
('460', '2025_09_01_073008_create_global_restapi_setting_table', '21'),
('461', '2026_01_10_000001_create_application_integration_settings_table', '21'),
('462', '2026_02_06_000001_create_delivery_partner_device_tokens_table', '21'),
('463', '2026_02_09_000001_create_delivery_executive_locations_table', '21'),
('464', '2026_02_15_000000_create_ai_device_tokens_table', '21'),
('465', '2026_03_18_000001_add_firebase_settings_to_restapi_global_settings_table', '21'),
('466', '2026_03_18_000002_add_firebase_json_to_restapi_global_settings_table', '21'),
('467', '2026_03_19_000003_create_delivery_partner_notifications_table', '21'),
('468', '2026_03_23_000002_fix_partner_device_token_registration_id', '21'),
('469', '2026_03_23_000003_add_partner_device_token_status_if_missing', '21'),
('470', '2026_03_23_000004_add_device_id_and_status_to_delivery_partner_device_tokens', '21'),
('471', '2026_04_20_120000_add_discount_apply_on_to_orders_table', '22'),
('472', '2026_04_23_000001_add_image_to_item_categories_table', '22'),
('473', '2026_04_23_100000_add_meta_image_to_global_settings_table', '22'),
('474', '2026_04_24_000000_add_menu_item_default_image_settings_to_restaurants_table', '22'),
('475', '2026_04_28_100000_create_expenses_recurring_table', '22'),
('476', '2026_04_28_100001_add_expenses_recurring_id_to_expenses_table', '22'),
('477', '2026_04_29_120000_add_receipt_languages_to_receipt_settings_table', '22'),
('478', '2026_04_29_141500_add_map_provider_to_global_settings_table', '22');


-- Table structure for table `model_has_permissions`
CREATE TABLE `model_has_permissions` (
  `permission_id` bigint(20) unsigned NOT NULL,
  `model_type` varchar(191) NOT NULL,
  `model_id` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`),
  CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `model_has_roles`
CREATE TABLE `model_has_roles` (
  `role_id` bigint(20) unsigned NOT NULL,
  `model_type` varchar(191) NOT NULL,
  `model_id` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`),
  CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `model_has_roles`
INSERT INTO `model_has_roles` VALUES
('1', 'App\\Models\\User', '1'),
('6', 'App\\Models\\User', '4'),
('10', 'App\\Models\\User', '5');


-- Table structure for table `modifier_group_translations`
CREATE TABLE `modifier_group_translations` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `modifier_group_id` bigint(20) unsigned NOT NULL,
  `locale` varchar(191) NOT NULL,
  `name` varchar(191) DEFAULT NULL,
  `description` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `modifier_group_translations_modifier_group_id_locale_unique` (`modifier_group_id`,`locale`),
  KEY `modifier_group_translations_locale_index` (`locale`),
  CONSTRAINT `modifier_group_translations_modifier_group_id_foreign` FOREIGN KEY (`modifier_group_id`) REFERENCES `modifier_groups` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `modifier_groups`
CREATE TABLE `modifier_groups` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(191) NOT NULL,
  `description` text DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `modifier_groups_branch_id_foreign` (`branch_id`),
  CONSTRAINT `modifier_groups_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `modifier_option_prices`
CREATE TABLE `modifier_option_prices` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `modifier_group_id` bigint(20) unsigned NOT NULL,
  `modifier_option_id` bigint(20) unsigned DEFAULT NULL,
  `order_type_id` bigint(20) unsigned DEFAULT NULL,
  `delivery_app_id` bigint(20) unsigned DEFAULT NULL,
  `calculated_price` decimal(16,2) NOT NULL,
  `override_price` decimal(16,2) DEFAULT NULL,
  `final_price` decimal(16,2) NOT NULL DEFAULT 0.00,
  `status` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `modifier_option_prices_modifier_group_id_foreign` (`modifier_group_id`),
  KEY `modifier_option_prices_modifier_option_id_foreign` (`modifier_option_id`),
  KEY `modifier_option_prices_order_type_id_foreign` (`order_type_id`),
  KEY `modifier_option_prices_delivery_app_id_foreign` (`delivery_app_id`),
  CONSTRAINT `modifier_option_prices_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `modifier_option_prices_modifier_group_id_foreign` FOREIGN KEY (`modifier_group_id`) REFERENCES `modifier_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `modifier_option_prices_modifier_option_id_foreign` FOREIGN KEY (`modifier_option_id`) REFERENCES `modifier_options` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `modifier_option_prices_order_type_id_foreign` FOREIGN KEY (`order_type_id`) REFERENCES `order_types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `modifier_options`
CREATE TABLE `modifier_options` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `modifier_group_id` bigint(20) unsigned NOT NULL,
  `name` text DEFAULT NULL,
  `price` decimal(16,2) NOT NULL,
  `is_available` tinyint(1) NOT NULL DEFAULT 1,
  `sort_order` int(11) NOT NULL DEFAULT 0,
  `is_preselected` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `modifier_options_modifier_group_id_foreign` (`modifier_group_id`),
  CONSTRAINT `modifier_options_modifier_group_id_foreign` FOREIGN KEY (`modifier_group_id`) REFERENCES `modifier_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `modules`
CREATE TABLE `modules` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(191) NOT NULL,
  `is_superadmin` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `modules`
INSERT INTO `modules` VALUES
('1', 'Restaurants', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('2', 'Superadmin Payment', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('3', 'Packages', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('4', 'Billing', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('5', 'Offline Request', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('6', 'SuperAdmin', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('7', 'Landing Site', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('8', 'Superadmin Settings', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('9', 'Menu', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('10', 'Menu Item', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('11', 'Item Category', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('12', 'Area', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('13', 'Table', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('14', 'Reservation', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('15', 'KOT', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('16', 'Order', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('17', 'Customer', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('18', 'Staff', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('19', 'Report', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('20', 'Delivery Executive', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('21', 'Waiter Request', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('22', 'Expense', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('23', 'Payment', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('24', 'Settings', '0', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('25', 'Aitools', '0', '2026-05-03 12:40:18', '2026-05-03 12:40:18'),
('26', 'Inventory', '0', '2026-05-03 12:41:54', '2026-05-03 12:41:54'),
('27', 'MultiPOS', '0', '2026-05-03 12:42:27', '2026-05-03 12:42:27'),
('28', 'Cash Register', '0', '2026-05-03 12:42:46', '2026-05-03 12:42:46'),
('29', 'Kitchen', '0', '2026-05-03 12:42:55', '2026-05-03 12:42:55'),
('30', 'Kiosk', '0', '2026-05-03 12:43:12', '2026-05-03 12:43:12'),
('31', 'Loyalty', '0', '2026-05-03 12:43:51', '2026-05-03 12:43:51'),
('32', 'Webhooks', '0', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('33', 'Whatsapp', '0', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('34', 'Hotel', '0', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('35', 'Sms', '0', '2026-05-03 12:44:35', '2026-05-03 12:44:35');


-- Table structure for table `mollie_payments`
CREATE TABLE `mollie_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `mollie_payment_id` varchar(191) DEFAULT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `payment_status` enum('pending','completed','failed') NOT NULL DEFAULT 'pending',
  `payment_date` timestamp NULL DEFAULT NULL,
  `payment_error_response` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payment_error_response`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `mollie_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `mollie_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `multi_pos_global_settings`
CREATE TABLE `multi_pos_global_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_code` varchar(191) DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `license_type` varchar(20) DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `multi_pos_global_settings`
INSERT INTO `multi_pos_global_settings` VALUES
('1', '4143bc78-adc8-433b-a593-ed9f0e35ca5e', '2026-11-02 02:33:52', NULL, NULL, '1', '2026-05-03 12:42:27', '2026-05-03 12:42:28');


-- Table structure for table `notification_settings`
CREATE TABLE `notification_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `type` varchar(191) NOT NULL,
  `send_email` tinyint(1) NOT NULL DEFAULT 1,
  `send_time` time DEFAULT NULL,
  `last_sent_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `notification_settings_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `notification_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `notification_settings`
INSERT INTO `notification_settings` VALUES
('7', '2', 'order_received', '1', NULL, NULL, NULL, NULL),
('8', '2', 'reservation_confirmed', '1', NULL, NULL, NULL, NULL),
('9', '2', 'new_reservation', '1', NULL, NULL, NULL, NULL),
('10', '2', 'order_bill_sent', '1', NULL, NULL, NULL, NULL),
('11', '2', 'staff_welcome', '1', NULL, NULL, NULL, NULL),
('12', '3', 'order_received', '1', NULL, NULL, NULL, NULL),
('13', '3', 'reservation_confirmed', '1', NULL, NULL, NULL, NULL),
('14', '3', 'new_reservation', '1', NULL, NULL, NULL, NULL),
('15', '3', 'order_bill_sent', '1', NULL, NULL, NULL, NULL),
('16', '3', 'staff_welcome', '1', NULL, NULL, NULL, NULL);


-- Table structure for table `notifications`
CREATE TABLE `notifications` (
  `id` char(36) NOT NULL,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `type` varchar(191) NOT NULL,
  `notifiable_type` varchar(191) NOT NULL,
  `notifiable_id` bigint(20) unsigned NOT NULL,
  `data` text NOT NULL,
  `read_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `notifications_restaurant_id_foreign` (`restaurant_id`),
  KEY `notifications_notifiable_type_notifiable_id_index` (`notifiable_type`,`notifiable_id`),
  CONSTRAINT `notifications_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `notifications`
INSERT INTO `notifications` VALUES
('a64b1524-cb0f-4836-b82c-70fd5d7172a5', NULL, 'Modules\\MultiPOS\\Notifications\\PosMachineRegistrationRequest', 'App\\Models\\User', '4', '{\"pos_machine_id\":2,\"machine_alias\":\"GiGi Food POS 1777885220\",\"machine_public_id\":\"01KQS3F3GR14G6NW3MV2HZ8VZ8\",\"branch_id\":3,\"branch_name\":\"GiGi Food\",\"created_by\":4,\"creator_name\":\"William\",\"status\":\"pending\",\"created_at\":\"2026-05-04 09:00:20\",\"url\":\"https:\\/\\/gigi.qonpos.com\\/settings?tab=multipos\"}', NULL, '2026-05-04 09:00:20', '2026-05-04 09:00:20'),
('c29abb85-838b-404f-8696-f74dc877cffa', NULL, 'Modules\\MultiPOS\\Notifications\\PosMachineRegistrationRequest', 'App\\Models\\User', '4', '{\"pos_machine_id\":1,\"machine_alias\":\"POST HOME\",\"machine_public_id\":\"01KQQ03C7NZZ0DNSAND9KX0YM3\",\"branch_id\":3,\"branch_name\":\"GiGi Food\",\"created_by\":4,\"creator_name\":\"William\",\"status\":\"pending\",\"created_at\":\"2026-05-03 13:23:01\",\"url\":\"https:\\/\\/gigi.qonpos.com\\/settings?tab=multipos\"}', NULL, '2026-05-03 13:23:01', '2026-05-03 13:23:01');


-- Table structure for table `offline_payment_methods`
CREATE TABLE `offline_payment_methods` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `description` text DEFAULT NULL,
  `status` enum('active','inactive') NOT NULL DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `offline_payment_methods_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `offline_payment_methods_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `offline_payment_methods`
INSERT INTO `offline_payment_methods` VALUES
('3', '2', 'cash', NULL, 'inactive', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('4', '2', 'bank_transfer', NULL, 'inactive', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('5', '3', 'cash', NULL, 'inactive', '2026-05-04 19:17:08', '2026-05-04 19:17:08'),
('6', '3', 'bank_transfer', NULL, 'inactive', '2026-05-04 19:17:08', '2026-05-04 19:17:08');


-- Table structure for table `offline_plan_changes`
CREATE TABLE `offline_plan_changes` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `package_id` bigint(20) unsigned NOT NULL,
  `package_type` varchar(191) NOT NULL,
  `amount` decimal(16,2) DEFAULT NULL,
  `pay_date` date DEFAULT NULL,
  `next_pay_date` date DEFAULT NULL,
  `invoice_id` bigint(20) unsigned DEFAULT NULL,
  `offline_method_id` bigint(20) unsigned DEFAULT NULL,
  `file_name` varchar(191) DEFAULT NULL,
  `status` enum('verified','pending','rejected') NOT NULL DEFAULT 'pending',
  `remark` text DEFAULT NULL,
  `description` mediumtext NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `offline_plan_changes_restaurant_id_foreign` (`restaurant_id`),
  KEY `offline_plan_changes_package_id_foreign` (`package_id`),
  KEY `offline_plan_changes_invoice_id_foreign` (`invoice_id`),
  KEY `offline_plan_changes_offline_method_id_foreign` (`offline_method_id`),
  CONSTRAINT `offline_plan_changes_invoice_id_foreign` FOREIGN KEY (`invoice_id`) REFERENCES `global_invoices` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `offline_plan_changes_offline_method_id_foreign` FOREIGN KEY (`offline_method_id`) REFERENCES `offline_payment_methods` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `offline_plan_changes_package_id_foreign` FOREIGN KEY (`package_id`) REFERENCES `packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `offline_plan_changes_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `onboarding_steps`
CREATE TABLE `onboarding_steps` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `add_area_completed` tinyint(1) NOT NULL DEFAULT 0,
  `add_table_completed` tinyint(1) NOT NULL DEFAULT 0,
  `add_menu_completed` tinyint(1) NOT NULL DEFAULT 0,
  `add_menu_items_completed` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `onboarding_steps_branch_id_foreign` (`branch_id`),
  CONSTRAINT `onboarding_steps_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `onboarding_steps`
INSERT INTO `onboarding_steps` VALUES
('5', '3', '1', '1', '1', '1', '2026-05-03 13:04:22', '2026-05-05 08:30:32'),
('6', '4', '1', '0', '0', '0', '2026-05-04 19:17:10', '2026-05-04 19:20:53');


-- Table structure for table `order_cash_collections`
CREATE TABLE `order_cash_collections` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `delivery_executive_id` bigint(20) unsigned DEFAULT NULL,
  `expected_amount` decimal(16,2) NOT NULL DEFAULT 0.00,
  `collected_amount` decimal(16,2) DEFAULT NULL,
  `status` enum('pending_collection','collected','partial','not_collected','submitted','settled') NOT NULL DEFAULT 'pending_collection',
  `notes` text DEFAULT NULL,
  `recorded_at` timestamp NULL DEFAULT NULL,
  `submitted_at` timestamp NULL DEFAULT NULL,
  `settled_at` timestamp NULL DEFAULT NULL,
  `settled_by` bigint(20) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_cash_collections_order_id_foreign` (`order_id`),
  KEY `occ_exec_status_idx` (`delivery_executive_id`,`status`),
  KEY `occ_branch_status_idx` (`branch_id`,`status`),
  CONSTRAINT `order_cash_collections_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `order_cash_collections_delivery_executive_id_foreign` FOREIGN KEY (`delivery_executive_id`) REFERENCES `delivery_executives` (`id`) ON DELETE SET NULL,
  CONSTRAINT `order_cash_collections_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `order_charges`
CREATE TABLE `order_charges` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` bigint(20) unsigned NOT NULL,
  `charge_id` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `order_charges_order_id_foreign` (`order_id`),
  KEY `order_charges_charge_id_foreign` (`charge_id`),
  CONSTRAINT `order_charges_charge_id_foreign` FOREIGN KEY (`charge_id`) REFERENCES `restaurant_charges` (`id`) ON DELETE CASCADE,
  CONSTRAINT `order_charges_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `order_histories`
CREATE TABLE `order_histories` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` bigint(20) unsigned NOT NULL,
  `status` varchar(191) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_histories_order_id_foreign` (`order_id`),
  CONSTRAINT `order_histories_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `order_item_modifier_options`
CREATE TABLE `order_item_modifier_options` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_item_id` bigint(20) unsigned NOT NULL,
  `modifier_option_id` bigint(20) unsigned DEFAULT NULL,
  `modifier_option_name` text DEFAULT NULL,
  `modifier_option_price` decimal(10,2) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_item_modifier_options_order_item_id_foreign` (`order_item_id`),
  KEY `order_item_modifier_options_modifier_option_id_foreign` (`modifier_option_id`),
  CONSTRAINT `order_item_modifier_options_modifier_option_id_foreign` FOREIGN KEY (`modifier_option_id`) REFERENCES `modifier_options` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `order_item_modifier_options_order_item_id_foreign` FOREIGN KEY (`order_item_id`) REFERENCES `order_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `order_items`
CREATE TABLE `order_items` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `transaction_id` varchar(191) DEFAULT NULL,
  `menu_item_id` bigint(20) unsigned NOT NULL,
  `menu_item_variation_id` bigint(20) unsigned DEFAULT NULL,
  `note` text DEFAULT NULL,
  `is_free_item_from_stamp` tinyint(1) NOT NULL DEFAULT 0,
  `stamp_rule_id` bigint(20) unsigned DEFAULT NULL,
  `quantity` int(11) NOT NULL,
  `price` decimal(16,2) NOT NULL,
  `amount` decimal(16,2) NOT NULL,
  `tax_amount` decimal(15,2) DEFAULT NULL,
  `tax_percentage` decimal(8,4) DEFAULT NULL,
  `tax_breakup` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`tax_breakup`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_items_menu_item_id_foreign` (`menu_item_id`),
  KEY `order_items_menu_item_variation_id_foreign` (`menu_item_variation_id`),
  KEY `order_items_branch_id_foreign` (`branch_id`),
  KEY `idx_order_items_order_menu_variation` (`order_id`,`menu_item_id`,`menu_item_variation_id`),
  KEY `idx_order_items_order_id` (`order_id`),
  CONSTRAINT `order_items_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `order_items_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE,
  CONSTRAINT `order_items_menu_item_variation_id_foreign` FOREIGN KEY (`menu_item_variation_id`) REFERENCES `menu_item_variations` (`id`) ON DELETE CASCADE,
  CONSTRAINT `order_items_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `order_items`
INSERT INTO `order_items` VALUES
('1', '3', '1', NULL, '1', NULL, NULL, '0', NULL, '1', '5.00', '5.00', '0.00', '0.0000', NULL, '2026-05-05 08:32:05', '2026-05-05 08:32:05');


-- Table structure for table `order_notification_settings`
CREATE TABLE `order_notification_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `role_id` bigint(20) unsigned NOT NULL,
  `hide_new_order_notification` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `order_notification_restaurant_role_unique` (`restaurant_id`,`role_id`),
  KEY `order_notification_settings_role_id_foreign` (`role_id`),
  CONSTRAINT `order_notification_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE,
  CONSTRAINT `order_notification_settings_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `order_number_settings`
CREATE TABLE `order_number_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `enable_feature` tinyint(1) NOT NULL DEFAULT 0,
  `prefix` varchar(191) NOT NULL DEFAULT 'ORD',
  `digits` tinyint(3) unsigned NOT NULL DEFAULT 3,
  `separator` varchar(191) NOT NULL DEFAULT '-',
  `include_date` tinyint(1) NOT NULL DEFAULT 0,
  `show_year` tinyint(1) NOT NULL DEFAULT 0,
  `show_month` tinyint(1) NOT NULL DEFAULT 0,
  `show_day` tinyint(1) NOT NULL DEFAULT 0,
  `show_time` tinyint(1) NOT NULL DEFAULT 0,
  `reset_daily` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_number_settings_branch_id_foreign` (`branch_id`),
  CONSTRAINT `order_number_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `order_places`
CREATE TABLE `order_places` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `printer_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `type` varchar(191) DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `is_default` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_places_branch_id_foreign` (`branch_id`),
  KEY `order_places_printer_id_foreign` (`printer_id`),
  CONSTRAINT `order_places_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `order_places_printer_id_foreign` FOREIGN KEY (`printer_id`) REFERENCES `printers` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `order_places`
INSERT INTO `order_places` VALUES
('3', NULL, '3', 'Default POS Terminal', 'vegetarian', '1', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('4', NULL, '4', 'Default POS Terminal', 'vegetarian', '1', '1', '2026-05-04 19:17:11', '2026-05-04 19:17:11');


-- Table structure for table `order_taxes`
CREATE TABLE `order_taxes` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` bigint(20) unsigned NOT NULL,
  `tax_id` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `order_taxes_order_id_foreign` (`order_id`),
  KEY `order_taxes_tax_id_foreign` (`tax_id`),
  CONSTRAINT `order_taxes_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE,
  CONSTRAINT `order_taxes_tax_id_foreign` FOREIGN KEY (`tax_id`) REFERENCES `taxes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `order_types`
CREATE TABLE `order_types` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `order_type_name` varchar(191) NOT NULL,
  `slug` varchar(191) NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `is_default` tinyint(1) NOT NULL DEFAULT 0,
  `enable_token_number` tinyint(1) NOT NULL DEFAULT 0,
  `show_order_number_on_board` tinyint(1) NOT NULL DEFAULT 0,
  `enable_from_customer_site` tinyint(1) NOT NULL DEFAULT 1,
  `type` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_types_branch_id_foreign` (`branch_id`),
  CONSTRAINT `order_types_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `order_types`
INSERT INTO `order_types` VALUES
('9', '3', 'Dine In', 'dine_in', '1', '1', '0', '0', '1', 'dine_in', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('10', '3', 'Delivery', 'delivery', '1', '1', '0', '0', '1', 'delivery', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('11', '3', 'Pickup', 'pickup', '1', '1', '0', '0', '1', 'pickup', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('12', '3', 'Room Service', 'room_service', '1', '0', '0', '0', '1', 'room_service', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('13', '4', 'Dine In', 'dine_in', '1', '1', '0', '0', '1', 'dine_in', '2026-05-04 19:17:11', '2026-05-04 19:17:11'),
('14', '4', 'Delivery', 'delivery', '1', '1', '0', '0', '1', 'delivery', '2026-05-04 19:17:11', '2026-05-04 19:17:11'),
('15', '4', 'Pickup', 'pickup', '1', '1', '0', '0', '1', 'pickup', '2026-05-04 19:17:11', '2026-05-04 19:17:11'),
('16', '4', 'Room Service', 'room_service', '1', '0', '0', '0', '1', 'room_service', '2026-05-04 19:17:11', '2026-05-04 19:17:11');


-- Table structure for table `orders`
CREATE TABLE `orders` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `uuid` char(36) DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `pos_machine_id` bigint(20) unsigned DEFAULT NULL,
  `order_number` varchar(191) DEFAULT NULL,
  `formatted_order_number` varchar(191) DEFAULT NULL,
  `date_time` datetime NOT NULL,
  `table_id` bigint(20) unsigned DEFAULT NULL,
  `customer_id` bigint(20) unsigned DEFAULT NULL,
  `number_of_pax` int(11) DEFAULT NULL,
  `order_note` text DEFAULT NULL,
  `waiter_id` bigint(20) unsigned DEFAULT NULL,
  `waiter_response` enum('pending','accepted','declined') NOT NULL DEFAULT 'pending',
  `waiter_notification_sent_at` timestamp NULL DEFAULT NULL,
  `waiter_response_at` timestamp NULL DEFAULT NULL,
  `added_by` bigint(20) unsigned DEFAULT NULL,
  `cancelled_by` bigint(20) unsigned DEFAULT NULL,
  `cancel_time` datetime DEFAULT NULL,
  `status` enum('draft','kot','billed','paid','canceled','payment_due','ready','out_for_delivery','delivered','pending_verification') NOT NULL DEFAULT 'kot',
  `placed_via` enum('pos','shop','kiosk') DEFAULT NULL,
  `sub_total` decimal(16,2) NOT NULL,
  `tip_amount` decimal(16,2) DEFAULT 0.00,
  `total_tax_amount` decimal(16,2) DEFAULT 0.00,
  `tax_base` decimal(16,2) DEFAULT NULL,
  `tax_mode` varchar(191) DEFAULT NULL,
  `tip_note` text DEFAULT NULL,
  `total` decimal(16,2) NOT NULL,
  `amount_paid` decimal(16,2) NOT NULL DEFAULT 0.00,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `order_type_id` bigint(20) unsigned DEFAULT NULL,
  `context_type` enum('RESTAURANT_TABLE','TAKEAWAY','DELIVERY','HOTEL_ROOM','BANQUET_EVENT') DEFAULT NULL,
  `context_id` bigint(20) unsigned DEFAULT NULL,
  `bill_to` enum('PAY_NOW','POST_TO_ROOM') NOT NULL DEFAULT 'PAY_NOW',
  `posted_to_folio_at` timestamp NULL DEFAULT NULL,
  `delivery_app_id` bigint(20) unsigned DEFAULT NULL,
  `custom_order_type_name` varchar(191) DEFAULT NULL,
  `order_type` varchar(191) DEFAULT NULL,
  `pickup_date` datetime DEFAULT NULL,
  `delivery_executive_id` bigint(20) unsigned DEFAULT NULL,
  `delivery_address` text DEFAULT NULL,
  `delivery_time` datetime DEFAULT NULL,
  `estimated_delivery_time` datetime DEFAULT NULL,
  `split_type` enum('even','custom','items') DEFAULT NULL,
  `discount_type` varchar(191) DEFAULT NULL,
  `discount_value` decimal(16,2) DEFAULT NULL,
  `discount_amount` decimal(16,2) DEFAULT NULL,
  `discount_apply_on` varchar(191) NOT NULL DEFAULT 'sub_total',
  `order_status` varchar(191) NOT NULL DEFAULT 'placed',
  `delivery_fee` decimal(8,2) NOT NULL DEFAULT 0.00,
  `customer_lat` decimal(10,7) DEFAULT NULL,
  `customer_lng` decimal(10,7) DEFAULT NULL,
  `is_within_radius` tinyint(1) NOT NULL DEFAULT 0,
  `delivery_started_at` timestamp NULL DEFAULT NULL,
  `delivered_at` timestamp NULL DEFAULT NULL,
  `estimated_eta_min` int(11) DEFAULT NULL,
  `estimated_eta_max` int(11) DEFAULT NULL,
  `cancel_reason_id` bigint(20) unsigned DEFAULT NULL,
  `cancel_reason_text` varchar(191) DEFAULT NULL,
  `reservation_id` bigint(20) unsigned DEFAULT NULL,
  `loyalty_points_redeemed` int(11) NOT NULL DEFAULT 0,
  `loyalty_discount_amount` decimal(10,2) NOT NULL DEFAULT 0.00,
  `stamp_discount_amount` decimal(10,2) NOT NULL DEFAULT 0.00,
  `kiosk_id` bigint(20) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `orders_uuid_unique` (`uuid`),
  KEY `orders_customer_id_foreign` (`customer_id`),
  KEY `orders_delivery_executive_id_foreign` (`delivery_executive_id`),
  KEY `orders_waiter_id_foreign` (`waiter_id`),
  KEY `orders_cancel_reason_id_foreign` (`cancel_reason_id`),
  KEY `idx_branch_date` (`branch_id`,`date_time`),
  KEY `orders_reservation_id_foreign` (`reservation_id`),
  KEY `orders_added_by_foreign` (`added_by`),
  KEY `orders_cancelled_by_foreign` (`cancelled_by`),
  KEY `idx_orders_branch_table_status` (`branch_id`,`table_id`,`status`),
  KEY `idx_orders_table_branch_status` (`table_id`,`branch_id`,`status`),
  KEY `idx_orders_status_branch` (`status`,`branch_id`),
  KEY `idx_orders_order_type_branch` (`order_type_id`,`branch_id`),
  KEY `idx_orders_delivery_app` (`delivery_app_id`),
  KEY `orders_pos_machine_id_index` (`pos_machine_id`),
  KEY `orders_kiosk_id_foreign` (`kiosk_id`),
  KEY `orders_context_type_context_id_index` (`context_type`,`context_id`),
  KEY `orders_bill_to_index` (`bill_to`),
  CONSTRAINT `orders_added_by_foreign` FOREIGN KEY (`added_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `orders_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `orders_cancel_reason_id_foreign` FOREIGN KEY (`cancel_reason_id`) REFERENCES `kot_cancel_reasons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `orders_cancelled_by_foreign` FOREIGN KEY (`cancelled_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `orders_customer_id_foreign` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `orders_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE SET NULL,
  CONSTRAINT `orders_delivery_executive_id_foreign` FOREIGN KEY (`delivery_executive_id`) REFERENCES `delivery_executives` (`id`) ON DELETE SET NULL,
  CONSTRAINT `orders_kiosk_id_foreign` FOREIGN KEY (`kiosk_id`) REFERENCES `kiosks` (`id`) ON DELETE SET NULL,
  CONSTRAINT `orders_order_type_id_foreign` FOREIGN KEY (`order_type_id`) REFERENCES `order_types` (`id`) ON DELETE SET NULL,
  CONSTRAINT `orders_pos_machine_id_foreign` FOREIGN KEY (`pos_machine_id`) REFERENCES `pos_machines` (`id`) ON DELETE SET NULL,
  CONSTRAINT `orders_reservation_id_foreign` FOREIGN KEY (`reservation_id`) REFERENCES `reservations` (`id`) ON DELETE SET NULL,
  CONSTRAINT `orders_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `orders_waiter_id_foreign` FOREIGN KEY (`waiter_id`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `orders`
INSERT INTO `orders` VALUES
('1', '52241a16-ea83-4df6-8f73-f691fc1f5d13', '3', '1', '1', NULL, '2026-05-05 08:32:04', NULL, NULL, '1', NULL, '4', 'pending', NULL, NULL, '4', NULL, NULL, 'paid', 'pos', '5.00', '0.00', '0.00', '4.50', 'order', NULL, '4.50', '4.50', '2026-05-05 08:32:04', '2026-05-05 08:33:21', '9', NULL, NULL, 'PAY_NOW', NULL, NULL, 'Dine In', 'dine_in', NULL, NULL, NULL, NULL, NULL, NULL, 'percent', '10.00', '0.50', 'sub_total', 'served', '0.00', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0.00', '0.00', NULL);


-- Table structure for table `otps`
CREATE TABLE `otps` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `identifier` varchar(191) NOT NULL,
  `token` varchar(191) NOT NULL,
  `type` varchar(191) NOT NULL DEFAULT 'login',
  `expires_at` timestamp NOT NULL,
  `used` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `otps_identifier_type_index` (`identifier`,`type`),
  KEY `otps_token_index` (`token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `package_modules`
CREATE TABLE `package_modules` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `package_id` bigint(20) unsigned DEFAULT NULL,
  `module_id` bigint(20) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `package_modules_package_id_foreign` (`package_id`),
  KEY `package_modules_module_id_foreign` (`module_id`),
  CONSTRAINT `package_modules_module_id_foreign` FOREIGN KEY (`module_id`) REFERENCES `modules` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `package_modules_package_id_foreign` FOREIGN KEY (`package_id`) REFERENCES `packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `package_modules`
INSERT INTO `package_modules` VALUES
('1', '1', '9', NULL, NULL),
('2', '1', '10', NULL, NULL),
('3', '1', '11', NULL, NULL),
('4', '1', '12', NULL, NULL),
('5', '1', '13', NULL, NULL),
('6', '1', '14', NULL, NULL),
('7', '1', '15', NULL, NULL),
('8', '1', '16', NULL, NULL),
('9', '1', '17', NULL, NULL),
('10', '1', '18', NULL, NULL),
('11', '1', '19', NULL, NULL),
('12', '1', '20', NULL, NULL),
('13', '1', '21', NULL, NULL),
('14', '1', '22', NULL, NULL),
('15', '1', '23', NULL, NULL),
('16', '1', '24', NULL, NULL),
('17', '2', '9', NULL, NULL),
('18', '2', '10', NULL, NULL),
('19', '2', '11', NULL, NULL),
('20', '2', '12', NULL, NULL),
('21', '2', '13', NULL, NULL),
('22', '2', '14', NULL, NULL),
('23', '2', '15', NULL, NULL),
('24', '2', '16', NULL, NULL),
('25', '2', '17', NULL, NULL),
('26', '2', '18', NULL, NULL),
('27', '2', '19', NULL, NULL),
('28', '2', '20', NULL, NULL),
('29', '2', '21', NULL, NULL),
('30', '2', '22', NULL, NULL),
('31', '2', '23', NULL, NULL),
('32', '2', '24', NULL, NULL),
('33', '3', '9', NULL, NULL),
('34', '3', '10', NULL, NULL),
('35', '3', '11', NULL, NULL),
('36', '3', '12', NULL, NULL),
('37', '3', '13', NULL, NULL),
('38', '3', '14', NULL, NULL),
('39', '3', '15', NULL, NULL),
('40', '3', '16', NULL, NULL),
('41', '3', '17', NULL, NULL),
('42', '3', '18', NULL, NULL),
('43', '3', '19', NULL, NULL),
('44', '3', '20', NULL, NULL),
('45', '3', '21', NULL, NULL),
('46', '3', '22', NULL, NULL),
('47', '3', '23', NULL, NULL),
('48', '3', '24', NULL, NULL),
('49', '4', '9', NULL, NULL),
('50', '4', '10', NULL, NULL),
('51', '4', '11', NULL, NULL),
('52', '4', '12', NULL, NULL),
('53', '4', '13', NULL, NULL),
('54', '4', '14', NULL, NULL),
('55', '4', '15', NULL, NULL),
('56', '4', '16', NULL, NULL),
('57', '4', '17', NULL, NULL),
('58', '4', '18', NULL, NULL),
('59', '4', '19', NULL, NULL),
('60', '4', '20', NULL, NULL),
('61', '4', '21', NULL, NULL),
('62', '4', '22', NULL, NULL),
('63', '4', '23', NULL, NULL),
('64', '4', '24', NULL, NULL),
('65', '5', '9', NULL, NULL),
('66', '5', '10', NULL, NULL),
('67', '5', '11', NULL, NULL),
('68', '5', '12', NULL, NULL),
('69', '5', '13', NULL, NULL),
('70', '5', '14', NULL, NULL),
('71', '5', '15', NULL, NULL),
('72', '5', '16', NULL, NULL),
('73', '5', '17', NULL, NULL),
('74', '5', '18', NULL, NULL),
('75', '5', '19', NULL, NULL),
('76', '5', '20', NULL, NULL),
('77', '5', '21', NULL, NULL),
('78', '5', '22', NULL, NULL),
('79', '5', '23', NULL, NULL),
('80', '5', '24', NULL, NULL),
('81', '1', '25', NULL, NULL),
('82', '2', '25', NULL, NULL),
('83', '3', '25', NULL, NULL),
('84', '4', '25', NULL, NULL),
('85', '5', '25', NULL, NULL),
('86', '1', '27', NULL, NULL),
('87', '2', '27', NULL, NULL),
('88', '3', '27', NULL, NULL),
('89', '4', '27', NULL, NULL),
('90', '5', '27', NULL, NULL),
('91', '1', '31', '2026-05-03 12:43:51', '2026-05-03 12:43:51'),
('92', '2', '31', '2026-05-03 12:43:51', '2026-05-03 12:43:51'),
('93', '3', '31', '2026-05-03 12:43:51', '2026-05-03 12:43:51'),
('94', '4', '31', '2026-05-03 12:43:51', '2026-05-03 12:43:51'),
('95', '5', '31', '2026-05-03 12:43:51', '2026-05-03 12:43:51'),
('96', '1', '32', NULL, NULL),
('97', '2', '32', NULL, NULL),
('98', '3', '32', NULL, NULL),
('99', '4', '32', NULL, NULL),
('100', '5', '32', NULL, NULL);


-- Table structure for table `packages`
CREATE TABLE `packages` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `package_name` varchar(191) NOT NULL,
  `price` decimal(16,2) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `currency_id` bigint(20) unsigned DEFAULT NULL,
  `description` text NOT NULL,
  `annual_price` decimal(16,2) DEFAULT NULL,
  `monthly_price` decimal(16,2) DEFAULT NULL,
  `monthly_status` varchar(191) DEFAULT '1',
  `annual_status` varchar(191) DEFAULT '1',
  `stripe_annual_plan_id` varchar(191) DEFAULT NULL,
  `stripe_monthly_plan_id` varchar(191) DEFAULT NULL,
  `razorpay_annual_plan_id` varchar(191) DEFAULT NULL,
  `razorpay_monthly_plan_id` varchar(191) DEFAULT NULL,
  `flutterwave_annual_plan_id` varchar(191) DEFAULT NULL,
  `flutterwave_monthly_plan_id` varchar(191) DEFAULT NULL,
  `paystack_annual_plan_id` varchar(191) DEFAULT NULL,
  `paystack_monthly_plan_id` varchar(191) DEFAULT NULL,
  `xendit_annual_plan_id` varchar(191) DEFAULT NULL,
  `xendit_monthly_plan_id` varchar(191) DEFAULT NULL,
  `paddle_annual_price_id` varchar(191) DEFAULT NULL,
  `paddle_monthly_price_id` varchar(191) DEFAULT NULL,
  `paddle_lifetime_price_id` varchar(191) DEFAULT NULL,
  `stripe_lifetime_plan_id` varchar(191) DEFAULT NULL,
  `razorpay_lifetime_plan_id` varchar(191) DEFAULT NULL,
  `billing_cycle` tinyint(3) unsigned DEFAULT NULL,
  `sort_order` int(10) unsigned DEFAULT NULL,
  `is_private` tinyint(1) NOT NULL DEFAULT 0,
  `is_free` tinyint(1) NOT NULL DEFAULT 0,
  `is_recommended` tinyint(1) NOT NULL DEFAULT 0,
  `package_type` varchar(191) NOT NULL DEFAULT 'standard',
  `trial_status` tinyint(1) DEFAULT NULL,
  `trial_days` int(11) DEFAULT NULL,
  `trial_notification_before_days` int(11) DEFAULT NULL,
  `trial_message` varchar(191) DEFAULT NULL,
  `additional_features` longtext DEFAULT NULL,
  `branch_limit` int(11) DEFAULT -1,
  `multipos_limit` int(11) DEFAULT -1,
  `menu_items_limit` int(11) NOT NULL DEFAULT -1,
  `order_limit` int(11) NOT NULL DEFAULT -1,
  `staff_limit` int(11) NOT NULL DEFAULT -1,
  `ai_monthly_token_limit` int(11) NOT NULL DEFAULT -1,
  `sms_count` int(11) NOT NULL DEFAULT 0,
  `carry_forward_sms` tinyint(1) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  KEY `packages_currency_id_foreign` (`currency_id`),
  CONSTRAINT `packages_currency_id_foreign` FOREIGN KEY (`currency_id`) REFERENCES `global_currencies` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `packages`
INSERT INTO `packages` VALUES
('1', 'Default', '0.00', '2026-05-03 12:30:00', '2026-05-03 12:30:00', '1', 'Its a default package and cannot be deleted', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '12', '1', '0', '1', '0', 'default', NULL, NULL, NULL, NULL, NULL, '-1', '-1', '-1', '-1', '-1', '-1', '0', '0'),
('2', 'Subscription Package', '0.00', '2026-05-03 12:30:00', '2026-05-03 12:30:00', '1', 'This is a subscription package', '100.00', '10.00', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10', '2', '0', '0', '1', 'standard', NULL, NULL, NULL, NULL, NULL, '-1', '-1', '-1', '-1', '-1', '-1', '0', '0'),
('3', 'Life Time', '199.00', '2026-05-03 12:30:00', '2026-05-03 12:30:00', '1', 'This is a lifetime access package', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '3', '0', '0', '1', 'lifetime', NULL, NULL, NULL, NULL, '[\"Change Branch\",\"Export Report\",\"Table Reservation\",\"Payment Gateway Integration\",\"Theme Setting\",\"Customer Display\"]', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0'),
('4', 'Private Package', '0.00', '2026-05-03 12:30:00', '2026-05-03 12:30:00', '1', 'This is a private package', '50.00', '5.00', '1', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '12', '4', '1', '0', '0', 'standard', NULL, NULL, NULL, NULL, NULL, '-1', '-1', '-1', '-1', '-1', '-1', '0', '0'),
('5', 'Trial Package', '0.00', '2026-05-03 12:30:00', '2026-05-03 12:30:00', '1', 'This is a trial package', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, '0', '1', '0', 'trial', '1', '30', '5', '30 Days Free Trial', '[\"Change Branch\",\"Export Report\",\"Table Reservation\",\"Payment Gateway Integration\",\"Theme Setting\",\"Customer Display\"]', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0');


-- Table structure for table `password_reset_tokens`
CREATE TABLE `password_reset_tokens` (
  `email` varchar(191) NOT NULL,
  `token` varchar(191) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `payfast_payments`
CREATE TABLE `payfast_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `payfast_payment_id` varchar(191) DEFAULT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `payment_status` enum('pending','completed','failed') NOT NULL DEFAULT 'pending',
  `payment_date` timestamp NULL DEFAULT NULL,
  `payment_error_response` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payment_error_response`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `payfast_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `payfast_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `payment_gateway_credentials`
CREATE TABLE `payment_gateway_credentials` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `razorpay_key` text DEFAULT NULL,
  `razorpay_secret` text DEFAULT NULL,
  `razorpay_status` tinyint(1) NOT NULL DEFAULT 0,
  `stripe_key` text DEFAULT NULL,
  `stripe_secret` text DEFAULT NULL,
  `stripe_status` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `is_dine_in_payment_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `is_delivery_payment_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `is_pickup_payment_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `is_cash_payment_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `is_qr_payment_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `is_offline_payment_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `offline_payment_detail` varchar(191) DEFAULT NULL,
  `qr_code_image` varchar(191) DEFAULT NULL,
  `flutterwave_status` tinyint(1) NOT NULL DEFAULT 0,
  `flutterwave_mode` enum('test','live') NOT NULL DEFAULT 'test',
  `test_flutterwave_key` varchar(191) DEFAULT NULL,
  `test_flutterwave_secret` varchar(191) DEFAULT NULL,
  `test_flutterwave_hash` varchar(191) DEFAULT NULL,
  `live_flutterwave_key` varchar(191) DEFAULT NULL,
  `live_flutterwave_secret` varchar(191) DEFAULT NULL,
  `live_flutterwave_hash` varchar(191) DEFAULT NULL,
  `flutterwave_webhook_secret_hash` varchar(191) DEFAULT NULL,
  `paypal_client_id` varchar(191) DEFAULT NULL,
  `paypal_secret` varchar(191) DEFAULT NULL,
  `paypal_status` tinyint(1) NOT NULL DEFAULT 0,
  `paypal_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `sandbox_paypal_client_id` varchar(191) DEFAULT NULL,
  `sandbox_paypal_secret` varchar(191) DEFAULT NULL,
  `payfast_merchant_id` varchar(191) DEFAULT NULL,
  `payfast_merchant_key` varchar(191) DEFAULT NULL,
  `payfast_passphrase` varchar(191) DEFAULT NULL,
  `payfast_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `payfast_status` tinyint(1) NOT NULL DEFAULT 0,
  `test_payfast_merchant_id` varchar(191) DEFAULT NULL,
  `test_payfast_merchant_key` varchar(191) DEFAULT NULL,
  `test_payfast_passphrase` varchar(191) DEFAULT NULL,
  `paystack_key` varchar(191) DEFAULT NULL,
  `paystack_secret` varchar(191) DEFAULT NULL,
  `paystack_merchant_email` varchar(191) DEFAULT NULL,
  `paystack_status` tinyint(1) NOT NULL DEFAULT 0,
  `paystack_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `test_paystack_key` varchar(191) DEFAULT NULL,
  `test_paystack_secret` varchar(191) DEFAULT NULL,
  `test_paystack_merchant_email` varchar(191) DEFAULT NULL,
  `paystack_payment_url` varchar(191) DEFAULT 'https://api.paystack.co',
  `xendit_status` tinyint(1) NOT NULL DEFAULT 0,
  `xendit_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `test_xendit_public_key` varchar(191) DEFAULT NULL,
  `test_xendit_secret_key` varchar(191) DEFAULT NULL,
  `live_xendit_public_key` varchar(191) DEFAULT NULL,
  `live_xendit_secret_key` varchar(191) DEFAULT NULL,
  `test_xendit_webhook_token` varchar(191) DEFAULT NULL,
  `live_xendit_webhook_token` varchar(191) DEFAULT NULL,
  `epay_status` tinyint(1) NOT NULL DEFAULT 0,
  `epay_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `epay_client_id` varchar(191) DEFAULT NULL,
  `epay_client_secret` varchar(191) DEFAULT NULL,
  `epay_terminal_id` varchar(191) DEFAULT NULL,
  `test_epay_client_id` varchar(191) DEFAULT NULL,
  `test_epay_client_secret` varchar(191) DEFAULT NULL,
  `test_epay_terminal_id` varchar(191) DEFAULT NULL,
  `mollie_status` tinyint(1) NOT NULL DEFAULT 0,
  `mollie_mode` enum('test','live') NOT NULL DEFAULT 'test',
  `test_mollie_key` varchar(191) DEFAULT NULL,
  `live_mollie_key` varchar(191) DEFAULT NULL,
  `mollie_webhook_secret` varchar(191) DEFAULT NULL,
  `tap_status` tinyint(1) NOT NULL DEFAULT 0,
  `tap_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `tap_merchant_id` varchar(191) DEFAULT NULL,
  `live_tap_secret_key` text DEFAULT NULL,
  `live_tap_public_key` text DEFAULT NULL,
  `test_tap_secret_key` text DEFAULT NULL,
  `test_tap_public_key` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `payment_gateway_credentials_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `payment_gateway_credentials_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `payment_gateway_credentials`
INSERT INTO `payment_gateway_credentials` VALUES
('2', '2', NULL, NULL, '0', NULL, NULL, '0', '2026-05-03 13:04:22', '2026-05-03 13:04:22', '0', '0', '0', '0', '0', '0', NULL, NULL, '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, 'sandbox', '0', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, 'https://api.paystack.co', '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'test', NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL),
('3', '3', NULL, NULL, '0', NULL, NULL, '0', '2026-05-04 19:17:08', '2026-05-04 19:17:08', '0', '0', '0', '0', '0', '0', NULL, NULL, '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, 'sandbox', '0', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, 'https://api.paystack.co', '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'test', NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL);


-- Table structure for table `payments`
CREATE TABLE `payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `payment_method` varchar(191) NOT NULL DEFAULT 'cash',
  `amount` decimal(16,2) NOT NULL,
  `is_due` tinyint(1) NOT NULL DEFAULT 0,
  `due_amount_received` decimal(16,2) DEFAULT NULL,
  `balance` decimal(16,2) DEFAULT 0.00,
  `transaction_id` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `payments_order_id_foreign` (`order_id`),
  KEY `payments_branch_id_foreign` (`branch_id`),
  CONSTRAINT `payments_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `payments`
INSERT INTO `payments` VALUES
('1', '3', '1', 'upi', '4.50', '0', NULL, '45.50', NULL, '2026-05-05 08:32:43', '2026-05-05 08:32:43');


-- Table structure for table `paypal_payments`
CREATE TABLE `paypal_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `paypal_payment_id` varchar(191) DEFAULT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `payment_status` enum('pending','completed','failed') NOT NULL DEFAULT 'pending',
  `payment_date` timestamp NULL DEFAULT NULL,
  `payment_error_response` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payment_error_response`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `paypal_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `paypal_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `paystack_payments`
CREATE TABLE `paystack_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `paystack_payment_id` varchar(191) DEFAULT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `payment_status` enum('pending','completed','failed') NOT NULL DEFAULT 'pending',
  `payment_date` timestamp NULL DEFAULT NULL,
  `payment_error_response` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payment_error_response`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `paystack_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `paystack_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `permissions`
CREATE TABLE `permissions` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(191) NOT NULL,
  `guard_name` varchar(191) NOT NULL,
  `module_id` bigint(20) unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`),
  KEY `permissions_module_id_foreign` (`module_id`),
  CONSTRAINT `permissions_module_id_foreign` FOREIGN KEY (`module_id`) REFERENCES `modules` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=167 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `permissions`
INSERT INTO `permissions` VALUES
('1', 'Create Restaurant', 'web', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('2', 'Show Restaurant', 'web', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('3', 'Update Restaurant', 'web', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('4', 'Delete Restaurant', 'web', '1', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('5', 'Show Superadmin Payments', 'web', '2', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('6', 'Create Package', 'web', '3', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('7', 'Show Package', 'web', '3', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('8', 'Update Package', 'web', '3', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('9', 'Delete Package', 'web', '3', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('10', 'Show Billing', 'web', '4', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('11', 'Show Offline Request', 'web', '5', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('12', 'Create SuperAdmin', 'web', '6', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('13', 'Show SuperAdmin', 'web', '6', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('14', 'Update SuperAdmin', 'web', '6', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('15', 'Delete SuperAdmin', 'web', '6', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('16', 'Show Landing Site', 'web', '7', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('17', 'Manage Superadmin Settings', 'web', '8', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('18', 'Create Menu', 'web', '9', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('19', 'Show Menu', 'web', '9', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('20', 'Update Menu', 'web', '9', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('21', 'Delete Menu', 'web', '9', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('22', 'Create Menu Item', 'web', '10', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('23', 'Show Menu Item', 'web', '10', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('24', 'Update Menu Item', 'web', '10', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('25', 'Delete Menu Item', 'web', '10', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('26', 'Export Menu Item', 'web', '10', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('27', 'Create Item Category', 'web', '11', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('28', 'Show Item Category', 'web', '11', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('29', 'Update Item Category', 'web', '11', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('30', 'Delete Item Category', 'web', '11', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('31', 'Create Area', 'web', '12', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('32', 'Show Area', 'web', '12', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('33', 'Update Area', 'web', '12', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('34', 'Delete Area', 'web', '12', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('35', 'Create Table', 'web', '13', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('36', 'Show Table', 'web', '13', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('37', 'Update Table', 'web', '13', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('38', 'Delete Table', 'web', '13', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('39', 'Create Reservation', 'web', '14', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('40', 'Show Reservation', 'web', '14', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('41', 'Update Reservation', 'web', '14', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('42', 'Delete Reservation', 'web', '14', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('43', 'Manage KOT', 'web', '15', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('44', 'Create Order', 'web', '16', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('45', 'Show Order', 'web', '16', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('46', 'Update Order', 'web', '16', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('47', 'Delete Order', 'web', '16', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('48', 'Add Discount on POS', 'web', '16', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('49', 'Create Customer', 'web', '17', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('50', 'Show Customer', 'web', '17', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('51', 'Update Customer', 'web', '17', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('52', 'Delete Customer', 'web', '17', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('53', 'Create Staff Member', 'web', '18', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('54', 'Show Staff Member', 'web', '18', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('55', 'Update Staff Member', 'web', '18', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('56', 'Delete Staff Member', 'web', '18', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('57', 'Create Delivery Executive', 'web', '20', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('58', 'Show Delivery Executive', 'web', '20', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('59', 'Update Delivery Executive', 'web', '20', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('60', 'Delete Delivery Executive', 'web', '20', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('61', 'Show Payments', 'web', '23', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('62', 'Refund Payments', 'web', '23', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('63', 'Show Reports', 'web', '19', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('64', 'Manage Settings', 'web', '24', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('65', 'Show Restaurant Open/Close', 'web', '24', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('66', 'Manage Waiter Request', 'web', '21', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('67', 'Create Expense', 'web', '22', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('68', 'Show Expense', 'web', '22', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('69', 'Update Expense', 'web', '22', '2026-05-03 12:30:00', '2026-05-03 12:30:00'),
('70', 'Delete Expense', 'web', '22', '2026-05-03 12:30:01', '2026-05-03 12:30:01'),
('71', 'Create Expense Category', 'web', '22', '2026-05-03 12:30:01', '2026-05-03 12:30:01'),
('72', 'Show Expense Category', 'web', '22', '2026-05-03 12:30:01', '2026-05-03 12:30:01'),
('73', 'Update Expense Category', 'web', '22', '2026-05-03 12:30:01', '2026-05-03 12:30:01'),
('74', 'Delete Expense Category', 'web', '22', '2026-05-03 12:30:01', '2026-05-03 12:30:01'),
('75', 'Manage AI Settings', 'web', '25', '2026-05-03 12:40:18', '2026-05-03 12:40:18'),
('76', 'Access AI Assistant', 'web', '25', '2026-05-03 12:40:18', '2026-05-03 12:40:18'),
('77', 'Create Inventory Item', 'web', '26', NULL, NULL),
('78', 'Show Inventory Item', 'web', '26', NULL, NULL),
('79', 'Update Inventory Item', 'web', '26', NULL, NULL),
('80', 'Delete Inventory Item', 'web', '26', NULL, NULL),
('81', 'Create Inventory Movement', 'web', '26', NULL, NULL),
('82', 'Show Inventory Movement', 'web', '26', NULL, NULL),
('83', 'Update Inventory Movement', 'web', '26', NULL, NULL),
('84', 'Delete Inventory Movement', 'web', '26', NULL, NULL),
('85', 'Show Inventory Stock', 'web', '26', NULL, NULL),
('86', 'Create Unit', 'web', '26', NULL, NULL),
('87', 'Show Unit', 'web', '26', NULL, NULL),
('88', 'Update Unit', 'web', '26', NULL, NULL),
('89', 'Delete Unit', 'web', '26', NULL, NULL),
('90', 'Create Recipe', 'web', '26', NULL, NULL),
('91', 'Show Recipe', 'web', '26', NULL, NULL),
('92', 'Update Recipe', 'web', '26', NULL, NULL),
('93', 'Delete Recipe', 'web', '26', NULL, NULL),
('94', 'Create Purchase Order', 'web', '26', NULL, NULL),
('95', 'Show Purchase Order', 'web', '26', NULL, NULL),
('96', 'Update Purchase Order', 'web', '26', NULL, NULL),
('97', 'Delete Purchase Order', 'web', '26', NULL, NULL),
('98', 'Show Inventory Report', 'web', '26', NULL, NULL),
('99', 'Update Inventory Settings', 'web', '26', NULL, NULL),
('100', 'Show Supplier', 'web', '26', NULL, NULL),
('101', 'Create Supplier', 'web', '26', NULL, NULL),
('102', 'Update Supplier', 'web', '26', NULL, NULL),
('103', 'Delete Supplier', 'web', '26', NULL, NULL),
('104', 'Create Batch Recipe', 'web', '26', '2026-05-03 12:42:01', '2026-05-03 12:42:01'),
('105', 'Show Batch Recipe', 'web', '26', '2026-05-03 12:42:01', '2026-05-03 12:42:01'),
('106', 'Update Batch Recipe', 'web', '26', '2026-05-03 12:42:01', '2026-05-03 12:42:01'),
('107', 'Delete Batch Recipe', 'web', '26', '2026-05-03 12:42:01', '2026-05-03 12:42:01'),
('108', 'Produce Batch', 'web', '26', '2026-05-03 12:42:01', '2026-05-03 12:42:01'),
('109', 'Show Batch Inventory', 'web', '26', '2026-05-03 12:42:01', '2026-05-03 12:42:01'),
('110', 'Manage MultiPOS Machines', 'web', '27', '2026-05-03 12:42:27', '2026-05-03 12:42:27'),
('111', 'Manage Cash Register Settings', 'web', '28', '2026-05-03 12:42:46', '2026-05-03 12:42:46'),
('112', 'View Cash Register Reports', 'web', '28', '2026-05-03 12:42:46', '2026-05-03 12:42:46'),
('113', 'Manage Cash Denominations', 'web', '28', '2026-05-03 12:42:46', '2026-05-03 12:42:46'),
('114', 'Approve Cash Register', 'web', '28', '2026-05-03 12:42:46', '2026-05-03 12:42:46'),
('115', 'Open Cash Register', 'web', '28', '2026-05-03 12:42:46', '2026-05-03 12:42:46'),
('116', 'Show Kitchen Place', 'web', '29', '2026-05-03 12:42:55', '2026-05-03 12:42:55'),
('117', 'Create Kitchen Place', 'web', '29', '2026-05-03 12:42:55', '2026-05-03 12:42:55'),
('118', 'Update Kitchen Place', 'web', '29', '2026-05-03 12:42:55', '2026-05-03 12:42:55'),
('119', 'Delete Kitchen Place', 'web', '29', '2026-05-03 12:42:55', '2026-05-03 12:42:55'),
('120', 'Manage Webhooks', 'web', '32', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('121', 'View Webhook Logs', 'web', '32', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('122', 'Send Webhook Test', 'web', '32', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('123', 'Show Hotel Front Desk', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('124', 'Create Hotel Room', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('125', 'Show Hotel Rooms', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('126', 'Update Hotel Room', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('127', 'Delete Hotel Room', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('128', 'Create Hotel Room Type', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('129', 'Show Hotel Room Types', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('130', 'Update Hotel Room Type', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('131', 'Delete Hotel Room Type', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('132', 'Create Hotel Reservation', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('133', 'Show Hotel Reservations', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('134', 'Update Hotel Reservation', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('135', 'Delete Hotel Reservation', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('136', 'Cancel Hotel Reservation', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('137', 'Check In Hotel Guest', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('138', 'Check Out Hotel Guest', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('139', 'Show Hotel Folio', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('140', 'Post To Hotel Folio', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('141', 'Apply Hotel Folio Discount', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('142', 'Apply Hotel Folio Adjustment', 'web', '34', '2026-05-03 12:44:23', '2026-05-03 12:44:23'),
('143', 'Create Hotel Guest', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('144', 'Show Hotel Guests', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('145', 'Update Hotel Guest', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('146', 'Delete Hotel Guest', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('147', 'Create Hotel Rate Plan', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('148', 'Show Hotel Rate Plans', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('149', 'Update Hotel Rate Plan', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('150', 'Delete Hotel Rate Plan', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('151', 'Create Hotel Housekeeping Task', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('152', 'Show Hotel Housekeeping', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('153', 'Update Hotel Housekeeping Task', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('154', 'Complete Hotel Housekeeping Task', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('155', 'Delete Hotel Housekeeping Task', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('156', 'Show Hotel Room Service', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('157', 'Create Hotel Room Service Order', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('158', 'Show Hotel Banquet', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('159', 'Create Hotel Event', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('160', 'Update Hotel Event', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('161', 'Delete Hotel Event', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('162', 'Create Hotel Venue', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('163', 'Update Hotel Venue', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('164', 'Delete Hotel Venue', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('165', 'Show Hotel Stays', 'web', '34', '2026-05-03 12:44:24', '2026-05-03 12:44:24'),
('166', 'Update Sms Setting', 'web', '35', '2026-05-03 12:44:35', '2026-05-03 12:44:35');


-- Table structure for table `personal_access_tokens`
CREATE TABLE `personal_access_tokens` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `tokenable_type` varchar(191) NOT NULL,
  `tokenable_id` bigint(20) unsigned NOT NULL,
  `name` varchar(191) NOT NULL,
  `token` varchar(64) NOT NULL,
  `abilities` text DEFAULT NULL,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `pos_machines`
CREATE TABLE `pos_machines` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `alias` varchar(191) DEFAULT NULL,
  `public_id` varchar(191) NOT NULL,
  `token` varchar(191) NOT NULL,
  `device_id` varchar(191) DEFAULT NULL,
  `status` enum('pending','active','declined') NOT NULL DEFAULT 'pending',
  `last_seen_at` timestamp NULL DEFAULT NULL,
  `created_by` bigint(20) unsigned DEFAULT NULL,
  `approved_by` bigint(20) unsigned DEFAULT NULL,
  `approved_at` timestamp NULL DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `pos_machines_public_id_unique` (`public_id`),
  UNIQUE KEY `pos_machines_token_unique` (`token`),
  KEY `pos_machines_created_by_foreign` (`created_by`),
  KEY `pos_machines_approved_by_foreign` (`approved_by`),
  KEY `pos_machines_branch_id_status_index` (`branch_id`,`status`),
  KEY `pos_machines_status_index` (`status`),
  KEY `pos_machines_device_id_branch_id_index` (`device_id`,`branch_id`),
  CONSTRAINT `pos_machines_approved_by_foreign` FOREIGN KEY (`approved_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  CONSTRAINT `pos_machines_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pos_machines_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `pos_machines`
INSERT INTO `pos_machines` VALUES
('1', '3', 'POST HOME', '01KQQ03C7NZZ0DNSAND9KX0YM3', 'YNW1RXqUZLsCi47ic6lj77Hxx5Ox7s8xJ1I6rAmgVCMkJikD59Ev0nqBRjqXoljJ', 'OlhJSk43WHaw1ckeQ2eFMBoTiHO4m79gJKMdcwH7t3vbRKuD1LuXsss2auQpfhJx', 'active', '2026-05-05 08:33:26', '4', '4', '2026-05-03 13:23:07', NULL, '2026-05-03 13:23:01', '2026-05-05 08:33:26'),
('2', '3', 'GiGi Food POS 1777885220', '01KQS3F3GR14G6NW3MV2HZ8VZ8', 'VH6RQfv66NkW9JY9RHJrP0uVRQ2R526jMqRTPztNG6xVIIdpV39Ebw5HRTu31tK4', 'YWqy1GKD4VCU20J1HQiOS3Wok2zYNkpLdwuEK9aYwkuZR9IdAyG7mKihLGfPiks3', 'active', '2026-05-04 09:00:29', '4', '4', '2026-05-04 09:00:27', NULL, '2026-05-04 09:00:20', '2026-05-04 09:00:29');


-- Table structure for table `predefined_amounts`
CREATE TABLE `predefined_amounts` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `predefined_amounts_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `predefined_amounts_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `predefined_amounts`
INSERT INTO `predefined_amounts` VALUES
('5', '2', '50.00', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('6', '2', '100.00', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('7', '2', '500.00', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('8', '2', '1000.00', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('9', '3', '50.00', '2026-05-04 19:17:09', '2026-05-04 19:17:09'),
('10', '3', '100.00', '2026-05-04 19:17:09', '2026-05-04 19:17:09'),
('11', '3', '500.00', '2026-05-04 19:17:09', '2026-05-04 19:17:09'),
('12', '3', '1000.00', '2026-05-04 19:17:09', '2026-05-04 19:17:09');


-- Table structure for table `print_jobs`
CREATE TABLE `print_jobs` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `printer_id` bigint(20) unsigned DEFAULT NULL,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `status` enum('done','failed','printing','pending') DEFAULT 'pending',
  `error` text DEFAULT NULL,
  `response_printer` varchar(191) DEFAULT NULL,
  `image_filename` varchar(191) DEFAULT NULL,
  `printed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `print_jobs_printer_id_foreign` (`printer_id`),
  KEY `print_jobs_restaurant_id_foreign` (`restaurant_id`),
  KEY `print_jobs_branch_id_foreign` (`branch_id`),
  CONSTRAINT `print_jobs_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `print_jobs_printer_id_foreign` FOREIGN KEY (`printer_id`) REFERENCES `printers` (`id`) ON DELETE CASCADE,
  CONSTRAINT `print_jobs_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `printers`
CREATE TABLE `printers` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `printing_choice` varchar(191) DEFAULT NULL,
  `print_type` enum('image','pdf') NOT NULL DEFAULT 'image',
  `kots` text DEFAULT NULL,
  `orders` text DEFAULT NULL,
  `print_format` varchar(191) DEFAULT NULL,
  `invoice_qr_code` int(11) DEFAULT NULL,
  `open_cash_drawer` enum('yes','no') DEFAULT NULL,
  `share_name` varchar(191) DEFAULT NULL,
  `type` enum('network','windows','linux','default') DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `is_default` tinyint(1) NOT NULL DEFAULT 0,
  `printer_name` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `printers_restaurant_id_foreign` (`restaurant_id`),
  KEY `printers_branch_id_foreign` (`branch_id`),
  CONSTRAINT `printers_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `printers_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `printers`
INSERT INTO `printers` VALUES
('3', '2', '3', 'Default Printer', 'browserPopupPrint', 'image', '[3]', '[3]', NULL, NULL, NULL, NULL, NULL, '1', '1', NULL, '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('4', '3', '4', 'Default Printer', 'browserPopupPrint', 'image', '[4]', '[4]', NULL, NULL, NULL, NULL, NULL, '1', '1', NULL, '2026-05-04 19:17:11', '2026-05-04 19:17:11');


-- Table structure for table `purchase_order_items`
CREATE TABLE `purchase_order_items` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_order_id` bigint(20) unsigned NOT NULL,
  `inventory_item_id` bigint(20) unsigned NOT NULL,
  `quantity` decimal(10,3) DEFAULT NULL,
  `received_quantity` decimal(10,3) DEFAULT 0.000,
  `unit_price` decimal(10,3) DEFAULT NULL,
  `subtotal` decimal(10,3) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `purchase_order_items_purchase_order_id_foreign` (`purchase_order_id`),
  KEY `purchase_order_items_inventory_item_id_foreign` (`inventory_item_id`),
  CONSTRAINT `purchase_order_items_inventory_item_id_foreign` FOREIGN KEY (`inventory_item_id`) REFERENCES `inventory_items` (`id`) ON DELETE CASCADE,
  CONSTRAINT `purchase_order_items_purchase_order_id_foreign` FOREIGN KEY (`purchase_order_id`) REFERENCES `purchase_orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `purchase_order_payments`
CREATE TABLE `purchase_order_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_order_id` bigint(20) unsigned NOT NULL,
  `branch_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(12,3) DEFAULT NULL,
  `payment_method` varchar(191) DEFAULT NULL,
  `paid_at` date DEFAULT NULL,
  `reference` varchar(191) DEFAULT NULL,
  `notes` text DEFAULT NULL,
  `created_by` bigint(20) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `purchase_order_payments_purchase_order_id_foreign` (`purchase_order_id`),
  KEY `purchase_order_payments_branch_id_foreign` (`branch_id`),
  KEY `purchase_order_payments_created_by_foreign` (`created_by`),
  CONSTRAINT `purchase_order_payments_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `purchase_order_payments_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  CONSTRAINT `purchase_order_payments_purchase_order_id_foreign` FOREIGN KEY (`purchase_order_id`) REFERENCES `purchase_orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `purchase_orders`
CREATE TABLE `purchase_orders` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `po_number` varchar(191) NOT NULL,
  `branch_id` bigint(20) unsigned NOT NULL,
  `supplier_id` bigint(20) unsigned NOT NULL,
  `order_date` date NOT NULL,
  `expected_delivery_date` date DEFAULT NULL,
  `total_amount` decimal(10,3) DEFAULT 0.000,
  `status` enum('draft','sent','received','partially_received','cancelled') NOT NULL DEFAULT 'draft',
  `notes` text DEFAULT NULL,
  `created_by` bigint(20) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `purchase_orders_po_number_unique` (`po_number`),
  KEY `purchase_orders_branch_id_foreign` (`branch_id`),
  KEY `purchase_orders_supplier_id_foreign` (`supplier_id`),
  KEY `purchase_orders_created_by_foreign` (`created_by`),
  CONSTRAINT `purchase_orders_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `purchase_orders_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  CONSTRAINT `purchase_orders_supplier_id_foreign` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `push_notifications`
CREATE TABLE `push_notifications` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `user_id` bigint(20) unsigned NOT NULL,
  `endpoint` varchar(191) NOT NULL,
  `public_key` text DEFAULT NULL,
  `auth_token` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `push_notifications_endpoint_unique` (`endpoint`),
  KEY `push_notifications_restaurant_id_foreign` (`restaurant_id`),
  KEY `push_notifications_user_id_foreign` (`user_id`),
  CONSTRAINT `push_notifications_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `push_notifications_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `pusher_settings`
CREATE TABLE `pusher_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `beamer_status` tinyint(1) NOT NULL DEFAULT 0,
  `instance_id` varchar(191) DEFAULT NULL,
  `beam_secret` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `pusher_broadcast` tinyint(1) NOT NULL DEFAULT 0,
  `pusher_app_id` varchar(191) DEFAULT NULL,
  `pusher_key` varchar(191) DEFAULT NULL,
  `pusher_secret` varchar(191) DEFAULT NULL,
  `pusher_cluster` varchar(191) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `pusher_settings`
INSERT INTO `pusher_settings` VALUES
('1', '0', NULL, NULL, '2026-05-03 12:29:43', '2026-05-03 12:29:43', '0', NULL, NULL, NULL, NULL),
('2', '0', NULL, NULL, '2026-05-03 12:30:04', '2026-05-03 12:30:04', '0', NULL, NULL, NULL, NULL);


-- Table structure for table `razorpay_payments`
CREATE TABLE `razorpay_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` bigint(20) unsigned NOT NULL,
  `payment_date` datetime DEFAULT NULL,
  `amount` decimal(16,2) DEFAULT NULL,
  `payment_status` enum('pending','requested','declined','completed') NOT NULL DEFAULT 'pending',
  `payment_error_response` text DEFAULT NULL,
  `razorpay_order_id` varchar(191) DEFAULT NULL,
  `razorpay_payment_id` varchar(191) DEFAULT NULL,
  `razorpay_signature` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `razorpay_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `razorpay_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `receipt_settings`
CREATE TABLE `receipt_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `show_customer_name` tinyint(1) NOT NULL DEFAULT 0,
  `show_customer_address` tinyint(1) NOT NULL DEFAULT 0,
  `show_customer_phone` tinyint(1) NOT NULL DEFAULT 0,
  `show_table_number` tinyint(1) NOT NULL DEFAULT 0,
  `payment_qr_code` varchar(191) DEFAULT NULL,
  `show_payment_qr_code` tinyint(1) NOT NULL DEFAULT 0,
  `show_waiter` tinyint(1) NOT NULL DEFAULT 0,
  `show_total_guest` tinyint(1) NOT NULL DEFAULT 0,
  `show_restaurant_logo` tinyint(1) NOT NULL DEFAULT 0,
  `show_restaurant_name` tinyint(1) NOT NULL DEFAULT 1,
  `show_branch_name` tinyint(1) NOT NULL DEFAULT 0,
  `show_branch_address` tinyint(1) NOT NULL DEFAULT 0,
  `show_cr_number` tinyint(1) NOT NULL DEFAULT 0,
  `show_vat_number` tinyint(1) NOT NULL DEFAULT 0,
  `show_tax` tinyint(1) NOT NULL DEFAULT 0,
  `show_payment_details` tinyint(1) NOT NULL DEFAULT 1,
  `show_payment_status` tinyint(1) NOT NULL DEFAULT 0,
  `show_order_type` tinyint(1) DEFAULT 0,
  `receipt_languages` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`receipt_languages`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `receipt_settings_restaurant_id_foreign` (`restaurant_id`),
  KEY `receipt_settings_branch_id_foreign` (`branch_id`),
  CONSTRAINT `receipt_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `receipt_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `receipt_settings`
INSERT INTO `receipt_settings` VALUES
('3', '2', '3', '0', '0', '0', '0', NULL, '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '1', '0', '0', NULL, '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('4', '3', '4', '0', '0', '0', '0', NULL, '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '1', '0', '0', NULL, '2026-05-04 19:17:10', '2026-05-04 19:17:10');


-- Table structure for table `recipes`
CREATE TABLE `recipes` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `menu_item_id` bigint(20) unsigned DEFAULT NULL,
  `menu_item_variation_id` bigint(20) unsigned DEFAULT NULL,
  `modifier_option_id` bigint(20) unsigned DEFAULT NULL,
  `inventory_item_id` bigint(20) unsigned NOT NULL,
  `quantity` decimal(16,3) DEFAULT 0.000,
  `unit_id` bigint(20) unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `recipes_menu_item_id_foreign` (`menu_item_id`),
  KEY `recipes_inventory_item_id_foreign` (`inventory_item_id`),
  KEY `recipes_unit_id_foreign` (`unit_id`),
  KEY `recipes_menu_item_variation_id_foreign` (`menu_item_variation_id`),
  KEY `recipes_modifier_option_id_foreign` (`modifier_option_id`),
  CONSTRAINT `recipes_inventory_item_id_foreign` FOREIGN KEY (`inventory_item_id`) REFERENCES `inventory_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `recipes_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `recipes_menu_item_variation_id_foreign` FOREIGN KEY (`menu_item_variation_id`) REFERENCES `menu_item_variations` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `recipes_modifier_option_id_foreign` FOREIGN KEY (`modifier_option_id`) REFERENCES `modifier_options` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `recipes_unit_id_foreign` FOREIGN KEY (`unit_id`) REFERENCES `units` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `refund_reasons`
CREATE TABLE `refund_reasons` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `reason` text NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `refund_reasons_branch_id_foreign` (`branch_id`),
  CONSTRAINT `refund_reasons_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `refunds`
CREATE TABLE `refunds` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `payment_id` bigint(20) unsigned NOT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `delivery_app_id` bigint(20) unsigned DEFAULT NULL,
  `refund_reason_id` bigint(20) unsigned DEFAULT NULL,
  `refund_type` enum('full','partial','waste') NOT NULL DEFAULT 'full',
  `partial_refund_type` enum('half','fixed','custom') DEFAULT NULL,
  `amount` decimal(16,2) NOT NULL,
  `commission_adjustment` decimal(16,2) DEFAULT NULL,
  `status` enum('pending','processed','failed','cancelled') NOT NULL DEFAULT 'pending',
  `notes` text DEFAULT NULL,
  `processed_by` bigint(20) unsigned DEFAULT NULL,
  `processed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `refunds_branch_id_foreign` (`branch_id`),
  KEY `refunds_payment_id_foreign` (`payment_id`),
  KEY `refunds_order_id_foreign` (`order_id`),
  KEY `refunds_delivery_app_id_foreign` (`delivery_app_id`),
  KEY `refunds_refund_reason_id_foreign` (`refund_reason_id`),
  KEY `refunds_processed_by_foreign` (`processed_by`),
  CONSTRAINT `refunds_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `refunds_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `refunds_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `refunds_payment_id_foreign` FOREIGN KEY (`payment_id`) REFERENCES `payments` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `refunds_processed_by_foreign` FOREIGN KEY (`processed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `refunds_refund_reason_id_foreign` FOREIGN KEY (`refund_reason_id`) REFERENCES `refund_reasons` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `reservation_settings`
CREATE TABLE `reservation_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `day_of_week` enum('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday') NOT NULL,
  `time_slot_start` time NOT NULL,
  `time_slot_end` time NOT NULL,
  `time_slot_difference` int(11) NOT NULL,
  `slot_type` enum('Breakfast','Lunch','Dinner') NOT NULL,
  `available` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `reservation_settings_branch_id_foreign` (`branch_id`),
  CONSTRAINT `reservation_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=106 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `reservation_settings`
INSERT INTO `reservation_settings` VALUES
('64', '3', 'Monday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('65', '3', 'Monday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('66', '3', 'Monday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('67', '3', 'Tuesday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('68', '3', 'Tuesday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('69', '3', 'Tuesday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('70', '3', 'Wednesday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('71', '3', 'Wednesday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('72', '3', 'Wednesday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('73', '3', 'Thursday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('74', '3', 'Thursday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('75', '3', 'Thursday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('76', '3', 'Friday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('77', '3', 'Friday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('78', '3', 'Friday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('79', '3', 'Saturday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('80', '3', 'Saturday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('81', '3', 'Saturday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('82', '3', 'Sunday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('83', '3', 'Sunday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('84', '3', 'Sunday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-03 13:04:23', '2026-05-03 13:04:23'),
('85', '4', 'Monday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('86', '4', 'Monday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('87', '4', 'Monday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('88', '4', 'Tuesday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('89', '4', 'Tuesday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('90', '4', 'Tuesday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('91', '4', 'Wednesday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('92', '4', 'Wednesday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('93', '4', 'Wednesday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('94', '4', 'Thursday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('95', '4', 'Thursday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('96', '4', 'Thursday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('97', '4', 'Friday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('98', '4', 'Friday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('99', '4', 'Friday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('100', '4', 'Saturday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('101', '4', 'Saturday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('102', '4', 'Saturday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('103', '4', 'Sunday', '08:00:00', '11:00:00', '30', 'Breakfast', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('104', '4', 'Sunday', '12:00:00', '17:00:00', '60', 'Lunch', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('105', '4', 'Sunday', '18:00:00', '22:00:00', '60', 'Dinner', '1', '2026-05-04 19:17:10', '2026-05-04 19:17:10');


-- Table structure for table `reservations`
CREATE TABLE `reservations` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `table_id` bigint(20) unsigned DEFAULT NULL,
  `customer_id` bigint(20) unsigned DEFAULT NULL,
  `reservation_date_time` datetime NOT NULL,
  `party_size` int(11) NOT NULL,
  `special_requests` text DEFAULT NULL,
  `reservation_status` enum('Pending','Confirmed','Checked_In','Cancelled','No_Show') NOT NULL DEFAULT 'Confirmed',
  `reservation_slot_type` enum('Breakfast','Lunch','Dinner') NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `slot_time_difference` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `reservations_table_id_foreign` (`table_id`),
  KEY `reservations_customer_id_foreign` (`customer_id`),
  KEY `reservations_branch_id_foreign` (`branch_id`),
  CONSTRAINT `reservations_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `reservations_customer_id_foreign` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `reservations_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `restapi_global_settings`
CREATE TABLE `restapi_global_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_code` varchar(191) DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `license_type` varchar(20) DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `firebase_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `firebase_server_key` text DEFAULT NULL,
  `firebase_project_id` varchar(191) DEFAULT NULL,
  `firebase_service_account_json` varchar(191) DEFAULT NULL,
  `firebase_priority` varchar(10) NOT NULL DEFAULT 'high',
  `firebase_sound` varchar(50) NOT NULL DEFAULT 'default',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `restapi_global_settings`
INSERT INTO `restapi_global_settings` VALUES
('1', '4143bc78-adc8-433b-a593-ed9f0e35ca5e', '2026-11-02 02:33:52', NULL, NULL, '1', '0', NULL, NULL, NULL, 'high', 'default', '2026-05-03 12:44:45', '2026-05-03 12:44:46');


-- Table structure for table `restaurant_android_sms_settings`
CREATE TABLE `restaurant_android_sms_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `base_url` varchar(512) DEFAULT NULL,
  `username` varchar(191) DEFAULT NULL,
  `password` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `restaurant_android_sms_settings_restaurant_id_unique` (`restaurant_id`),
  CONSTRAINT `restaurant_android_sms_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `restaurant_charges`
CREATE TABLE `restaurant_charges` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `charge_name` varchar(191) NOT NULL,
  `charge_type` enum('percent','fixed') NOT NULL DEFAULT 'fixed',
  `charge_value` decimal(16,2) DEFAULT NULL,
  `order_types` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'Supported order types: DineIn, Delivery, PickUp' CHECK (json_valid(`order_types`)),
  `is_enabled` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `restaurant_charges_restaurant_id_foreign` (`restaurant_id`),
  KEY `restaurant_charges_charge_name_index` (`charge_name`),
  CONSTRAINT `restaurant_charges_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `restaurant_payments`
CREATE TABLE `restaurant_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(16,2) NOT NULL,
  `status` enum('pending','paid','failed') NOT NULL DEFAULT 'pending',
  `payment_source` enum('official_site','app_sumo') NOT NULL DEFAULT 'official_site',
  `razorpay_order_id` varchar(191) DEFAULT NULL,
  `razorpay_payment_id` varchar(191) DEFAULT NULL,
  `razorpay_signature` varchar(191) DEFAULT NULL,
  `transaction_id` varchar(191) DEFAULT NULL,
  `reference_id` varchar(191) DEFAULT NULL,
  `payment_date_time` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `stripe_payment_intent` varchar(191) DEFAULT NULL,
  `stripe_session_id` text DEFAULT NULL,
  `package_id` bigint(20) unsigned DEFAULT NULL,
  `package_type` varchar(191) DEFAULT NULL,
  `currency_id` varchar(191) DEFAULT NULL,
  `flutterwave_transaction_id` varchar(191) DEFAULT NULL,
  `flutterwave_payment_ref` varchar(191) DEFAULT NULL,
  `paypal_payment_id` varchar(191) DEFAULT NULL,
  `mollie_payment_id` varchar(191) DEFAULT NULL,
  `mollie_customer_id` varchar(191) DEFAULT NULL,
  `mollie_subscription_id` varchar(191) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `restaurant_payments_restaurant_id_foreign` (`restaurant_id`),
  KEY `restaurant_payments_package_id_foreign` (`package_id`),
  CONSTRAINT `restaurant_payments_package_id_foreign` FOREIGN KEY (`package_id`) REFERENCES `packages` (`id`) ON DELETE CASCADE,
  CONSTRAINT `restaurant_payments_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `restaurant_taxes`
CREATE TABLE `restaurant_taxes` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `tax_id` varchar(191) DEFAULT NULL,
  `tax_name` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `restaurant_taxes_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `restaurant_taxes_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `restaurants`
CREATE TABLE `restaurants` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `sub_domain` varchar(191) DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `hash` varchar(191) DEFAULT NULL,
  `address` varchar(191) DEFAULT NULL,
  `phone_number` varchar(191) DEFAULT NULL,
  `phone_code` varchar(191) DEFAULT NULL,
  `email` varchar(191) DEFAULT NULL,
  `timezone` varchar(191) NOT NULL,
  `time_format` varchar(191) NOT NULL DEFAULT 'h:i A',
  `date_format` varchar(191) NOT NULL DEFAULT 'd/m/Y',
  `theme_hex` varchar(191) NOT NULL,
  `theme_rgb` varchar(191) NOT NULL,
  `logo` varchar(191) DEFAULT NULL,
  `country_id` bigint(20) unsigned NOT NULL,
  `hide_new_orders` tinyint(1) NOT NULL DEFAULT 0,
  `hide_new_reservations` tinyint(1) NOT NULL DEFAULT 0,
  `hide_new_waiter_request` tinyint(1) NOT NULL DEFAULT 0,
  `currency_id` bigint(20) unsigned DEFAULT NULL,
  `license_type` enum('free','paid') NOT NULL DEFAULT 'free',
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `ai_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `ai_daily_request_limit` int(11) NOT NULL DEFAULT 50,
  `ai_allowed_roles` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`ai_allowed_roles`)),
  `ai_monthly_tokens_used` int(11) NOT NULL DEFAULT 0,
  `ai_monthly_reset_at` date DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `customer_login_required` tinyint(1) NOT NULL DEFAULT 0,
  `about_us` longtext DEFAULT NULL,
  `allow_customer_delivery_orders` tinyint(1) NOT NULL DEFAULT 1,
  `allow_customer_pickup_orders` tinyint(1) NOT NULL DEFAULT 1,
  `pickup_days_range` int(11) DEFAULT 7,
  `allow_customer_orders` tinyint(1) NOT NULL DEFAULT 1,
  `allow_dine_in_orders` tinyint(1) NOT NULL DEFAULT 1,
  `show_veg` tinyint(1) NOT NULL DEFAULT 1,
  `show_halal` tinyint(1) NOT NULL DEFAULT 0,
  `package_id` bigint(20) unsigned DEFAULT NULL,
  `package_type` varchar(191) DEFAULT NULL,
  `status` enum('active','inactive','license_expired') NOT NULL DEFAULT 'active',
  `license_expire_on` datetime DEFAULT NULL,
  `count_sms` int(11) NOT NULL DEFAULT 0,
  `total_sms` int(11) NOT NULL DEFAULT -1,
  `trial_ends_at` datetime DEFAULT NULL,
  `license_updated_at` datetime DEFAULT NULL,
  `subscription_updated_at` datetime DEFAULT NULL,
  `stripe_id` varchar(191) DEFAULT NULL,
  `pm_type` varchar(191) DEFAULT NULL,
  `pm_last_four` varchar(4) DEFAULT NULL,
  `is_waiter_request_enabled` tinyint(1) NOT NULL DEFAULT 1,
  `default_table_reservation_status` varchar(191) NOT NULL DEFAULT 'Confirmed',
  `disable_slot_minutes` int(11) NOT NULL DEFAULT 30,
  `approval_status` enum('Pending','Approved','Rejected') NOT NULL DEFAULT 'Approved',
  `rejection_reason` text DEFAULT NULL,
  `facebook_link` varchar(255) DEFAULT NULL,
  `instagram_link` varchar(255) DEFAULT NULL,
  `twitter_link` varchar(255) DEFAULT NULL,
  `yelp_link` varchar(255) DEFAULT NULL,
  `google_business_link` varchar(255) DEFAULT NULL,
  `wifi_name` varchar(191) DEFAULT NULL,
  `wifi_password` varchar(191) DEFAULT NULL,
  `show_wifi_icon` tinyint(1) NOT NULL DEFAULT 0,
  `table_required` tinyint(1) NOT NULL DEFAULT 0,
  `show_logo_text` tinyint(1) NOT NULL DEFAULT 1,
  `meta_keyword` text DEFAULT NULL,
  `meta_description` longtext DEFAULT NULL,
  `upload_fav_icon_android_chrome_192` varchar(191) DEFAULT NULL,
  `upload_fav_icon_android_chrome_512` varchar(191) DEFAULT NULL,
  `upload_fav_icon_apple_touch_icon` varchar(191) DEFAULT NULL,
  `upload_favicon_16` varchar(191) DEFAULT NULL,
  `upload_favicon_32` varchar(191) DEFAULT NULL,
  `favicon` varchar(191) DEFAULT NULL,
  `is_waiter_request_enabled_on_desktop` tinyint(1) NOT NULL DEFAULT 1,
  `is_waiter_request_enabled_on_mobile` tinyint(1) NOT NULL DEFAULT 1,
  `is_waiter_request_enabled_open_by_qr` tinyint(1) NOT NULL DEFAULT 0,
  `webmanifest` varchar(191) DEFAULT NULL,
  `enable_tip_shop` tinyint(1) NOT NULL DEFAULT 1,
  `enable_tip_pos` tinyint(1) NOT NULL DEFAULT 1,
  `is_pwa_install_alert_show` tinyint(1) NOT NULL DEFAULT 0,
  `auto_confirm_orders` tinyint(1) NOT NULL DEFAULT 0,
  `auto_confirm_orders_before_payment` tinyint(1) NOT NULL DEFAULT 0,
  `auto_confirm_orders_after_payment` tinyint(1) NOT NULL DEFAULT 0,
  `restrict_qr_order_by_location` tinyint(1) NOT NULL DEFAULT 0,
  `qr_order_radius_meters` int(10) unsigned DEFAULT NULL,
  `show_order_type_options` tinyint(1) NOT NULL DEFAULT 1,
  `disable_order_type_popup` tinyint(1) NOT NULL DEFAULT 0,
  `restaurant_open_close_mode` enum('auto','manual') NOT NULL DEFAULT 'auto',
  `restaurant_manual_open_close_type` enum('time','toggle') NOT NULL DEFAULT 'time',
  `manual_open_time` time DEFAULT NULL,
  `manual_close_time` time DEFAULT NULL,
  `is_temporarily_closed` tinyint(1) NOT NULL DEFAULT 0,
  `default_order_type_id` bigint(20) unsigned DEFAULT NULL,
  `hide_menu_item_image_on_pos` tinyint(1) NOT NULL DEFAULT 0,
  `hide_menu_item_image_on_customer_site` tinyint(1) NOT NULL DEFAULT 0,
  `menu_item_default_image_path` varchar(191) DEFAULT NULL,
  `disable_menu_item_default_image` tinyint(1) NOT NULL DEFAULT 0,
  `tax_mode` enum('order','item') NOT NULL DEFAULT 'order',
  `tax_inclusive` tinyint(1) NOT NULL DEFAULT 0,
  `include_charges_in_tax_base` tinyint(1) NOT NULL DEFAULT 0,
  `customer_site_language` varchar(191) DEFAULT NULL,
  `enable_admin_reservation` tinyint(1) NOT NULL DEFAULT 1,
  `enable_customer_reservation` tinyint(1) NOT NULL DEFAULT 1,
  `minimum_party_size` int(11) NOT NULL DEFAULT 1,
  `table_lock_timeout_minutes` int(11) NOT NULL DEFAULT 10,
  `mollie_customer_id` varchar(191) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `restaurant_settings_country_id_foreign` (`country_id`),
  KEY `restaurant_settings_currency_id_foreign` (`currency_id`),
  KEY `restaurants_package_id_foreign` (`package_id`),
  KEY `restaurants_default_order_type_id_foreign` (`default_order_type_id`),
  CONSTRAINT `restaurant_settings_country_id_foreign` FOREIGN KEY (`country_id`) REFERENCES `countries` (`id`) ON DELETE CASCADE,
  CONSTRAINT `restaurant_settings_currency_id_foreign` FOREIGN KEY (`currency_id`) REFERENCES `currencies` (`id`) ON DELETE CASCADE,
  CONSTRAINT `restaurants_default_order_type_id_foreign` FOREIGN KEY (`default_order_type_id`) REFERENCES `order_types` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `restaurants_package_id_foreign` FOREIGN KEY (`package_id`) REFERENCES `packages` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `restaurants`
INSERT INTO `restaurants` VALUES
('2', 'gigi.qonpos.com', 'GiGi Food', 'gigi-food', 'av', '604938833', '34', 'wct.rodriguez.co@gmail.com', 'Europe/Madrid', 'h:i A', 'd/m/Y', '#1c1c1c', '28, 28, 28', NULL, '209', '0', '0', '0', '8', 'free', '1', '0', '50', NULL, '0', '2026-06-01', '2026-05-03 13:04:22', '2026-05-04 09:51:52', '0', '<p class=\"text-lg text-gray-600 mb-6\">\n          Welcome to our restaurant, where great food and good vibes come together! We\'re a local, family-owned spot that loves bringing people together over delicious meals and unforgettable moments. Whether you\'re here for a quick bite, a family dinner, or a celebration, we\'re all about making your time with us special.\n        </p>\n        <p class=\"text-lg text-gray-600 mb-6\">\n          Our menu is packed with dishes made from fresh, quality ingredients because we believe food should taste as\n          good as it makes you feel. From our signature dishes to seasonal specials, there\'s always something to excite\n          your taste buds.\n        </p>\n        <p class=\"text-lg text-gray-600 mb-6\">\n          But we\'re not just about the food—we\'re about community. We love seeing familiar faces and welcoming new ones.\n          Our team is a fun, friendly bunch dedicated to serving you with a smile and making sure every visit feels like\n          coming home.\n        </p>\n        <p class=\"text-lg text-gray-600\">\n          So, come on in, grab a seat, and let us take care of the rest. We can\'t wait to share our love of food with\n          you!\n        </p>\n        <p class=\"text-lg text-gray-800 font-semibold mt-6\">See you soon! 🍽️✨</p>', '1', '1', '7', '1', '1', '1', '0', '3', 'lifetime', 'active', NULL, '0', '-1', NULL, '2026-05-03 13:04:22', '2026-05-03 13:04:22', NULL, NULL, NULL, '1', 'Confirmed', '30', 'Approved', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '0', NULL, '1', '1', '0', '0', '0', '0', '0', NULL, '1', '1', 'auto', 'time', NULL, NULL, '0', '9', '0', '0', NULL, '0', 'order', '0', '0', 'es', '1', '1', '1', '10', NULL),
('3', 'barlafontfigueres.qonpos.com', 'Bar la font', 'bar-la-font', 'Comida típica latina y comidas rápidas ', '613274604', '34', 'Johannapaolaperez4@gmail.com', 'Europe/Madrid', 'h:i A', 'd/m/Y', '#1c1c1c', '28, 28, 28', NULL, '209', '0', '0', '0', '12', 'free', '1', '0', '50', NULL, '0', '2026-06-01', '2026-05-04 19:17:08', '2026-05-05 06:14:29', '0', '<p class=\"text-lg text-gray-600 mb-6\">\n          Welcome to our restaurant, where great food and good vibes come together! We\'re a local, family-owned spot that loves bringing people together over delicious meals and unforgettable moments. Whether you\'re here for a quick bite, a family dinner, or a celebration, we\'re all about making your time with us special.\n        </p>\n        <p class=\"text-lg text-gray-600 mb-6\">\n          Our menu is packed with dishes made from fresh, quality ingredients because we believe food should taste as\n          good as it makes you feel. From our signature dishes to seasonal specials, there\'s always something to excite\n          your taste buds.\n        </p>\n        <p class=\"text-lg text-gray-600 mb-6\">\n          But we\'re not just about the food—we\'re about community. We love seeing familiar faces and welcoming new ones.\n          Our team is a fun, friendly bunch dedicated to serving you with a smile and making sure every visit feels like\n          coming home.\n        </p>\n        <p class=\"text-lg text-gray-600\">\n          So, come on in, grab a seat, and let us take care of the rest. We can\'t wait to share our love of food with\n          you!\n        </p>\n        <p class=\"text-lg text-gray-800 font-semibold mt-6\">See you soon! 🍽️✨</p>', '1', '1', '7', '1', '1', '1', '0', '3', 'lifetime', 'active', NULL, '0', '-1', NULL, '2026-05-04 19:17:09', '2026-05-04 19:17:09', NULL, NULL, NULL, '1', 'Confirmed', '30', 'Approved', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '0', NULL, '1', '1', '0', '0', '0', '0', '0', NULL, '1', '0', 'auto', 'time', NULL, NULL, '0', NULL, '0', '0', NULL, '0', 'order', '0', '0', 'en', '1', '1', '1', '10', NULL);


-- Table structure for table `role_has_permissions`
CREATE TABLE `role_has_permissions` (
  `permission_id` bigint(20) unsigned NOT NULL,
  `role_id` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`permission_id`,`role_id`),
  KEY `role_has_permissions_role_id_foreign` (`role_id`),
  CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE,
  CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `role_has_permissions`
INSERT INTO `role_has_permissions` VALUES
('1', '1'),
('1', '6'),
('1', '7'),
('1', '10'),
('1', '11'),
('2', '1'),
('2', '6'),
('2', '7'),
('2', '10'),
('2', '11'),
('3', '1'),
('3', '6'),
('3', '7'),
('3', '10'),
('3', '11'),
('4', '1'),
('4', '6'),
('4', '7'),
('4', '10'),
('4', '11'),
('5', '1'),
('5', '6'),
('5', '7'),
('5', '10'),
('5', '11'),
('6', '1'),
('6', '6'),
('6', '7'),
('6', '10'),
('6', '11'),
('7', '1'),
('7', '6'),
('7', '7'),
('7', '10'),
('7', '11'),
('8', '1'),
('8', '6'),
('8', '7'),
('8', '10'),
('8', '11'),
('9', '1'),
('9', '6'),
('9', '7'),
('9', '10'),
('9', '11'),
('10', '1'),
('10', '6'),
('10', '7'),
('10', '10'),
('10', '11'),
('11', '1'),
('11', '6'),
('11', '7'),
('11', '10'),
('11', '11'),
('12', '1'),
('12', '6'),
('12', '7'),
('12', '10'),
('12', '11'),
('13', '1'),
('13', '6'),
('13', '7'),
('13', '10'),
('13', '11'),
('14', '1'),
('14', '6'),
('14', '7'),
('14', '10'),
('14', '11'),
('15', '1'),
('15', '6'),
('15', '7'),
('15', '10'),
('15', '11'),
('16', '1'),
('16', '6'),
('16', '7'),
('16', '10'),
('16', '11'),
('17', '1'),
('17', '6'),
('17', '7'),
('17', '10'),
('17', '11'),
('18', '6'),
('18', '7'),
('18', '10'),
('18', '11'),
('19', '6'),
('19', '7'),
('19', '10'),
('19', '11'),
('20', '6'),
('20', '7'),
('20', '10'),
('20', '11'),
('21', '6'),
('21', '7'),
('21', '10'),
('21', '11'),
('22', '6'),
('22', '7'),
('22', '10'),
('22', '11'),
('23', '6'),
('23', '7'),
('23', '10'),
('23', '11'),
('24', '6'),
('24', '7'),
('24', '10'),
('24', '11'),
('25', '6'),
('25', '7'),
('25', '10'),
('25', '11'),
('26', '6'),
('26', '7'),
('26', '10'),
('26', '11'),
('27', '6'),
('27', '7'),
('27', '10'),
('27', '11'),
('28', '6'),
('28', '7'),
('28', '10'),
('28', '11'),
('29', '6'),
('29', '7'),
('29', '10'),
('29', '11'),
('30', '6'),
('30', '7'),
('30', '10'),
('30', '11'),
('31', '6'),
('31', '7'),
('31', '10'),
('31', '11'),
('32', '6'),
('32', '7'),
('32', '10'),
('32', '11'),
('33', '6'),
('33', '7'),
('33', '10'),
('33', '11'),
('34', '6'),
('34', '7'),
('34', '10'),
('34', '11'),
('35', '6'),
('35', '7'),
('35', '10'),
('35', '11'),
('36', '6'),
('36', '7'),
('36', '10'),
('36', '11'),
('37', '6'),
('37', '7'),
('37', '10'),
('37', '11'),
('38', '6'),
('38', '7'),
('38', '10'),
('38', '11'),
('39', '6'),
('39', '7'),
('39', '10'),
('39', '11'),
('40', '6'),
('40', '7'),
('40', '10'),
('40', '11'),
('41', '6'),
('41', '7'),
('41', '10'),
('41', '11'),
('42', '6'),
('42', '7'),
('42', '10'),
('42', '11'),
('43', '6'),
('43', '7'),
('43', '10'),
('43', '11'),
('44', '6'),
('44', '7'),
('44', '10'),
('44', '11'),
('45', '6'),
('45', '7'),
('45', '10'),
('45', '11'),
('46', '6'),
('46', '7'),
('46', '10'),
('46', '11'),
('47', '6'),
('47', '7'),
('47', '10'),
('47', '11'),
('48', '6'),
('48', '7'),
('48', '10'),
('48', '11'),
('49', '6'),
('49', '7'),
('49', '10'),
('49', '11'),
('50', '6'),
('50', '7'),
('50', '10'),
('50', '11'),
('51', '6'),
('51', '7'),
('51', '10'),
('51', '11'),
('52', '6'),
('52', '7'),
('52', '10'),
('52', '11'),
('53', '6'),
('53', '7'),
('53', '10'),
('53', '11'),
('54', '6'),
('54', '7'),
('54', '10'),
('54', '11'),
('55', '6'),
('55', '7'),
('55', '10'),
('55', '11'),
('56', '6'),
('56', '7'),
('56', '10'),
('56', '11'),
('57', '6'),
('57', '7'),
('57', '10'),
('57', '11'),
('58', '6'),
('58', '7'),
('58', '10'),
('58', '11'),
('59', '6'),
('59', '7'),
('59', '10'),
('59', '11'),
('60', '6'),
('60', '7'),
('60', '10'),
('60', '11'),
('61', '6'),
('61', '7'),
('61', '10'),
('61', '11'),
('62', '6'),
('62', '7'),
('62', '10'),
('62', '11'),
('63', '6'),
('63', '7'),
('63', '10'),
('63', '11'),
('64', '6'),
('64', '7'),
('64', '10'),
('64', '11'),
('65', '6'),
('65', '7'),
('65', '10'),
('65', '11'),
('66', '6'),
('66', '7'),
('66', '10'),
('66', '11'),
('67', '6'),
('67', '7'),
('67', '10'),
('67', '11'),
('68', '6'),
('68', '7'),
('68', '10'),
('68', '11'),
('69', '6'),
('69', '7'),
('69', '10'),
('69', '11'),
('70', '6'),
('70', '7'),
('70', '10'),
('70', '11'),
('71', '6'),
('71', '7'),
('71', '10'),
('71', '11'),
('72', '6'),
('72', '7'),
('72', '10'),
('72', '11'),
('73', '6'),
('73', '7'),
('73', '10'),
('73', '11'),
('74', '6'),
('74', '7'),
('74', '10'),
('74', '11'),
('75', '6'),
('75', '7'),
('75', '10'),
('75', '11'),
('76', '6'),
('76', '7'),
('76', '10'),
('76', '11'),
('77', '6'),
('77', '7'),
('77', '10'),
('77', '11'),
('78', '6'),
('78', '7'),
('78', '10'),
('78', '11'),
('79', '6'),
('79', '7'),
('79', '10'),
('79', '11'),
('80', '6'),
('80', '7'),
('80', '10'),
('80', '11'),
('81', '6'),
('81', '7'),
('81', '10'),
('81', '11'),
('82', '6'),
('82', '7'),
('82', '10'),
('82', '11'),
('83', '6'),
('83', '7'),
('83', '10'),
('83', '11'),
('84', '6'),
('84', '7'),
('84', '10'),
('84', '11'),
('85', '6'),
('85', '7'),
('85', '10'),
('85', '11'),
('86', '6'),
('86', '7'),
('86', '10'),
('86', '11'),
('87', '6'),
('87', '7'),
('87', '10'),
('87', '11'),
('88', '6'),
('88', '7'),
('88', '10'),
('88', '11'),
('89', '6'),
('89', '7'),
('89', '10'),
('89', '11'),
('90', '6'),
('90', '7'),
('90', '10'),
('90', '11'),
('91', '6'),
('91', '7'),
('91', '10'),
('91', '11'),
('92', '6'),
('92', '7'),
('92', '10'),
('92', '11'),
('93', '6'),
('93', '7'),
('93', '10'),
('93', '11'),
('94', '6'),
('94', '7'),
('94', '10'),
('94', '11'),
('95', '6'),
('95', '7'),
('95', '10'),
('95', '11'),
('96', '6'),
('96', '7'),
('96', '10'),
('96', '11'),
('97', '6'),
('97', '7'),
('97', '10'),
('97', '11'),
('98', '6'),
('98', '7'),
('98', '10'),
('98', '11'),
('99', '6'),
('99', '7'),
('99', '10'),
('99', '11'),
('100', '6'),
('100', '7'),
('100', '10'),
('100', '11'),
('101', '6'),
('101', '7'),
('101', '10'),
('101', '11'),
('102', '6'),
('102', '7'),
('102', '10'),
('102', '11'),
('103', '6'),
('103', '7'),
('103', '10'),
('103', '11'),
('104', '6'),
('104', '7'),
('104', '10'),
('104', '11'),
('105', '6'),
('105', '7'),
('105', '10'),
('105', '11'),
('106', '6'),
('106', '7'),
('106', '10'),
('106', '11'),
('107', '6'),
('107', '7'),
('107', '10'),
('107', '11'),
('108', '6'),
('108', '7'),
('108', '10'),
('108', '11'),
('109', '6'),
('109', '7'),
('109', '10'),
('109', '11'),
('110', '6'),
('110', '7'),
('110', '10'),
('110', '11'),
('111', '6'),
('111', '7'),
('111', '10'),
('111', '11'),
('112', '6'),
('112', '7'),
('112', '10'),
('112', '11'),
('113', '6'),
('113', '7'),
('113', '10'),
('113', '11'),
('114', '6'),
('114', '7'),
('114', '10'),
('114', '11'),
('115', '6'),
('115', '7'),
('115', '10'),
('115', '11'),
('116', '6'),
('116', '7'),
('116', '10'),
('116', '11'),
('117', '6'),
('117', '7'),
('117', '10'),
('117', '11'),
('118', '6'),
('118', '7'),
('118', '10'),
('118', '11'),
('119', '6'),
('119', '7'),
('119', '10'),
('119', '11'),
('120', '6'),
('120', '7'),
('120', '10'),
('120', '11'),
('121', '6'),
('121', '7'),
('121', '10'),
('121', '11'),
('122', '6'),
('122', '7'),
('122', '10'),
('122', '11'),
('123', '6'),
('123', '7'),
('123', '10'),
('123', '11'),
('124', '6'),
('124', '7'),
('124', '10'),
('124', '11'),
('125', '6'),
('125', '7'),
('125', '10'),
('125', '11'),
('126', '6'),
('126', '7'),
('126', '10'),
('126', '11'),
('127', '6'),
('127', '7'),
('127', '10'),
('127', '11'),
('128', '6'),
('128', '7'),
('128', '10'),
('128', '11'),
('129', '6'),
('129', '7'),
('129', '10'),
('129', '11'),
('130', '6'),
('130', '7'),
('130', '10'),
('130', '11'),
('131', '6'),
('131', '7'),
('131', '10'),
('131', '11'),
('132', '6'),
('132', '7'),
('132', '10'),
('132', '11'),
('133', '6'),
('133', '7'),
('133', '10'),
('133', '11'),
('134', '6'),
('134', '7'),
('134', '10'),
('134', '11'),
('135', '6'),
('135', '7'),
('135', '10'),
('135', '11'),
('136', '6'),
('136', '7'),
('136', '10'),
('136', '11'),
('137', '6'),
('137', '7'),
('137', '10'),
('137', '11'),
('138', '6'),
('138', '7'),
('138', '10'),
('138', '11'),
('139', '6'),
('139', '7'),
('139', '10'),
('139', '11'),
('140', '6'),
('140', '7'),
('140', '10'),
('140', '11'),
('141', '6'),
('141', '7'),
('141', '10'),
('141', '11'),
('142', '6'),
('142', '7'),
('142', '10'),
('142', '11'),
('143', '6'),
('143', '7'),
('143', '10'),
('143', '11'),
('144', '6'),
('144', '7'),
('144', '10'),
('144', '11'),
('145', '6'),
('145', '7'),
('145', '10'),
('145', '11'),
('146', '6'),
('146', '7'),
('146', '10'),
('146', '11'),
('147', '6'),
('147', '7'),
('147', '10'),
('147', '11'),
('148', '6'),
('148', '7'),
('148', '10'),
('148', '11'),
('149', '6'),
('149', '7'),
('149', '10'),
('149', '11'),
('150', '6'),
('150', '7'),
('150', '10'),
('150', '11'),
('151', '6'),
('151', '7'),
('151', '10'),
('151', '11'),
('152', '6'),
('152', '7'),
('152', '10'),
('152', '11'),
('153', '6'),
('153', '7'),
('153', '10'),
('153', '11'),
('154', '6'),
('154', '7'),
('154', '10'),
('154', '11'),
('155', '6'),
('155', '7'),
('155', '10'),
('155', '11'),
('156', '6'),
('156', '7'),
('156', '10'),
('156', '11'),
('157', '6'),
('157', '7'),
('157', '10'),
('157', '11'),
('158', '6'),
('158', '7'),
('158', '10'),
('158', '11'),
('159', '6'),
('159', '7'),
('159', '10'),
('159', '11'),
('160', '6'),
('160', '7'),
('160', '10'),
('160', '11'),
('161', '6'),
('161', '7'),
('161', '10'),
('161', '11'),
('162', '6'),
('162', '7'),
('162', '10'),
('162', '11'),
('163', '6'),
('163', '7'),
('163', '10'),
('163', '11'),
('164', '6'),
('164', '7'),
('164', '10'),
('164', '11'),
('165', '6'),
('165', '7'),
('165', '10'),
('165', '11'),
('166', '6'),
('166', '7'),
('166', '10'),
('166', '11');


-- Table structure for table `roles`
CREATE TABLE `roles` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(191) NOT NULL,
  `display_name` varchar(191) DEFAULT NULL,
  `guard_name` varchar(191) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`),
  KEY `roles_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `roles_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `roles`
INSERT INTO `roles` VALUES
('1', 'Super Admin', 'Super Admin', 'web', '2026-05-03 12:30:01', '2026-05-03 12:30:01', NULL),
('6', 'Admin_2', 'Admin', 'web', '2026-05-03 13:04:23', '2026-05-03 13:04:23', '2'),
('7', 'Branch Head_2', 'Branch Head', 'web', '2026-05-03 13:04:23', '2026-05-03 13:04:23', '2'),
('8', 'Waiter_2', 'Waiter', 'web', '2026-05-03 13:04:23', '2026-05-03 13:04:23', '2'),
('9', 'Chef_2', 'Chef', 'web', '2026-05-03 13:04:23', '2026-05-03 13:04:23', '2'),
('10', 'Admin_3', 'Admin', 'web', '2026-05-04 19:17:11', '2026-05-04 19:17:11', '3'),
('11', 'Branch Head_3', 'Branch Head', 'web', '2026-05-04 19:17:11', '2026-05-04 19:17:11', '3'),
('12', 'Waiter_3', 'Waiter', 'web', '2026-05-04 19:17:11', '2026-05-04 19:17:11', '3'),
('13', 'Chef_3', 'Chef', 'web', '2026-05-04 19:17:12', '2026-05-04 19:17:12', '3');


-- Table structure for table `sessions`
CREATE TABLE `sessions` (
  `id` varchar(191) NOT NULL,
  `user_id` bigint(20) unsigned DEFAULT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` text DEFAULT NULL,
  `payload` longtext NOT NULL,
  `last_activity` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sessions_user_id_index` (`user_id`),
  KEY `sessions_last_activity_index` (`last_activity`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `sessions`
INSERT INTO `sessions` VALUES
('7zYyS1CG3798yi7qh4kYWIzt5r9jt6oFxABrYZ2p', NULL, '2602:fa59:9:16fe::1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 Version/15.1 Safari/605.1.15', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiUUYwYTQ3TjMxZU9YT0pVV0N3VUc4TnlSUzVhOXZvWmtydE5DSXk1aCI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778316101'),
('96bNeb60WktbHWLKjXS8l4YnKl3OWMJlzTyf5TcE', NULL, '139.59.136.184', 'Mozilla/5.0 (l9scan/2.0.4343e22323e21323e2430313; +https://leakix.net)', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiclV2SFc3UlBZcGZqNXBGTkI2bEtYUkRsSzNJeUU2NTBFbzV6VGdXWCI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1cyI7czo2OiJlbmFibGUiO3M6MTA6ImNyZWF0ZWRfYXQiO3M6MTk6IjIwMjYtMDUtMDMgMTI6Mjk6NDMiO3M6MTA6InVwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDUtMDMgMTI6Mjk6NDMiO3M6MTA6ImRlbGV0ZWRfYXQiO047fXM6MTE6IgAqAG9yaWdpbmFsIjthOjE1OntzOjI6ImlkIjtpOjE7czoxMzoiY3VycmVuY3lfbmFtZSI7czo3OiJEb2xsYXJzIjtzOjE1OiJjdXJyZW5jeV9zeW1ib2wiO3M6MToiJCI7czoxMzoiY3VycmVuY3lfY29kZSI7czozOiJVU0QiO3M6MTM6ImV4Y2hhbmdlX3JhdGUiO047czo5OiJ1c2RfcHJpY2UiO047czoxNzoiaXNfY3J5cHRvY3VycmVuY3kiO3M6Mjoibm8iO3M6MTc6ImN1cnJlbmN5X3Bvc2l0aW9uIjtzOjQ6ImxlZnQiO3M6MTM6Im5vX29mX2RlY2ltYWwiO2k6MjtzOjE4OiJ0aG91c2FuZF9zZXBhcmF0b3IiO3M6MToiLCI7czoxNzoiZGVjaW1hbF9zZXBhcmF0b3IiO3M6MToiLiI7czo2OiJzdGF0dXMiO3M6NjoiZW5hYmxlIjtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA1LTAzIDEyOjI5OjQzIjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA1LTAzIDEyOjI5OjQzIjtzOjEwOiJkZWxldGVkX2F0IjtOO31zOjEwOiIAKgBjaGFuZ2VzIjthOjA6e31zOjExOiIAKgBwcmV2aW91cyI7YTowOnt9czo4OiIAKgBjYXN0cyI7YToyOntzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czo3OiJib29sZWFuIjtzOjEwOiJkZWxldGVkX2F0IjtzOjg6ImRhdGV0aW1lIjt9czoxNzoiACoAY2xhc3NDYXN0Q2FjaGUiO2E6MDp7fXM6MjE6IgAqAGF0dHJpYnV0ZUNhc3RDYWNoZSI7YTowOnt9czoxMzoiACoAZGF0ZUZvcm1hdCI7TjtzOjEwOiIAKgBhcHBlbmRzIjthOjA6e31zOjE5OiIAKgBkaXNwYXRjaGVzRXZlbnRzIjthOjA6e31zOjE0OiIAKgBvYnNlcnZhYmxlcyI7YTowOnt9czoxMjoiACoAcmVsYXRpb25zIjthOjA6e31zOjEwOiIAKgB0b3VjaGVzIjthOjA6e31zOjI3OiIAKgByZWxhdGlvbkF1dG9sb2FkQ2FsbGJhY2siO047czoyNjoiACoAcmVsYXRpb25BdXRvbG9hZENvbnRleHQiO047czoxMDoidGltZXN0YW1wcyI7YjoxO3M6MTM6InVzZXNVbmlxdWVJZHMiO2I6MDtzOjk6IgAqAGhpZGRlbiI7YTowOnt9czoxMDoiACoAdmlzaWJsZSI7YTowOnt9czoxMToiACoAZmlsbGFibGUiO2E6MTE6e2k6MDtzOjEzOiJjdXJyZW5jeV9uYW1lIjtpOjE7czoxNToiY3VycmVuY3lfc3ltYm9sIjtpOjI7czoxMzoiY3VycmVuY3lfY29kZSI7aTozO3M6MTM6ImV4Y2hhbmdlX3JhdGUiO2k6NDtzOjk6InVzZF9wcmljZSI7aTo1O3M6MTc6ImlzX2NyeXB0b2N1cnJlbmN5IjtpOjY7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO2k6NztzOjEzOiJub19vZl9kZWNpbWFsIjtpOjg7czoxODoidGhvdXNhbmRfc2VwYXJhdG9yIjtpOjk7czoxNzoiZGVjaW1hbF9zZXBhcmF0b3IiO2k6MTA7czo2OiJzdGF0dXMiO31zOjEwOiIAKgBndWFyZGVkIjthOjE6e2k6MDtzOjE6IioiO31zOjE2OiIAKgBmb3JjZURlbGV0aW5nIjtiOjA7fXM6NDoidXNlciI7TjtzOjk6Il9wcmV2aW91cyI7YToyOntzOjM6InVybCI7czoyMjoiaHR0cHM6Ly93d3cucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778302969'),
('acapEwgVapsG5EmCxTSvzFZ1Bixxl6FLSqnFz7xK', NULL, '3.140.188.14', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiWU1Bb0hudWI5d3ZmYmd0eWVVeXpOMDJzVng5WmE4cTdIRW13SnFRVSI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778329003'),
('aczEdiFlHZBUqn80xfjT7bg82wc669kVcUs1fFTN', NULL, '129.226.94.18', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo2OntzOjY6Il90b2tlbiI7czo0MDoiT05tQ3pKeGxaaWRGRGt2eGhJZzlwWThoWE55MjZEaENOYXM5YUk0SSI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtpOjA7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjM2OiJodHRwczovL3FvbnBvcy5jb20vZm9yZ290LXJlc3RhdXJhbnQiO3M6NToicm91dGUiO3M6MjM6ImZyb250LmZvcmdvdC1yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778307470'),
('AkLvIcpru5MWL52o7FrYWHuChp7F4ctTIuItgm33', NULL, '206.81.24.74', 'Mozilla/5.0 (l9scan/2.0.536313e2230323e27363e2237313; +https://leakix.net)', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiWWZ1MDdUTzNIbllZWDVwdXlPUWQzOVJ0ZTM3NnRGeUZhTkdGMzFlWiI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjU3OiJodHRwczovL21haWwucW9ucG9zLmNvbS8/cmVzdF9yb3V0ZT0lMkZ3cCUyRnYyJTJGdXNlcnMlMkYiO3M6NToicm91dGUiO3M6MTU6InNob3BfcmVzdGF1cmFudCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1778302955'),
('B3UzcmhcKwBPBWkZlTfUmyQEgwqPkEr6yo1zRvd4', NULL, '43.130.105.21', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiNjNpam5wYXdSejJKMFlaOUQxdmY4c3B6QXFKZUFycnZOMTlDZ25lVSI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778305634'),
('Cd2CGgHN6kEipgibL7AqsE8tN04n2SpB2NcYQThz', NULL, '206.81.24.74', 'Mozilla/5.0 (l9scan/2.0.536313e2230323e27363e2237313; +https://leakix.net)', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiOHBQVmt3bWQ2bUhrd3lCUnBnY0l6WUJad3RHZkFiNWJSM2xYT3MzYSI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIzOiJodHRwczovL21haWwucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778302892'),
('DUjBDxGvwSxOPZcAHgQFBZ9Ksezl5DPiHmVjTtld', NULL, '24.144.94.222', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiS0dLTW43RXhYMDlxemYwZlhYUzZWazRoZjJ3VmNEWGlmeW0wbGdtVCI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIzOiJodHRwczovL21haWwucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778308475'),
('edluDPQHDfARxweVLx8eE5iJqqZ8OccA11jkNiCh', NULL, '162.62.231.139', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoibTRNbU16WmFtbW4waHJLZE9rYklvNjE4QzRtSnA2bGhETWxZaXQwUSI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIwOiJodHRwczovL20ucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778310751'),
('elr5DkuRr0tjyZNfXrdGR6kqMiD33UnUuQUeoBjo', NULL, '129.226.146.134', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiODlONVc2dUNEZ0dtMU9yZFNPNzg1QjBqQWZYc1lBR253c2hLQjdFMiI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIwOiJodHRwczovL20ucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778306818'),
('eSiEr8vkRDGZlxWMqY9ljSX5bLHqbtvmJwpA8qYz', '1', '2a0c:5a86:3701:cb00:d58e:6e51:2b53:d67d', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 OPR/129.0.0.0', '[encoded data, 17916 characters]', '1778333497'),
('EzopROBVXe7HCVtW3FEWyiDrBvrWDQxD1w3CHxx9', NULL, '216.73.216.163', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoicVJqd29JOWZESVNpZ2NjQnoxTGNJeXJYSHM4ZFh6UjQ0Nmt5dHlsbyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Nzc6Imh0dHBzOi8vcW9ucG9zLmNvbS5lbnRlcnRhaW5pbmctcHVycGxlLXNoYXJrLjE2MS05Ny04My0xNzQuY3BhbmVsLnNpdGUvc2lnbmluIjtzOjU6InJvdXRlIjtzOjE1OiJmcm9udC53b3Jrc3BhY2UiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1778318780'),
('FPGdxYUBlvVwj26IxnBr61yiKOIXYaeSlAo6KRNQ', NULL, '129.226.94.52', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo2OntzOjY6Il90b2tlbiI7czo0MDoiZUs5Q3Z6OXZOQ2xXMzBzUVZjV05XMktEUjZGMmZFMklJQVl4RG81UiI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjM4OiJodHRwczovL20ucW9ucG9zLmNvbS9yZXN0YXVyYW50LXNpZ251cCI7czo1OiJyb3V0ZSI7czoxNzoicmVzdGF1cmFudF9zaWdudXAiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1778308066'),
('gBDMTIe66dpuSqmruO0rGTAN64HYraX924Yit090', NULL, '139.155.134.17', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiT25iTm5aSndBeGlIUG9VaHlaR1JDM1NMdFNQZTNRVkN3eW5XbTg5dyI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778310273'),
('GRrgPuXMrifcDCxExJLNiwSSscbEQN7opVIRf3yY', NULL, '124.156.200.4', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiMDJ6R2JOVDlreUppTDdTOXRaU2JJZ2pMdGdyUmhMdXN2Vjk3UUNjUiI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIwOiJodHRwczovL20ucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778311077'),
('iSk6YVw2X7rwUKdmtesLA8nZJ29HxzVmaHc1eWlV', NULL, '139.59.136.184', 'Mozilla/5.0 (l9scan/2.0.4343e22323e21323e2430313; +https://leakix.net)', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiajRLQUk1dkdOTWdSbmV0a0hjVnU1RjAzZ2ViWlU3TGZGejc3cmZ4ayI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778302977'),
('IUcb4dj45sB1eU4XBm9UzOPL13OhzFQPmpjpyNlQ', NULL, '139.59.136.184', 'Mozilla/5.0 (l9scan/2.0.4343e22323e21323e2430313; +https://leakix.net)', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoidDc3MGp5bXA5aEpKcEZEOXUxaEtHSHQ4bUg2c3o1QzFCZnl5aFNtWSI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778303033'),
('joGdV3d1lsjv4SAzWphdAxwOsiQwig0VRqo5WxtB', NULL, '43.134.5.186', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo2OntzOjY6Il90b2tlbiI7czo0MDoiYjRTajBLd1R6S0hQSnkwdVNKQTJPR1UwQlFSYmpaUjg1VVpIV0pMWCI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtpOjA7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjI1OiJodHRwczovL3FvbnBvcy5jb20vc2lnbmluIjtzOjU6InJvdXRlIjtzOjE1OiJmcm9udC53b3Jrc3BhY2UiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1778308665'),
('l1e9nZgQiYMAdlptyHGI0PyzXT5KQQHuC5FSTnmu', NULL, '43.165.198.224', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiQk90NzBLcHRaSFRKVURUYjFYTUlGVDVudDBXMnIwUjVUaEhubmc5YSI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778325279'),
('L37ZTO8xI47Ij3EOpMkqmbSzP4fxl45THnXlX4l0', NULL, '43.166.242.189', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoickh1ZFNUNlo2TzdHNGtLbVhHR1JTdTQ1eFg4QUNrdWMzSElvRk51MiI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjI2OiJodHRwczovL20ucW9ucG9zLmNvbS9sb2dpbiI7czo1OiJyb3V0ZSI7czo1OiJsb2dpbiI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1778311406'),
('MIK44VcLeeJrajhXhjPhlhX9g8quy9UT22P22F1D', NULL, '162.62.231.139', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiY0VCR3JKTGlud0c1eFpxNHA5ckt1Y0hpR00xQlpIelp4dHhSR3dhSCI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778324375'),
('MMC0pzTyi47hxz1FHJ91xIfhLsgw5ET1DiMYlmwH', NULL, '43.130.228.73', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoidlQwUzlsWUJJOWtxV0pwV3FvVjIxeExiMWFONW05NVRlc3p0WGxiciI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIwOiJodHRwczovL20ucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778309068'),
('MYM2HKkRf8RyGo1uaNPSfqjnxH7atmrHseH6k7yX', NULL, '43.163.5.216', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoibFBncFZKYnlaa0w0ZWNnMzVNVUpqVjRxSWhHMVJyOHg3T2lYU1RxbiI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIwOiJodHRwczovL20ucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778309866'),
('NItcHHKs8EBxENGggz0trCHJxVAMgKNHt3HcTI1B', NULL, '43.128.156.124', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoicm1KSzFKNlQ0a2lQMEQ2eHU1M08wV2YwUHEweEJjSURGNTZpOWJiaCI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIwOiJodHRwczovL20ucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778309593'),
('OAZmrYBpKAjTapnjM8kFgfnA7FhBt3eIsCPmh3cE', NULL, '43.153.35.128', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiN1lobkR0V3RURmNockVab3h4ZlVKdFZMbzNoczNjTU80bkxid3E3OSI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1cyI7czo2OiJlbmFibGUiO3M6MTA6ImNyZWF0ZWRfYXQiO3M6MTk6IjIwMjYtMDUtMDMgMTI6Mjk6NDMiO3M6MTA6InVwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDUtMDMgMTI6Mjk6NDMiO3M6MTA6ImRlbGV0ZWRfYXQiO047fXM6MTE6IgAqAG9yaWdpbmFsIjthOjE1OntzOjI6ImlkIjtpOjE7czoxMzoiY3VycmVuY3lfbmFtZSI7czo3OiJEb2xsYXJzIjtzOjE1OiJjdXJyZW5jeV9zeW1ib2wiO3M6MToiJCI7czoxMzoiY3VycmVuY3lfY29kZSI7czozOiJVU0QiO3M6MTM6ImV4Y2hhbmdlX3JhdGUiO047czo5OiJ1c2RfcHJpY2UiO047czoxNzoiaXNfY3J5cHRvY3VycmVuY3kiO3M6Mjoibm8iO3M6MTc6ImN1cnJlbmN5X3Bvc2l0aW9uIjtzOjQ6ImxlZnQiO3M6MTM6Im5vX29mX2RlY2ltYWwiO2k6MjtzOjE4OiJ0aG91c2FuZF9zZXBhcmF0b3IiO3M6MToiLCI7czoxNzoiZGVjaW1hbF9zZXBhcmF0b3IiO3M6MToiLiI7czo2OiJzdGF0dXMiO3M6NjoiZW5hYmxlIjtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA1LTAzIDEyOjI5OjQzIjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA1LTAzIDEyOjI5OjQzIjtzOjEwOiJkZWxldGVkX2F0IjtOO31zOjEwOiIAKgBjaGFuZ2VzIjthOjA6e31zOjExOiIAKgBwcmV2aW91cyI7YTowOnt9czo4OiIAKgBjYXN0cyI7YToyOntzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czo3OiJib29sZWFuIjtzOjEwOiJkZWxldGVkX2F0IjtzOjg6ImRhdGV0aW1lIjt9czoxNzoiACoAY2xhc3NDYXN0Q2FjaGUiO2E6MDp7fXM6MjE6IgAqAGF0dHJpYnV0ZUNhc3RDYWNoZSI7YTowOnt9czoxMzoiACoAZGF0ZUZvcm1hdCI7TjtzOjEwOiIAKgBhcHBlbmRzIjthOjA6e31zOjE5OiIAKgBkaXNwYXRjaGVzRXZlbnRzIjthOjA6e31zOjE0OiIAKgBvYnNlcnZhYmxlcyI7YTowOnt9czoxMjoiACoAcmVsYXRpb25zIjthOjA6e31zOjEwOiIAKgB0b3VjaGVzIjthOjA6e31zOjI3OiIAKgByZWxhdGlvbkF1dG9sb2FkQ2FsbGJhY2siO047czoyNjoiACoAcmVsYXRpb25BdXRvbG9hZENvbnRleHQiO047czoxMDoidGltZXN0YW1wcyI7YjoxO3M6MTM6InVzZXNVbmlxdWVJZHMiO2I6MDtzOjk6IgAqAGhpZGRlbiI7YTowOnt9czoxMDoiACoAdmlzaWJsZSI7YTowOnt9czoxMToiACoAZmlsbGFibGUiO2E6MTE6e2k6MDtzOjEzOiJjdXJyZW5jeV9uYW1lIjtpOjE7czoxNToiY3VycmVuY3lfc3ltYm9sIjtpOjI7czoxMzoiY3VycmVuY3lfY29kZSI7aTozO3M6MTM6ImV4Y2hhbmdlX3JhdGUiO2k6NDtzOjk6InVzZF9wcmljZSI7aTo1O3M6MTc6ImlzX2NyeXB0b2N1cnJlbmN5IjtpOjY7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO2k6NztzOjEzOiJub19vZl9kZWNpbWFsIjtpOjg7czoxODoidGhvdXNhbmRfc2VwYXJhdG9yIjtpOjk7czoxNzoiZGVjaW1hbF9zZXBhcmF0b3IiO2k6MTA7czo2OiJzdGF0dXMiO31zOjEwOiIAKgBndWFyZGVkIjthOjE6e2k6MDtzOjE6IioiO31zOjE2OiIAKgBmb3JjZURlbGV0aW5nIjtiOjA7fXM6NDoidXNlciI7TjtzOjk6Il9wcmV2aW91cyI7YToyOntzOjM6InVybCI7czoyMjoiaHR0cHM6Ly93d3cucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778304105'),
('ok8NUMRy788CpkOAZAjAeWEQActWEd89qWUOEEk9', NULL, '150.109.21.93', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo1OntzOjY6Il90b2tlbiI7czo0MDoiZWhvYmd5OHMwcmdUeXNhWTBZT1V6aU9ZWHdrOXlEYTl3NnRZR1BzaiI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzI6Imh0dHBzOi8vcW9ucG9zLmNvbS9tYW5pZmVzdC5qc29uIjtzOjU6InJvdXRlIjtzOjg6Im1hbmlmZXN0Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778309276'),
('OPaZ4kEASi88s69JeLuVXjha04Jkx0DNLq8WMzN6', NULL, '150.109.12.46', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiQ1pVZjl4ZUdmc3VJc21rOHNubVZQcWtRQW5sdVFLVlp5ZmpTRGZ1ZCI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778312274'),
('OQzMD67FfFmgavrz1wWR43A5LJ3O7wQg9U3FEE9S', NULL, '109.205.62.182', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiaHl0eW00VlFWWmdXNGdFRnpYMDgxWmJSWnFLZE5PUWwzUTBBNU12dSI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIyOiJodHRwczovL3Zwbi5xb25wb3MuY29tIjtzOjU6InJvdXRlIjtzOjE1OiJzaG9wX3Jlc3RhdXJhbnQiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1778325690'),
('PFMqFJCpDCASvzTJ1sC40DnQu9ComKNpetW4cWTG', NULL, '206.81.24.74', 'Mozilla/5.0 (l9scan/2.0.536313e2230323e27363e2237313; +https://leakix.net)', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiSnRvNENyVnpQSGJPRWlrU3lHZ2RwSkVrWm1laG5HRXN0clBDVnU2RyI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIzOiJodHRwczovL21haWwucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778302899'),
('sg5gC5pofPmd7se2vhgJfG9oZrGZEzzpHdNUy83C', NULL, '43.134.1.185', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoidFFMZTROaHlERERjRU1Hdzdxc0Fla2VHRFVCenpsbkRKRVBXTFJ3cyI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjI2OiJodHRwczovL20ucW9ucG9zLmNvbS9sb2dpbiI7czo1OiJyb3V0ZSI7czo1OiJsb2dpbiI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1778310476'),
('SvgSS5mjAosQGR7rx7FfTOe5aLnzBLf3fkGJux1i', NULL, '43.134.104.17', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo1OntzOjY6Il90b2tlbiI7czo0MDoiWFpDb1dzdFJnVTVXZUYzQmYyQlJUUHZaZ0FPck9TNjN0NVNLQWdhWCI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzQ6Imh0dHBzOi8vbS5xb25wb3MuY29tL21hbmlmZXN0Lmpzb24iO3M6NToicm91dGUiO3M6ODoibWFuaWZlc3QiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1778311664'),
('tjYwsB7sxwyLlvKN0TQAejGgcF0suoNsqAsGmc1F', NULL, '43.161.224.78', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoicHI1RGNnekhjTXFZZzV1T1p0V2JRSUtaOEZnVGxlcmxLQmEzUDduNSI7czo0OiJ1c2VyIjtOO3M6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIwOiJodHRwczovL20ucW9ucG9zLmNvbSI7czo1OiJyb3V0ZSI7czoxNToic2hvcF9yZXN0YXVyYW50Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1778326143'),
('UfbWLx4D0D0hFkoa359WG61g8yQgyDPAfQoEOh9Y', NULL, '34.19.44.124', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoidmVjRzRHcThIdGhJdjkyNmtqQkxuNjJCeTJaWlFxRkN0SERoMlNuYyI7czoyMDoiY2hlY2tfbWlncmF0ZV9zdGF0dXMiO3M6NDoiR29vZCI7czoxNToiY3VzdG9tZXJfaXNfcnRsIjtiOjA7czozMToiZ2xvYmFsX2N1cnJlbmN5X2Zvcm1hdF9zZXR0aW5nMSI7TzoyNToiQXBwXE1vZGVsc1xHbG9iYWxDdXJyZW5jeSI6MzQ6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6MTc6Imdsb2JhbF9jdXJyZW5jaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MTU6e3M6MjoiaWQiO2k6MTtzOjEzOiJjdXJyZW5jeV9uYW1lIjtzOjc6IkRvbGxhcnMiO3M6MTU6ImN1cnJlbmN5X3N5bWJvbCI7czoxOiIkIjtzOjEzOiJjdXJyZW5jeV9jb2RlIjtzOjM6IlVTRCI7czoxMzoiZXhjaGFuZ2VfcmF0ZSI7TjtzOjk6InVzZF9wcmljZSI7TjtzOjE3OiJpc19jcnlwdG9jdXJyZW5jeSI7czoyOiJubyI7czoxNzoiY3VycmVuY3lfcG9zaXRpb24iO3M6NDoibGVmdCI7czoxMzoibm9fb2ZfZGVjaW1hbCI7aToyO3M6MTg6InRob3VzYW5kX3NlcGFyYXRvciI7czoxOiIsIjtzOjE3OiJkZWNpbWFsX3NlcGFyYXRvciI7czoxOiIuIjtzOjY6InN0YXR1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', '1778306666'),
('uk87SXEL8aTQruN23BBxR0NWRwfy0CpkGKutAP2D', NULL, '129.226.94.18', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiOE10MzJaZkNvWEcyUXlLMkZ2b3lqS3I4QndHZWlyVHRNOVB1R2lTQiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mzg6Imh0dHBzOi8vbS5xb25wb3MuY29tL2ZvcmdvdC1yZXN0YXVyYW50IjtzOjU6InJvdXRlIjtzOjIzOiJmcm9udC5mb3Jnb3QtcmVzdGF1cmFudCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1778307466');


-- Table structure for table `sms_global_settings`
CREATE TABLE `sms_global_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `license_type` varchar(20) DEFAULT NULL,
  `purchase_code` varchar(191) DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `vonage_api_key` varchar(191) DEFAULT NULL,
  `vonage_api_secret` varchar(191) DEFAULT NULL,
  `vonage_from_number` varchar(191) DEFAULT NULL,
  `msg91_auth_key` varchar(191) DEFAULT NULL,
  `msg91_from` varchar(191) DEFAULT NULL,
  `vonage_status` tinyint(1) NOT NULL DEFAULT 0,
  `msg91_status` tinyint(1) NOT NULL DEFAULT 0,
  `android_sms_gateway_status` tinyint(1) NOT NULL DEFAULT 0,
  `android_sms_gateway_base_url` varchar(512) DEFAULT NULL,
  `android_sms_gateway_username` varchar(191) DEFAULT NULL,
  `android_sms_gateway_password` varchar(191) DEFAULT NULL,
  `android_sms_gateway_owner` varchar(32) NOT NULL DEFAULT 'superadmin',
  `phone_verification_status` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `sms_global_settings`
INSERT INTO `sms_global_settings` VALUES
('1', NULL, '4143bc78-adc8-433b-a593-ed9f0e35ca5e', NULL, '2026-11-02 02:33:52', '1', NULL, NULL, NULL, NULL, NULL, '0', '0', '0', NULL, NULL, NULL, 'superadmin', '0', '2026-05-03 12:44:35', '2026-05-03 12:44:37');


-- Table structure for table `sms_notification_settings`
CREATE TABLE `sms_notification_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `type` varchar(191) NOT NULL,
  `send_sms` enum('yes','no') NOT NULL DEFAULT 'no',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `sms_notification_settings_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `sms_notification_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `sms_notification_settings`
INSERT INTO `sms_notification_settings` VALUES
('4', '2', 'reservation_confirmed', 'no', NULL, NULL),
('5', '2', 'order_bill_sent', 'no', NULL, NULL),
('6', '2', 'send_otp', 'no', NULL, NULL),
('7', '3', 'reservation_confirmed', 'no', NULL, NULL),
('8', '3', 'order_bill_sent', 'no', NULL, NULL),
('9', '3', 'send_otp', 'no', NULL, NULL);


-- Table structure for table `sms_templates`
CREATE TABLE `sms_templates` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `type` varchar(191) NOT NULL,
  `flow_id` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `sms_templates_type_unique` (`type`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `sms_templates`
INSERT INTO `sms_templates` VALUES
('1', 'reservation_confirmed', NULL, '2026-05-03 12:44:36', '2026-05-03 12:44:36'),
('2', 'order_bill_sent', NULL, '2026-05-03 12:44:36', '2026-05-03 12:44:36'),
('3', 'send_otp', NULL, '2026-05-03 12:44:36', '2026-05-03 12:44:36'),
('4', 'send_verify_otp', NULL, '2026-05-03 12:44:36', '2026-05-03 12:44:36');


-- Table structure for table `sms_usage_logs`
CREATE TABLE `sms_usage_logs` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `date` datetime NOT NULL,
  `gateway` enum('vonage','msg91') NOT NULL,
  `type` enum('reservation_confirmed','order_bill_sent','send_otp') NOT NULL,
  `count` int(11) NOT NULL DEFAULT 1,
  `package_id` bigint(20) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `sms_usage_unique` (`restaurant_id`,`branch_id`,`type`,`gateway`,`date`),
  KEY `sms_usage_logs_branch_id_foreign` (`branch_id`),
  KEY `sms_usage_logs_restaurant_id_date_index` (`restaurant_id`,`date`),
  KEY `sms_usage_logs_gateway_type_index` (`gateway`,`type`),
  KEY `sms_usage_logs_date_gateway_index` (`date`,`gateway`),
  KEY `sms_usage_logs_package_id_date_index` (`package_id`,`date`),
  CONSTRAINT `sms_usage_logs_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `sms_usage_logs_package_id_foreign` FOREIGN KEY (`package_id`) REFERENCES `packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `sms_usage_logs_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `split_order_items`
CREATE TABLE `split_order_items` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `split_order_id` bigint(20) unsigned NOT NULL,
  `order_item_id` bigint(20) unsigned NOT NULL,
  `quantity` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `split_order_items_split_order_id_foreign` (`split_order_id`),
  KEY `split_order_items_order_item_id_foreign` (`order_item_id`),
  CONSTRAINT `split_order_items_order_item_id_foreign` FOREIGN KEY (`order_item_id`) REFERENCES `order_items` (`id`) ON DELETE CASCADE,
  CONSTRAINT `split_order_items_split_order_id_foreign` FOREIGN KEY (`split_order_id`) REFERENCES `split_orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `split_orders`
CREATE TABLE `split_orders` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(16,2) NOT NULL,
  `status` enum('pending','paid') NOT NULL DEFAULT 'pending',
  `payment_method` enum('cash','upi','card','bank_transfer','due','stripe','razorpay') NOT NULL DEFAULT 'cash',
  `payer_name` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `split_orders_order_id_foreign` (`order_id`),
  CONSTRAINT `split_orders_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `storage_guard_global_settings`
CREATE TABLE `storage_guard_global_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `license_type` varchar(20) DEFAULT NULL,
  `purchase_code` varchar(191) DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `storage_guard_global_settings`
INSERT INTO `storage_guard_global_settings` VALUES
('1', NULL, '4143bc78-adc8-433b-a593-ed9f0e35ca5e', NULL, '2026-11-02 02:33:52', '1', '2026-05-03 12:42:37', '2026-05-03 12:42:38');


-- Table structure for table `stripe_payments`
CREATE TABLE `stripe_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` bigint(20) unsigned NOT NULL,
  `payment_date` datetime DEFAULT NULL,
  `amount` decimal(16,2) DEFAULT NULL,
  `payment_status` enum('pending','requested','declined','completed') NOT NULL DEFAULT 'pending',
  `payment_error_response` text DEFAULT NULL,
  `stripe_payment_intent` varchar(191) DEFAULT NULL,
  `stripe_session_id` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `stripe_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `stripe_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `sub_domain_module_settings`
CREATE TABLE `sub_domain_module_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `license_type` varchar(20) DEFAULT NULL,
  `purchase_code` varchar(191) DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `banned_subdomain` longtext DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `sub_domain_module_settings`
INSERT INTO `sub_domain_module_settings` VALUES
('1', NULL, '4143bc78-adc8-433b-a593-ed9f0e35ca5e', NULL, '2026-11-02 02:33:52', NULL, '1', '2026-05-03 12:40:40', '2026-05-03 12:40:41');


-- Table structure for table `superadmin_payment_gateways`
CREATE TABLE `superadmin_payment_gateways` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `razorpay_type` enum('test','live') NOT NULL DEFAULT 'test',
  `test_razorpay_key` text DEFAULT NULL,
  `test_razorpay_secret` text DEFAULT NULL,
  `razorpay_test_webhook_key` text DEFAULT NULL,
  `live_razorpay_key` text DEFAULT NULL,
  `live_razorpay_secret` text DEFAULT NULL,
  `razorpay_live_webhook_key` text DEFAULT NULL,
  `razorpay_status` tinyint(1) NOT NULL DEFAULT 0,
  `stripe_type` enum('test','live') NOT NULL DEFAULT 'test',
  `test_stripe_key` text DEFAULT NULL,
  `test_stripe_secret` text DEFAULT NULL,
  `stripe_test_webhook_key` text DEFAULT NULL,
  `live_stripe_key` text DEFAULT NULL,
  `live_stripe_secret` text DEFAULT NULL,
  `stripe_live_webhook_key` text DEFAULT NULL,
  `stripe_status` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `flutterwave_status` tinyint(1) NOT NULL DEFAULT 0,
  `flutterwave_type` enum('test','live') NOT NULL DEFAULT 'test',
  `test_flutterwave_key` text DEFAULT NULL,
  `test_flutterwave_secret` text DEFAULT NULL,
  `test_flutterwave_hash` text DEFAULT NULL,
  `flutterwave_test_webhook_key` text DEFAULT NULL,
  `live_flutterwave_key` text DEFAULT NULL,
  `live_flutterwave_secret` text DEFAULT NULL,
  `live_flutterwave_hash` text DEFAULT NULL,
  `flutterwave_live_webhook_key` text DEFAULT NULL,
  `live_paypal_client_id` varchar(191) DEFAULT NULL,
  `live_paypal_secret` varchar(191) DEFAULT NULL,
  `test_paypal_client_id` varchar(191) DEFAULT NULL,
  `test_paypal_secret` varchar(191) DEFAULT NULL,
  `paypal_status` tinyint(1) NOT NULL DEFAULT 0,
  `paypal_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `live_payfast_merchant_id` varchar(191) DEFAULT NULL,
  `live_payfast_merchant_key` varchar(191) DEFAULT NULL,
  `live_payfast_passphrase` varchar(191) DEFAULT NULL,
  `test_payfast_merchant_id` varchar(191) DEFAULT NULL,
  `test_payfast_merchant_key` varchar(191) DEFAULT NULL,
  `test_payfast_passphrase` varchar(191) DEFAULT NULL,
  `payfast_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `payfast_status` tinyint(1) NOT NULL DEFAULT 0,
  `live_paystack_key` varchar(191) DEFAULT NULL,
  `live_paystack_secret` varchar(191) DEFAULT NULL,
  `live_paystack_merchant_email` varchar(191) DEFAULT NULL,
  `test_paystack_key` varchar(191) DEFAULT NULL,
  `test_paystack_secret` varchar(191) DEFAULT NULL,
  `test_paystack_merchant_email` varchar(191) DEFAULT NULL,
  `paystack_payment_url` varchar(191) DEFAULT 'https://api.paystack.co',
  `paystack_status` tinyint(1) NOT NULL DEFAULT 0,
  `paystack_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `xendit_status` tinyint(1) NOT NULL DEFAULT 0,
  `xendit_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `test_xendit_public_key` varchar(191) DEFAULT NULL,
  `test_xendit_secret_key` varchar(191) DEFAULT NULL,
  `live_xendit_public_key` varchar(191) DEFAULT NULL,
  `live_xendit_secret_key` varchar(191) DEFAULT NULL,
  `test_xendit_webhook_token` varchar(191) DEFAULT NULL,
  `live_xendit_webhook_token` varchar(191) DEFAULT NULL,
  `paddle_status` tinyint(1) NOT NULL DEFAULT 0,
  `paddle_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  `test_paddle_vendor_id` varchar(191) DEFAULT NULL,
  `test_paddle_api_key` text DEFAULT NULL,
  `test_paddle_public_key` varchar(191) DEFAULT NULL,
  `test_paddle_client_token` text DEFAULT NULL,
  `live_paddle_vendor_id` varchar(191) DEFAULT NULL,
  `live_paddle_api_key` text DEFAULT NULL,
  `live_paddle_public_key` varchar(191) DEFAULT NULL,
  `live_paddle_client_token` text DEFAULT NULL,
  `paddle_webhook_secret` text DEFAULT NULL,
  `mollie_status` tinyint(1) NOT NULL DEFAULT 0,
  `mollie_mode` enum('test','live') NOT NULL DEFAULT 'test',
  `test_mollie_key` text DEFAULT NULL,
  `live_mollie_key` text DEFAULT NULL,
  `tap_merchant_id` varchar(191) DEFAULT NULL,
  `live_tap_secret_key` varchar(191) DEFAULT NULL,
  `live_tap_public_key` varchar(191) DEFAULT NULL,
  `test_tap_secret_key` varchar(191) DEFAULT NULL,
  `test_tap_public_key` varchar(191) DEFAULT NULL,
  `tap_status` tinyint(1) NOT NULL DEFAULT 0,
  `tap_mode` enum('sandbox','live') NOT NULL DEFAULT 'sandbox',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `superadmin_payment_gateways`
INSERT INTO `superadmin_payment_gateways` VALUES
('1', 'test', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, '0', '2026-05-03 12:29:43', '2026-05-03 12:29:43', '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, 'sandbox', '0', NULL, NULL, NULL, NULL, NULL, NULL, 'https://api.paystack.co', '0', 'sandbox', '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox'),
('2', 'test', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, '0', '2026-05-03 12:30:04', '2026-05-03 12:30:04', '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, 'sandbox', '0', NULL, NULL, NULL, NULL, NULL, NULL, 'https://api.paystack.co', '0', 'sandbox', '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'test', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'sandbox');


-- Table structure for table `suppliers`
CREATE TABLE `suppliers` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `name` varchar(191) NOT NULL,
  `phone` varchar(191) DEFAULT NULL,
  `email` varchar(191) DEFAULT NULL,
  `address` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `suppliers_restaurant_id_foreign` (`restaurant_id`),
  CONSTRAINT `suppliers_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `system_webhook_deliveries`
CREATE TABLE `system_webhook_deliveries` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `system_webhook_id` bigint(20) unsigned NOT NULL,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `event` varchar(191) NOT NULL,
  `status` varchar(191) NOT NULL DEFAULT 'pending',
  `attempts` smallint(5) unsigned NOT NULL DEFAULT 0,
  `response_code` smallint(5) unsigned DEFAULT NULL,
  `duration_ms` int(11) DEFAULT NULL,
  `response_body` text DEFAULT NULL,
  `error_message` text DEFAULT NULL,
  `next_retry_at` timestamp NULL DEFAULT NULL,
  `idempotency_key` varchar(191) DEFAULT NULL,
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payload`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `system_webhook_deliveries_system_webhook_id_index` (`system_webhook_id`),
  KEY `system_webhook_deliveries_restaurant_id_index` (`restaurant_id`),
  KEY `system_webhook_deliveries_idempotency_key_index` (`idempotency_key`),
  CONSTRAINT `system_webhook_deliveries_system_webhook_id_foreign` FOREIGN KEY (`system_webhook_id`) REFERENCES `system_webhooks` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `system_webhooks`
CREATE TABLE `system_webhooks` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(191) NOT NULL,
  `description` text DEFAULT NULL,
  `target_url` varchar(191) NOT NULL,
  `secret` varchar(191) NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `max_attempts` smallint(5) unsigned NOT NULL DEFAULT 3,
  `backoff_seconds` smallint(5) unsigned NOT NULL DEFAULT 60,
  `subscribed_events` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`subscribed_events`)),
  `custom_headers` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`custom_headers`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `table_sessions`
CREATE TABLE `table_sessions` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `table_id` bigint(20) unsigned NOT NULL,
  `locked_by_user_id` bigint(20) unsigned DEFAULT NULL,
  `locked_at` datetime DEFAULT NULL,
  `last_activity_at` datetime DEFAULT NULL,
  `session_token` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `table_sessions_session_token_unique` (`session_token`),
  KEY `table_sessions_branch_id_foreign` (`branch_id`),
  KEY `table_sessions_locked_by_user_id_foreign` (`locked_by_user_id`),
  KEY `table_sessions_table_id_locked_by_user_id_index` (`table_id`,`locked_by_user_id`),
  KEY `table_sessions_last_activity_at_index` (`last_activity_at`),
  CONSTRAINT `table_sessions_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `table_sessions_locked_by_user_id_foreign` FOREIGN KEY (`locked_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  CONSTRAINT `table_sessions_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `tables`
CREATE TABLE `tables` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `table_code` varchar(191) NOT NULL,
  `hash` varchar(191) NOT NULL,
  `status` enum('active','inactive') NOT NULL DEFAULT 'active',
  `available_status` enum('available','reserved','running') NOT NULL DEFAULT 'available',
  `area_id` bigint(20) unsigned NOT NULL,
  `seating_capacity` tinyint(3) unsigned NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tables_area_id_foreign` (`area_id`),
  KEY `idx_tables_branch_code` (`branch_id`,`table_code`),
  KEY `idx_tables_branch_status` (`branch_id`,`available_status`),
  CONSTRAINT `tables_area_id_foreign` FOREIGN KEY (`area_id`) REFERENCES `areas` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `tables_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `tables`
INSERT INTO `tables` VALUES
('1', '3', 'T1', 'f42d9d905c5490e40800b77f6875e727', 'active', 'available', '2', '2', '2026-05-05 08:29:28', '2026-05-05 08:29:28');


-- Table structure for table `tap_payments`
CREATE TABLE `tap_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `tap_payment_id` varchar(191) DEFAULT NULL,
  `order_id` bigint(20) unsigned NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `payment_status` enum('pending','completed','failed') NOT NULL DEFAULT 'pending',
  `payment_date` timestamp NULL DEFAULT NULL,
  `payment_error_response` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payment_error_response`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `tap_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `tap_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `taxes`
CREATE TABLE `taxes` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `tax_name` varchar(191) NOT NULL,
  `tax_percent` varchar(191) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `taxes_restaurant_id_foreign` (`restaurant_id`),
  KEY `taxes_branch_id_foreign` (`branch_id`),
  CONSTRAINT `taxes_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `taxes_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `units`
CREATE TABLE `units` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `name` varchar(191) NOT NULL,
  `symbol` varchar(191) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `units_branch_id_foreign` (`branch_id`),
  CONSTRAINT `units_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `units`
INSERT INTO `units` VALUES
('21', '3', 'Kilogram', 'kg', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('22', '3', 'Gram', 'g', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('23', '3', 'Liter', 'L', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('24', '3', 'Milliliter', 'ml', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('25', '3', 'Piece', 'pc', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('26', '3', 'Box', 'box', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('27', '3', 'Dozen', 'dz', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('28', '3', 'Bottle', 'btl', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('29', '3', 'Package', 'pkg', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('30', '3', 'Can', 'can', '2026-05-03 13:04:22', '2026-05-03 13:04:22'),
('31', '4', 'Kilogram', 'kg', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('32', '4', 'Gram', 'g', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('33', '4', 'Liter', 'L', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('34', '4', 'Milliliter', 'ml', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('35', '4', 'Piece', 'pc', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('36', '4', 'Box', 'box', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('37', '4', 'Dozen', 'dz', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('38', '4', 'Bottle', 'btl', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('39', '4', 'Package', 'pkg', '2026-05-04 19:17:10', '2026-05-04 19:17:10'),
('40', '4', 'Can', 'can', '2026-05-04 19:17:10', '2026-05-04 19:17:10');


-- Table structure for table `universal_bundle_settings`
CREATE TABLE `universal_bundle_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_code` varchar(191) DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `license_type` varchar(20) DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `universal_bundle_settings`
INSERT INTO `universal_bundle_settings` VALUES
('1', '4143bc78-adc8-433b-a593-ed9f0e35ca5e', '2026-11-02 02:33:52', '2026-05-03 11:33:52', 'Regular License', '1', '2026-05-03 12:39:04', '2026-05-03 12:39:21');


-- Table structure for table `universal_module_installs`
CREATE TABLE `universal_module_installs` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `module_name` varchar(191) NOT NULL,
  `version` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `universal_module_installs`
INSERT INTO `universal_module_installs` VALUES
('1', 'Backup', '1.0.2\n', '2026-05-03 12:39:41', '2026-05-03 12:39:41'),
('2', 'Aitools', '1.0.1\n', '2026-05-03 12:40:19', '2026-05-03 12:40:19'),
('3', 'FontControl', '1.0.11\n', '2026-05-03 12:40:29', '2026-05-03 12:40:29'),
('4', 'Subdomain', '1.0.21\n', '2026-05-03 12:40:41', '2026-05-03 12:40:41'),
('5', 'Inventory', '1.0.75\n', '2026-05-03 12:42:04', '2026-05-03 12:42:04'),
('6', 'LanguagePack', '1.1.0\n', '2026-05-03 12:42:19', '2026-05-03 12:42:19'),
('7', 'MultiPOS', '1.0.03\n', '2026-05-03 12:42:28', '2026-05-03 12:42:28'),
('8', 'StorageGuard', '1.0.0\n', '2026-05-03 12:42:38', '2026-05-03 12:42:38'),
('9', 'CashRegister', '1.0.19\n', '2026-05-03 12:42:47', '2026-05-03 12:42:47'),
('10', 'Kiosk', '1.0.43\n', '2026-05-03 12:43:13', '2026-05-03 12:43:13'),
('11', 'Loyalty', '1.0.15\n', '2026-05-03 12:43:53', '2026-05-03 12:43:53'),
('12', 'Webhooks', '1.0.12\n', '2026-05-03 12:44:02', '2026-05-03 12:44:02'),
('13', 'Whatsapp', '1.0.17\n', '2026-05-03 12:44:16', '2026-05-03 12:44:16'),
('14', 'Hotel', '1.0.11\n', '2026-05-03 12:44:28', '2026-05-03 12:44:28'),
('15', 'Sms', '1.0.0\n', '2026-05-03 12:44:37', '2026-05-03 12:44:37'),
('16', 'RestApi', '2.0.01\n', '2026-05-03 12:44:46', '2026-05-03 12:44:46');


-- Table structure for table `users`
CREATE TABLE `users` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `email` varchar(191) NOT NULL,
  `phone_number` varchar(191) DEFAULT NULL,
  `phone_code` varchar(191) DEFAULT NULL,
  `terms_and_privacy_accepted` tinyint(1) NOT NULL DEFAULT 0,
  `marketing_emails_accepted` tinyint(1) NOT NULL DEFAULT 0,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(191) NOT NULL,
  `two_factor_secret` text DEFAULT NULL,
  `two_factor_recovery_codes` text DEFAULT NULL,
  `two_factor_confirmed_at` timestamp NULL DEFAULT NULL,
  `remember_token` varchar(100) DEFAULT NULL,
  `current_team_id` bigint(20) unsigned DEFAULT NULL,
  `profile_photo_path` varchar(2048) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `locale` varchar(191) NOT NULL DEFAULT 'en',
  `stripe_id` varchar(191) DEFAULT NULL,
  `pm_type` varchar(191) DEFAULT NULL,
  `pm_last_four` varchar(4) DEFAULT NULL,
  `trial_ends_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`),
  KEY `users_restaurant_id_foreign` (`restaurant_id`),
  KEY `users_stripe_id_index` (`stripe_id`),
  KEY `idx_branch_email` (`branch_id`,`email`),
  CONSTRAINT `users_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `users_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `users`
INSERT INTO `users` VALUES
('1', NULL, NULL, 'QonPos', 'william@tecwi.co', '604938833', '34', '0', '0', NULL, '$2y$12$6XW4KSsi1NoKmICcL0DS0eAL/Opc5jtJ9EQa1/g4QGNwhP5XGxrNa', NULL, NULL, NULL, 'rf1TrggHt1OPfdIlkePDIWjSdauMtaQ1gFe6SjZ9njwRbAsLuXD1XWONqKAR', NULL, NULL, '2026-05-03 12:30:01', '2026-05-04 09:47:21', 'es', NULL, NULL, NULL, NULL),
('4', '2', '3', 'William', 'wct.rodriguez.co@gmail.com', '604938833', '34', '0', '0', NULL, '$2y$12$SI0y6UCvaKyOutbiv.KbbuhJk/lF4Ec/q90MzjA9Ii8AeSe0p4fXq', NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-03 13:04:23', '2026-05-03 13:04:23', 'es', NULL, NULL, NULL, NULL),
('5', '3', '4', 'Johanna paola perez acevedo', 'Johannapaolaperez4@gmail.com', '613274604', '34', '0', '0', NULL, '$2y$12$Sl45F3nugZZkSXyrbV.Qm.4XRFOm0d.O4SNItXOrK6Dw6FGvyWgLm', NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-04 19:17:11', '2026-05-04 19:17:11', 'es', NULL, NULL, NULL, NULL);


-- Table structure for table `waiter_requests`
CREATE TABLE `waiter_requests` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `branch_id` bigint(20) unsigned NOT NULL,
  `table_id` bigint(20) unsigned NOT NULL,
  `status` enum('pending','completed') NOT NULL DEFAULT 'pending',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `waiter_requests_branch_id_foreign` (`branch_id`),
  KEY `waiter_requests_table_id_foreign` (`table_id`),
  CONSTRAINT `waiter_requests_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  CONSTRAINT `waiter_requests_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `waiter_requests`
INSERT INTO `waiter_requests` VALUES
('1', '3', '1', 'completed', '2026-05-05 08:34:55', '2026-05-05 08:35:15');


-- Table structure for table `webhook_deliveries`
CREATE TABLE `webhook_deliveries` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `webhook_id` bigint(20) unsigned NOT NULL,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `event` varchar(191) NOT NULL,
  `status` varchar(191) NOT NULL DEFAULT 'pending',
  `attempts` smallint(5) unsigned NOT NULL DEFAULT 0,
  `response_code` smallint(5) unsigned DEFAULT NULL,
  `duration_ms` int(11) DEFAULT NULL,
  `response_body` text DEFAULT NULL,
  `error_message` text DEFAULT NULL,
  `next_retry_at` timestamp NULL DEFAULT NULL,
  `idempotency_key` varchar(191) DEFAULT NULL,
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payload`)),
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `webhook_deliveries_webhook_id_index` (`webhook_id`),
  KEY `webhook_deliveries_restaurant_id_index` (`restaurant_id`),
  KEY `webhook_deliveries_branch_id_index` (`branch_id`),
  KEY `webhook_deliveries_idempotency_key_index` (`idempotency_key`),
  CONSTRAINT `webhook_deliveries_webhook_id_foreign` FOREIGN KEY (`webhook_id`) REFERENCES `webhooks` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `webhook_event_catalog`
CREATE TABLE `webhook_event_catalog` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `event_key` varchar(191) NOT NULL,
  `module` varchar(191) NOT NULL,
  `description` varchar(191) DEFAULT NULL,
  `schema_version` smallint(5) unsigned NOT NULL DEFAULT 1,
  `redact_defaults` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`redact_defaults`)),
  `is_notification` tinyint(1) NOT NULL DEFAULT 0,
  `enabled_global` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `webhook_event_catalog_event_key_module_unique` (`event_key`,`module`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `webhook_event_catalog`
INSERT INTO `webhook_event_catalog` VALUES
('1', 'order.created', 'Order', 'Order created', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('2', 'order.updated', 'Order', 'Order updated', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('3', 'order.paid', 'Order', 'Order paid', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('4', 'order.bill_sent', 'Order', 'Bill sent', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('5', 'reservation.received', 'Reservation', 'Reservation received', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('6', 'reservation.confirmed', 'Reservation', 'Reservation confirmed', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('7', 'restaurant.created', 'Onboarding', 'Restaurant created', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('8', 'kot.updated', 'Kitchen', 'KOT updated', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('9', 'printjob.created', 'Kitchen', 'Print job created', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('10', 'inventory.stock_updated', 'Inventory', 'Inventory stock updated', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('11', 'payment.success', 'Payment', 'Payment success', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('12', 'payment.failed', 'Payment', 'Payment failed', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('13', 'webhooks.test', 'Webhooks', 'Test webhook', '1', '[]', '0', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('14', 'notification.created', 'Notification', 'Notification created', '1', '[]', '1', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('15', 'notification.read', 'Notification', 'Notification read', '1', '[]', '1', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00'),
('16', 'message.received', 'Notification', 'Message received', '1', '[]', '1', '1', '2026-05-03 12:44:00', '2026-05-03 12:44:00');


-- Table structure for table `webhook_global_policies`
CREATE TABLE `webhook_global_policies` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `event_key` varchar(191) NOT NULL,
  `module` varchar(191) NOT NULL,
  `allowed` tinyint(1) NOT NULL DEFAULT 1,
  `allowed_packages` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`allowed_packages`)),
  `created_by` bigint(20) unsigned DEFAULT NULL,
  `updated_by` bigint(20) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `webhook_global_policies_event_key_module_unique` (`event_key`,`module`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `webhook_package_defaults`
CREATE TABLE `webhook_package_defaults` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `package_id` bigint(20) unsigned NOT NULL,
  `allowed_events` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`allowed_events`)),
  `auto_provision` tinyint(1) NOT NULL DEFAULT 1,
  `default_target_url` varchar(191) DEFAULT NULL,
  `default_secret` varchar(191) DEFAULT NULL,
  `rotate_interval_days` smallint(5) unsigned DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `webhook_package_defaults_package_id_unique` (`package_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `webhook_signing_keys`
CREATE TABLE `webhook_signing_keys` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `public_id` varchar(191) NOT NULL,
  `secret` varchar(191) NOT NULL,
  `rotated_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `webhook_signing_keys_public_id_unique` (`public_id`),
  KEY `webhook_signing_keys_restaurant_id_index` (`restaurant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `webhooks`
CREATE TABLE `webhooks` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL,
  `branch_id` bigint(20) unsigned DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `target_url` varchar(191) NOT NULL,
  `secret` varchar(191) NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `max_attempts` smallint(5) unsigned NOT NULL DEFAULT 3,
  `backoff_seconds` smallint(5) unsigned NOT NULL DEFAULT 60,
  `subscribed_events` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`subscribed_events`)),
  `source_modules` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`source_modules`)),
  `custom_headers` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`custom_headers`)),
  `provisioned_by` varchar(191) DEFAULT NULL,
  `last_rotated_at` timestamp NULL DEFAULT NULL,
  `signature_version` tinyint(3) unsigned NOT NULL DEFAULT 1,
  `redact_payload` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `webhooks_restaurant_id_index` (`restaurant_id`),
  KEY `webhooks_branch_id_index` (`branch_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `webhooks_global_settings`
CREATE TABLE `webhooks_global_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_code` varchar(191) DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `license_type` varchar(20) DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `webhooks_global_settings`
INSERT INTO `webhooks_global_settings` VALUES
('1', '4143bc78-adc8-433b-a593-ed9f0e35ca5e', '2026-11-02 02:33:52', NULL, NULL, '1', '2026-05-03 12:44:00', '2026-05-03 12:44:02');


-- Table structure for table `whatsapp_automated_schedules`
CREATE TABLE `whatsapp_automated_schedules` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `notification_type` varchar(191) NOT NULL COMMENT 'e.g., low_stock_alert, birthday_wish, etc.',
  `schedule_type` varchar(191) NOT NULL COMMENT 'cron, daily, weekly, monthly',
  `cron_expression` varchar(191) DEFAULT NULL COMMENT 'For cron type: e.g., 0 9 * * *',
  `scheduled_time` time DEFAULT NULL COMMENT 'For daily/weekly/monthly: e.g., 09:00',
  `scheduled_day` varchar(191) DEFAULT NULL COMMENT 'For weekly: monday, tuesday, etc. For monthly: 1-31',
  `roles` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Array of role IDs to send notifications to' CHECK (json_valid(`roles`)),
  `is_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `last_sent_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `wa_auto_sched_rest_notif_idx` (`restaurant_id`,`notification_type`),
  CONSTRAINT `whatsapp_automated_schedules_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `whatsapp_global_settings`
CREATE TABLE `whatsapp_global_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `purchase_code` varchar(191) DEFAULT NULL,
  `supported_until` timestamp NULL DEFAULT NULL,
  `purchased_on` timestamp NULL DEFAULT NULL,
  `license_type` varchar(20) DEFAULT NULL,
  `notify_update` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `whatsapp_global_settings`
INSERT INTO `whatsapp_global_settings` VALUES
('1', '4143bc78-adc8-433b-a593-ed9f0e35ca5e', '2026-11-02 02:33:52', NULL, NULL, '1', '2026-05-03 12:44:15', '2026-05-03 12:44:16');


-- Table structure for table `whatsapp_notification_logs`
CREATE TABLE `whatsapp_notification_logs` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `notification_type` varchar(100) NOT NULL,
  `recipient_phone` varchar(20) NOT NULL,
  `template_name` varchar(100) NOT NULL,
  `variables` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Variables sent with template' CHECK (json_valid(`variables`)),
  `status` enum('sent','failed','pending') NOT NULL DEFAULT 'pending',
  `whatsapp_message_id` varchar(191) DEFAULT NULL COMMENT 'Message ID from WhatsApp API',
  `error_message` text DEFAULT NULL,
  `sent_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `whatsapp_notification_logs_restaurant_id_index` (`restaurant_id`),
  KEY `whatsapp_notification_logs_notification_type_index` (`notification_type`),
  KEY `whatsapp_notification_logs_status_index` (`status`),
  KEY `whatsapp_notification_logs_sent_at_index` (`sent_at`),
  CONSTRAINT `whatsapp_notification_logs_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `whatsapp_notification_preferences`
CREATE TABLE `whatsapp_notification_preferences` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `notification_type` varchar(191) NOT NULL COMMENT 'e.g., order_confirmation, order_status_update, etc.',
  `recipient_type` varchar(191) NOT NULL COMMENT 'customer, admin, staff, delivery',
  `is_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_restaurant_notification` (`restaurant_id`,`notification_type`,`recipient_type`),
  CONSTRAINT `whatsapp_notification_preferences_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `whatsapp_report_schedules`
CREATE TABLE `whatsapp_report_schedules` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `report_type` varchar(191) NOT NULL COMMENT 'e.g., daily_sales, weekly_sales, monthly_sales, etc.',
  `frequency` varchar(191) NOT NULL COMMENT 'daily, weekly, monthly',
  `scheduled_time` time NOT NULL COMMENT 'Time to send report, e.g., 09:00',
  `scheduled_day` varchar(191) DEFAULT NULL COMMENT 'For weekly: monday, tuesday, etc. For monthly: 1-31',
  `roles` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Array of role IDs to send reports to' CHECK (json_valid(`roles`)),
  `is_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `last_sent_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `wa_report_sched_rest_report_idx` (`restaurant_id`,`report_type`),
  CONSTRAINT `whatsapp_report_schedules_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `whatsapp_settings`
CREATE TABLE `whatsapp_settings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Null for superadmin global settings',
  `waba_id` varchar(191) DEFAULT NULL COMMENT 'WhatsApp Business Account ID',
  `access_token` text DEFAULT NULL COMMENT 'Encrypted API access token',
  `phone_number_id` varchar(191) DEFAULT NULL COMMENT 'Phone number ID from WhatsApp',
  `verify_token` varchar(191) DEFAULT NULL COMMENT 'WhatsApp webhook verify token',
  `webhook_url` varchar(191) DEFAULT NULL COMMENT 'WhatsApp webhook callback URL',
  `webhook_verified_at` timestamp NULL DEFAULT NULL COMMENT 'When webhook was last verified',
  `is_enabled` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `whatsapp_settings_restaurant_id_unique` (`restaurant_id`),
  CONSTRAINT `whatsapp_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `whatsapp_template_definitions`
CREATE TABLE `whatsapp_template_definitions` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `notification_type` varchar(100) NOT NULL COMMENT 'e.g., order_confirmation',
  `template_name` varchar(100) NOT NULL COMMENT 'Standard template name',
  `category` varchar(50) NOT NULL COMMENT 'customer/admin/staff/delivery/automated',
  `description` text DEFAULT NULL,
  `template_json` text NOT NULL COMMENT 'JSON structure for WhatsApp Portal',
  `sample_variables` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Sample variables for testing' CHECK (json_valid(`sample_variables`)),
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `whatsapp_template_definitions_notification_type_unique` (`notification_type`),
  KEY `whatsapp_template_definitions_category_index` (`category`),
  KEY `whatsapp_template_definitions_notification_type_index` (`notification_type`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Dumping data for table `whatsapp_template_definitions`
INSERT INTO `whatsapp_template_definitions` VALUES
('1', 'order_notifications', 'Order Notification', 'customer', 'Unified template for all order-related notifications (confirmed, status update)', '{\n    \"name\": \"order_notifications\",\n    \"language\": \"en\",\n    \"category\": \"MARKETING\",\n    \"components\": [\n        {\n            \"type\": \"HEADER\",\n            \"format\": \"TEXT\",\n            \"text\": \"Order Alert\"\n        },\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Hello {{1}}, \\n\\nWe would like to inform you that {{2}}\\n\\nOrder number #{{3}}.\\n\\nOrder details:\\n\\n{{4}}\\n\\nAdditional information:\\n\\n{{5}}.\\n\\nThank you for your order.\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"Thank you for choosing us!\"\n        },\n        {\n            \"type\": \"BUTTONS\",\n            \"buttons\": [\n                {\n                    \"type\": \"URL\",\n                    \"text\": \"View Order\",\n                    \"url\": \"https:\\/\\/example.com\\/order\\/{{1}}\",\n                    \"example\": [\n                        \"https:\\/\\/example.com\\/order\\/12345\"\n                    ]\n                }\n            ]\n        }\n    ]\n}', '[\"Body 1: Customer name\",\"Body 2: Main message (e.g., \\\"your order has been confirmed\\\", \\\"order status updated to\\\", \\\"order has been cancelled\\\", \\\"your bill is ready\\\")\",\"Body 3: Order number\",\"Body 4: Details line 1 (Order type\\/Status\\/Reason\\/Amount)\",\"Body 5: Details line 2 (Estimated time\\/Additional info\\/Refund status\\/Payment method)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('2', 'payment_notification', 'Payment Notification', 'customer', 'Unified template for payment confirmation and payment reminders', '{\n    \"name\": \"payment_notification\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"HEADER\",\n            \"format\": \"TEXT\",\n            \"text\": \"Payment Notification\"\n        },\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Hello {{1}},\\n\\n{{2}} for order: #{{3}} has been successfully received.\\n\\nOrder type: {{4}},\\n\\nCustomer name: {{5}},\\n\\nTotal amount: {{6}}.\\n\\nThank you for choosing our services!\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"Thank you!\"\n        },\n        {\n            \"type\": \"BUTTONS\",\n            \"buttons\": [\n                {\n                    \"type\": \"URL\",\n                    \"text\": \"View Order\",\n                    \"url\": \"https:\\/\\/yourdomain.com\\/order\\/{{1}}\",\n                    \"example\": [\n                        \"https:\\/\\/yourdomain.com\\/order\\/123\"\n                    ]\n                }\n            ]\n        }\n    ]\n}', '[\"Body 1: Customer name\",\"Body 2: Message type (Payment\\/Pending payment)\",\"Body 3: Order number\",\"Body 4: Order type\",\"Body 5: Customer name\",\"Body 6: Total amount\",\"Button URL: Order number (for View Order button)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('3', 'reservation_notification', 'Reservation Notification', 'customer', 'Unified template for reservation confirmation, status updates (Confirmed, Cancelled, Pending), and followup messages', '{\n    \"name\": \"reservation_notification\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"HEADER\",\n            \"format\": \"TEXT\",\n            \"text\": \"Status: {{1}}\"\n        },\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Hello {{1}}, we are pleased to confirm that {{2}} for a party of {{3}} guests. Your reservation has been scheduled for the date of {{4}} at the time of {{5}}. Here are some additional important details regarding your reservation: {{6}}. We are excited to welcome you and look forward to providing you with an excellent dining experience!\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"We look forward to serving you!\"\n        },\n        {\n            \"type\": \"BUTTONS\",\n            \"buttons\": [\n                {\n                    \"type\": \"URL\",\n                    \"text\": \"View Booking\",\n                    \"url\": \"https:\\/\\/qonpos.com\\/restaurant\\/my-bookings\\/\",\n                    \"example\": [\n                        \"https:\\/\\/qonpos.com\\/restaurant\\/my-bookings\\/demo-restaurant\"\n                    ]\n                }\n            ]\n        }\n    ]\n}', '[\"Header: Header text (Reservation Confirmed\\/Reservation Cancelled\\/Reservation Pending\\/Thank You)\",\"Body 1: Customer name\",\"Body 2: Message type (your reservation is confirmed\\/your reservation status has been confirmed\\/cancelled\\/set to pending\\/thank you for visiting)\",\"Body 3: Number of guests\",\"Body 4: Date\",\"Body 5: Time\",\"Body 6: Additional details (Table number\\/Status\\/Feedback link\\/Restaurant name)\",\"Button URL: Restaurant hash\\/slug (for View Booking button)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('4', 'new_order_alert', 'New Order Alert', 'all', 'Unified template for new order alerts to admin', '{\n    \"name\": \"new_order_alert\",\n    \"language\": \"en\",\n    \"category\": \"MARKETING\",\n    \"components\": [\n        {\n            \"type\": \"HEADER\",\n            \"format\": \"TEXT\",\n            \"text\": \"New Order\"\n        },\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Hello {{1}},\\n\\n{{2}} order with order number {{3}} has been successfully received.\\n\\nThe order type: {{4}}.\\n\\nCustomer name: {{5}}.\\n\\nAmount for this order is {{6}}.\\n\\nThank you for choosing our services!\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"Thank you!\"\n        },\n        {\n            \"type\": \"BUTTONS\",\n            \"buttons\": [\n                {\n                    \"type\": \"URL\",\n                    \"text\": \"View Order\",\n                    \"url\": \"https:\\/\\/yourdomain.com\\/order\\/{{1}}\",\n                    \"example\": [\n                        \"https:\\/\\/yourdomain.com\\/order\\/123\"\n                    ]\n                }\n            ]\n        }\n    ]\n}', '[\"Body 1: Recipient name (Admin name\\/Customer name\\/Staff name)\",\"Body 2: Message context (New\\/Your)\",\"Body 3: Order number\",\"Body 4: Order type\",\"Body 5: Customer name (or \\\"You\\\" for customer)\",\"Body 6: Amount\",\"Button URL: Order number (for View Order button)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('5', 'delivery_notification', 'Delivery Notification', 'delivery', 'Unified template for delivery-related notifications (assignment, ready for pickup, completion)', '{\n    \"name\": \"delivery_notification\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Hello {{1}},\\n\\nWe are notifying you that {{2}} for order #{{3}}.\\n\\nCustomer name: {{4}},\\n\\nCustomer phone number {{5}},\\n\\nCustomer address and amount: {{6}}.\\n\\nPlease proceed with the delivery process as soon as possible.\\n\\nThank you for your dedication!\"\n        }\n    ]\n}', '[\"Body 1: Delivery executive name\",\"Body 2: Message (e.g., \\\"order is ready for pickup\\\", \\\"new delivery assigned\\\")\",\"Body 3: Order number (numeric part, used with # in template)\",\"Body 4: Customer name\",\"Body 5: Customer phone number\",\"Body 6: Customer address and amount (combined)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('6', 'kitchen_notification', 'Kitchen Notification', 'staff', 'Unified template for kitchen-related notifications (new KOT items to prepare).', '{\n    \"name\": \"kitchen_notification\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Hello {{1}},\\n\\n\\n\\nWe have received {{2}} with order number {{3}}.\\n\\nTable number: {{4}}.\\n\\nOrder type: {{5}}.\\n\\nList of items that need to be prepared: {{6}}.\\n\\nPlease prepare all items accordingly and ensure timely service.\\n\\nWe appreciate your hard work.\"\n        },\n        {\n            \"type\": \"BUTTONS\",\n            \"buttons\": [\n                {\n                    \"type\": \"URL\",\n                    \"text\": \"View Order\",\n                    \"url\": \"https:\\/\\/yourdomain.com\\/order\\/{{1}}\",\n                    \"example\": [\n                        \"https:\\/\\/yourdomain.com\\/order\\/123\"\n                    ]\n                }\n            ]\n        }\n    ]\n}', '[\"Body 1: Staff name (Chef\\/Waiter)\",\"Body 2: Notification type (New KOT\\/Order ready to serve\\/Order has been modified)\",\"Body 3: Order number\",\"Body 4: Table number\",\"Body 5: Order type\",\"Body 6: List of items that need to be prepared\",\"Button URL: Order number (numeric part, for View Order button)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('7', 'staff_notification', 'Staff Notification', 'staff', 'Unified template for staff-related notifications (table assignment, waiter request, waiter acknowledgment)', '{\n    \"name\": \"staff_notification\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"HEADER\",\n            \"format\": \"TEXT\",\n            \"text\": \"Status: {{1}}\"\n        },\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Hello {{1}},\\n\\nWe are sending you this notification regarding {{2}} for {{3}}.\\n\\nHere is the important detail: \\n{{4}}.\\n\\n Please take necessary action. Thank you!\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"Thank you!\"\n        }\n    ]\n}', '[\"Header: Header text (Payment Request\\/Table Assigned\\/Table Status\\/Waiter Request)\",\"Body 1: Staff name\",\"Body 2: Notification type (payment requested\\/table assigned\\/table status changed\\/waiter request received)\",\"Body 3: Target (table number\\/reservation number)\",\"Body 4: Details (single detail)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('8', 'sales_report', 'Sales Report', 'staff', 'Unified template for all sales reports (daily, weekly, monthly)', '{\n    \"name\": \"sales_report\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Here is your comprehensive {{1}} Sales Report for the reporting period of {{2}}. The total number of orders processed during this period is {{3}}, the total revenue generated is {{4}}, the net revenue after all deductions is {{5}}, and here are the combined tax and discount details: {{6}}. This report has been generated successfully and is ready for your review and analysis!\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"Generated automatically\"\n        },\n        {\n            \"type\": \"BUTTONS\",\n            \"buttons\": [\n                {\n                    \"type\": \"URL\",\n                    \"text\": \"View Report\",\n                    \"url\": \"https:\\/\\/qonpos.com\\/reports\\/sales-report\",\n                    \"example\": [\n                        \"https:\\/\\/qonpos.com\\/reports\\/sales-report\"\n                    ]\n                }\n            ]\n        }\n    ]\n}', '[\"Body 1: Period type (Daily\\/Weekly\\/Monthly)\",\"Body 2: Period (Date\\/Date Range\\/Month)\",\"Body 3: Total orders\",\"Body 4: Total revenue\",\"Body 5: Net revenue\",\"Body 6: Tax and Discount (combined)\",\"Button URL: Sales report URL (static, no variables)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('9', 'operations_summary', 'Daily Operations Summary', 'staff', 'End-of-day operations summary for admin', '{\n    \"name\": \"operations_summary\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"HEADER\",\n            \"format\": \"DOCUMENT\"\n        },\n        {\n            \"type\": \"BODY\",\n            \"text\": \"Here is the daily operations summary for branch {{1}} on the date of {{2}}. The total number of orders processed today is {{3}}, the total revenue generated for today is {{4}}, the total number of reservations handled today is {{5}}, and here are the combined staff on duty and peak hours information: {{6}}. The end of day summary has been completed successfully and is ready for review!\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"End of day summary\"\n        },\n        {\n            \"type\": \"BUTTONS\",\n            \"buttons\": [\n                {\n                    \"type\": \"URL\",\n                    \"text\": \"View Report\",\n                    \"url\": \"https:\\/\\/qonpos.com\\/reports\\/sales-report\",\n                    \"example\": [\n                        \"https:\\/\\/qonpos.com\\/reports\\/sales-report\"\n                    ]\n                }\n            ]\n        }\n    ]\n}', '[\"Branch name\",\"Date\",\"Total orders\",\"Total revenue\",\"Total reservations\",\"Staff on duty and Peak hours (combined)\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15'),
('10', 'inventory_alert', 'Low Stock Alert', 'staff', 'Alert when inventory items are below threshold', '{\n    \"name\": \"inventory_alert\",\n    \"language\": \"en\",\n    \"category\": \"UTILITY\",\n    \"components\": [\n        {\n            \"type\": \"HEADER\",\n            \"format\": \"TEXT\",\n            \"text\": \"Low Stock Alert\"\n        },\n        {\n            \"type\": \"BODY\",\n            \"text\": \"We are sending you this important low stock alert notification. There are currently {{1}} items that have fallen below the minimum threshold level. Here is the complete list of items that need immediate attention: {{2}}. This alert is for restaurant location: {{3}}. Please take immediate action to restock these items as soon as possible to avoid any service disruptions. Thank you for your prompt attention to this matter!\"\n        },\n        {\n            \"type\": \"FOOTER\",\n            \"text\": \"Please restock soon\"\n        }\n    ]\n}', '[\"Body 1: Item count\",\"Body 2: Item names\",\"Body 3: Restaurant name\"]', '1', '2026-05-03 12:44:15', '2026-05-03 12:44:15');


-- Table structure for table `whatsapp_template_mappings`
CREATE TABLE `whatsapp_template_mappings` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `restaurant_id` bigint(20) unsigned NOT NULL,
  `notification_type` varchar(100) NOT NULL COMMENT 'e.g., order_confirmation, reservation_confirmation',
  `template_name` varchar(100) NOT NULL COMMENT 'Actual template name in WhatsApp Business Portal',
  `template_id` varchar(191) DEFAULT NULL COMMENT 'WhatsApp template ID for reference',
  `language_code` varchar(10) NOT NULL DEFAULT 'en',
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_restaurant_template` (`restaurant_id`,`notification_type`,`language_code`),
  KEY `whatsapp_template_mappings_restaurant_id_index` (`restaurant_id`),
  KEY `whatsapp_template_mappings_notification_type_index` (`notification_type`),
  CONSTRAINT `whatsapp_template_mappings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


-- Table structure for table `xendit_payments`
CREATE TABLE `xendit_payments` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `order_id` bigint(20) unsigned NOT NULL,
  `payment_date` datetime DEFAULT NULL,
  `amount` decimal(16,2) DEFAULT NULL,
  `payment_status` enum('pending','requested','declined','completed') NOT NULL DEFAULT 'pending',
  `payment_error_response` text DEFAULT NULL,
  `xendit_payment_id` varchar(191) DEFAULT NULL,
  `xendit_invoice_id` varchar(191) DEFAULT NULL,
  `xendit_external_id` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `xendit_payments_order_id_foreign` (`order_id`),
  CONSTRAINT `xendit_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

