-- https://www.phpmyadmin.net/
--

START TRANSACTION;



--
-- Database: `technocorpgro_resturant`
--

-- --------------------------------------------------------

--
-- Table structure for table `areas`
--

CREATE TABLE `areas` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED DEFAULT NULL,
  `area_name` varchar(191) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `areas`
--

INSERT INTO `areas` (`id`, `branch_id`, `area_name`, `created_at`, `updated_at`) VALUES
(1, 3, 'karachi', '2026-04-15 11:43:34', '2026-04-15 11:43:34');

-- --------------------------------------------------------

--
-- Table structure for table `assign_waiter_to_tables`
--

CREATE TABLE `assign_waiter_to_tables` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `table_id` bigint(20) UNSIGNED NOT NULL,
  `waiter_id` bigint(20) UNSIGNED DEFAULT NULL,
  `backup_waiter_id` bigint(20) UNSIGNED DEFAULT NULL,
  `assigned_by` bigint(20) UNSIGNED NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `effective_from` date NOT NULL,
  `effective_to` date DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `branches`
--

CREATE TABLE `branches` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `unique_hash` varchar(64) DEFAULT NULL,
  `restaurant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `cloned_branch_name` varchar(191) DEFAULT NULL,
  `cloned_branch_id` varchar(191) DEFAULT NULL,
  `is_menu_clone` tinyint(1) NOT NULL DEFAULT 0,
  `is_item_categories_clone` tinyint(1) NOT NULL DEFAULT 0,
  `is_menu_items_clone` tinyint(1) NOT NULL DEFAULT 0,
  `is_item_modifiers_clone` tinyint(1) NOT NULL DEFAULT 0,
  `is_clone_reservation_settings` tinyint(1) NOT NULL DEFAULT 0,
  `is_clone_delivery_settings` tinyint(1) NOT NULL DEFAULT 0,
  `is_clone_kot_setting` tinyint(1) NOT NULL DEFAULT 0,
  `is_modifiers_groups_clone` tinyint(1) NOT NULL DEFAULT 0,
  `address` varchar(191) DEFAULT NULL,
  `cr_number` varchar(191) DEFAULT NULL,
  `vat_number` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `lat` decimal(10,7) DEFAULT NULL,
  `lng` decimal(10,7) DEFAULT NULL,
  `count_orders` int(11) NOT NULL DEFAULT 0,
  `total_orders` int(11) NOT NULL DEFAULT -1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `branches`
--

INSERT INTO `branches` (`id`, `unique_hash`, `restaurant_id`, `name`, `cloned_branch_name`, `cloned_branch_id`, `is_menu_clone`, `is_item_categories_clone`, `is_menu_items_clone`, `is_item_modifiers_clone`, `is_clone_reservation_settings`, `is_clone_delivery_settings`, `is_clone_kot_setting`, `is_modifiers_groups_clone`, `address`, `cr_number`, `vat_number`, `created_at`, `updated_at`, `lat`, `lng`, `count_orders`, `total_orders`) VALUES
(1, 'b398523343a95fed10bd', 1, 'North Clementinaside', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, '3580 Murray Well\nJamalland, NV 97007', NULL, NULL, '2026-04-15 11:20:00', '2026-04-15 11:20:00', NULL, NULL, 0, -1),
(2, '1fdb834e369a41c2c367', 1, 'Joellebury', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, '3757 Nick Loaf\nSouth Derekstad, VT 35045', NULL, NULL, '2026-04-15 11:20:00', '2026-04-15 11:20:00', NULL, NULL, 0, -1),
(3, '192db3059e4afc7a48a7', 2, 'New', NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 'test', NULL, NULL, '2026-04-15 11:31:45', '2026-08-08 11:17:05', NULL, NULL, 8, -1);

-- --------------------------------------------------------

--
-- Table structure for table `branch_delivery_settings`
--

CREATE TABLE `branch_delivery_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `max_radius` decimal(8,2) NOT NULL DEFAULT 5.00,
  `unit` enum('km','miles') NOT NULL DEFAULT 'km',
  `fee_type` varchar(191) NOT NULL DEFAULT 'fixed',
  `fixed_fee` decimal(8,2) DEFAULT NULL,
  `per_distance_rate` decimal(8,2) DEFAULT NULL,
  `free_delivery_over_amount` decimal(8,2) DEFAULT NULL,
  `free_delivery_within_radius` double DEFAULT NULL,
  `delivery_schedule_start` time DEFAULT NULL,
  `delivery_schedule_end` time DEFAULT NULL,
  `prep_time_minutes` int(11) NOT NULL DEFAULT 20,
  `additional_eta_buffer_time` int(11) DEFAULT NULL,
  `avg_delivery_speed_kmh` int(11) NOT NULL DEFAULT 30,
  `is_enabled` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `branch_operational_shifts`
--

CREATE TABLE `branch_operational_shifts` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `restaurant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `shift_name` varchar(191) DEFAULT NULL COMMENT 'Optional name for the shift (e.g., Morning Shift, Evening Shift)',
  `start_time` time NOT NULL COMMENT 'Start time of the shift (e.g., 09:00 for 9 AM)',
  `end_time` time NOT NULL COMMENT 'End time of the shift (e.g., 14:00 for 2 PM or 01:00 for 1 AM next day)',
  `day_of_week` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`day_of_week`)),
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `sort_order` int(11) NOT NULL DEFAULT 0 COMMENT 'Display order for shifts',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `cart_header_images`
--

CREATE TABLE `cart_header_images` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `cart_header_setting_id` bigint(20) UNSIGNED NOT NULL,
  `image_path` varchar(191) NOT NULL,
  `alt_text` varchar(191) DEFAULT NULL,
  `sort_order` int(11) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `cart_header_settings`
--

CREATE TABLE `cart_header_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `restaurant_id` bigint(20) UNSIGNED NOT NULL,
  `header_type` enum('text','image') NOT NULL DEFAULT 'text',
  `header_text` text DEFAULT NULL,
  `is_header_disabled` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `cart_item_modifier_options`
--

CREATE TABLE `cart_item_modifier_options` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `cart_item_id` bigint(20) UNSIGNED DEFAULT NULL,
  `modifier_option_id` bigint(20) UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `contacts`
--

CREATE TABLE `contacts` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `language_setting_id` bigint(20) UNSIGNED DEFAULT NULL,
  `email` varchar(191) DEFAULT NULL,
  `contact_company` varchar(191) DEFAULT NULL,
  `image` varchar(200) DEFAULT NULL,
  `address` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `contacts`
--

INSERT INTO `contacts` (`id`, `language_setting_id`, `email`, `contact_company`, `image`, `address`, `created_at`, `updated_at`) VALUES
(1, 1, 'support@example.com', 'Bond Hobbs Inc', NULL, '957 Jamie Station, Lamontborough, SD 27319-9459', '2026-04-15 11:20:00', '2026-04-15 11:20:00');

-- --------------------------------------------------------

--
-- Table structure for table `countries`
--

CREATE TABLE `countries` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `countries_code` char(2) NOT NULL,
  `countries_name` varchar(191) NOT NULL,
  `phonecode` varchar(191) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `countries`
--

INSERT INTO `countries` (`id`, `countries_code`, `countries_name`, `phonecode`) VALUES
(1, 'AF', 'Afghanistan', '93'),
(2, 'AX', 'Åland Islands', '358'),
(3, 'AL', 'Albania', '355'),
(4, 'DZ', 'Algeria', '213'),
(5, 'AS', 'American Samoa', '1684'),
(6, 'AD', 'Andorra', '376'),
(7, 'AO', 'Angola', '244'),
(8, 'AI', 'Anguilla', '1264'),
(9, 'AQ', 'Antarctica', '0'),
(10, 'AG', 'Antigua and Barbuda', '1268'),
(11, 'AR', 'Argentina', '54'),
(12, 'AM', 'Armenia', '374'),
(13, 'AW', 'Aruba', '297'),
(14, 'AU', 'Australia', '61'),
(15, 'AT', 'Austria', '43'),
(16, 'AZ', 'Azerbaijan', '994'),
(17, 'BS', 'Bahamas', '1242'),
(18, 'BH', 'Bahrain', '973'),
(19, 'BD', 'Bangladesh', '880'),
(20, 'BB', 'Barbados', '1246'),
(21, 'BY', 'Belarus', '375'),
(22, 'BE', 'Belgium', '32'),
(23, 'BZ', 'Belize', '501'),
(24, 'BJ', 'Benin', '229'),
(25, 'BM', 'Bermuda', '1441'),
(26, 'BT', 'Bhutan', '975'),
(27, 'BO', 'Bolivia, Plurinational State of', '591'),
(28, 'BQ', 'Bonaire, Sint Eustatius and Saba', '599'),
(29, 'BA', 'Bosnia and Herzegovina', '387'),
(30, 'BW', 'Botswana', '267'),
(31, 'BV', 'Bouvet Island', '0'),
(32, 'BR', 'Brazil', '55'),
(33, 'IO', 'British Indian Ocean Territory', '246'),
(34, 'BN', 'Brunei Darussalam', '673'),
(35, 'BG', 'Bulgaria', '359'),
(36, 'BF', 'Burkina Faso', '226'),
(37, 'BI', 'Burundi', '257'),
(38, 'KH', 'Cambodia', '855'),
(39, 'CM', 'Cameroon', '237'),
(40, 'CA', 'Canada', '1'),
(41, 'CV', 'Cape Verde', '238'),
(42, 'KY', 'Cayman Islands', '1345'),
(43, 'CF', 'Central African Republic', '236'),
(44, 'TD', 'Chad', '235'),
(45, 'CL', 'Chile', '56'),
(46, 'CN', 'China', '86'),
(47, 'CX', 'Christmas Island', '61'),
(48, 'CC', 'Cocos (Keeling) Islands', '672'),
(49, 'CO', 'Colombia', '57'),
(50, 'KM', 'Comoros', '269'),
(51, 'CG', 'Congo', '242'),
(52, 'CD', 'Congo, the Democratic Republic of the', '242'),
(53, 'CK', 'Cook Islands', '682'),
(54, 'CR', 'Costa Rica', '506'),
(55, 'CI', 'Côte d\'Ivoire', '225'),
(56, 'HR', 'Croatia', '385'),
(57, 'CU', 'Cuba', '53'),
(58, 'CW', 'Curaçao', '599'),
(59, 'CY', 'Cyprus', '357'),
(60, 'CZ', 'Czech Republic', '420'),
(61, 'DK', 'Denmark', '45'),
(62, 'DJ', 'Djibouti', '253'),
(63, 'DM', 'Dominica', '1767'),
(64, 'DO', 'Dominican Republic', '1809'),
(65, 'EC', 'Ecuador', '593'),
(66, 'EG', 'Egypt', '20'),
(67, 'SV', 'El Salvador', '503'),
(68, 'GQ', 'Equatorial Guinea', '240'),
(69, 'ER', 'Eritrea', '291'),
(70, 'EE', 'Estonia', '372'),
(71, 'ET', 'Ethiopia', '251'),
(72, 'FK', 'Falkland Islands (Malvinas)', '500'),
(73, 'FO', 'Faroe Islands', '298'),
(74, 'FJ', 'Fiji', '679'),
(75, 'FI', 'Finland', '358'),
(76, 'FR', 'France', '33'),
(77, 'GF', 'French Guiana', '594'),
(78, 'PF', 'French Polynesia', '689'),
(79, 'TF', 'French Southern Territories', '0'),
(80, 'GA', 'Gabon', '241'),
(81, 'GM', 'Gambia', '220'),
(82, 'GE', 'Georgia', '995'),
(83, 'DE', 'Germany', '49'),
(84, 'GH', 'Ghana', '233'),
(85, 'GI', 'Gibraltar', '350'),
(86, 'GR', 'Greece', '30'),
(87, 'GL', 'Greenland', '299'),
(88, 'GD', 'Grenada', '1473'),
(89, 'GP', 'Guadeloupe', '590'),
(90, 'GU', 'Guam', '1671'),
(91, 'GT', 'Guatemala', '502'),
(92, 'GG', 'Guernsey', '44'),
(93, 'GN', 'Guinea', '224'),
(94, 'GW', 'Guinea-Bissau', '245'),
(95, 'GY', 'Guyana', '592'),
(96, 'HT', 'Haiti', '509'),
(97, 'HM', 'Heard Island and McDonald Islands', '0'),
(98, 'VA', 'Holy See (Vatican City State)', '39'),
(99, 'HN', 'Honduras', '504'),
(100, 'HK', 'Hong Kong', '852'),
(101, 'HU', 'Hungary', '36'),
(102, 'IS', 'Iceland', '354'),
(103, 'IN', 'India', '91'),
(104, 'ID', 'Indonesia', '62'),
(105, 'IR', 'Iran, Islamic Republic of', '98'),
(106, 'IQ', 'Iraq', '964'),
(107, 'IE', 'Ireland', '353'),
(108, 'IM', 'Isle of Man', '44'),
(109, 'IL', 'Israel', '972'),
(110, 'IT', 'Italy', '39'),
(111, 'JM', 'Jamaica', '1876'),
(112, 'JP', 'Japan', '81'),
(113, 'JE', 'Jersey', '44'),
(114, 'JO', 'Jordan', '962'),
(115, 'KZ', 'Kazakhstan', '7'),
(116, 'KE', 'Kenya', '254'),
(117, 'KI', 'Kiribati', '686'),
(118, 'KP', 'Korea, Democratic People\'s Republic of', '850'),
(119, 'KR', 'Korea, Republic of', '82'),
(120, 'KW', 'Kuwait', '965'),
(121, 'KG', 'Kyrgyzstan', '996'),
(122, 'LA', 'Lao People\'s Democratic Republic', '856'),
(123, 'LV', 'Latvia', '371'),
(124, 'LB', 'Lebanon', '961'),
(125, 'LS', 'Lesotho', '266'),
(126, 'LR', 'Liberia', '231'),
(127, 'LY', 'Libya', '218'),
(128, 'LI', 'Liechtenstein', '423'),
(129, 'LT', 'Lithuania', '370'),
(130, 'LU', 'Luxembourg', '352'),
(131, 'MO', 'Macao', '853'),
(132, 'MK', 'Macedonia, the Former Yugoslav Republic of', '389'),
(133, 'MG', 'Madagascar', '261'),
(134, 'MW', 'Malawi', '265'),
(135, 'MY', 'Malaysia', '60'),
(136, 'MV', 'Maldives', '960'),
(137, 'ML', 'Mali', '223'),
(138, 'MT', 'Malta', '356'),
(139, 'MH', 'Marshall Islands', '692'),
(140, 'MQ', 'Martinique', '596'),
(141, 'MR', 'Mauritania', '222'),
(142, 'MU', 'Mauritius', '230'),
(143, 'YT', 'Mayotte', '269'),
(144, 'MX', 'Mexico', '52'),
(145, 'FM', 'Micronesia, Federated States of', '691'),
(146, 'MD', 'Moldova, Republic of', '373'),
(147, 'MC', 'Monaco', '377'),
(148, 'MN', 'Mongolia', '976'),
(149, 'ME', 'Montenegro', '382'),
(150, 'MS', 'Montserrat', '1664'),
(151, 'MA', 'Morocco', '212'),
(152, 'MZ', 'Mozambique', '258'),
(153, 'MM', 'Myanmar', '95'),
(154, 'NA', 'Namibia', '264'),
(155, 'NR', 'Nauru', '674'),
(156, 'NP', 'Nepal', '977'),
(157, 'NL', 'Netherlands', '31'),
(158, 'NC', 'New Caledonia', '687'),
(159, 'NZ', 'New Zealand', '64'),
(160, 'NI', 'Nicaragua', '505'),
(161, 'NE', 'Niger', '227'),
(162, 'NG', 'Nigeria', '234'),
(163, 'NU', 'Niue', '683'),
(164, 'NF', 'Norfolk Island', '672'),
(165, 'MP', 'Northern Mariana Islands', '1670'),
(166, 'NO', 'Norway', '47'),
(167, 'OM', 'Oman', '968'),
(168, 'PK', 'Pakistan', '92'),
(169, 'PW', 'Palau', '680'),
(170, 'PS', 'Palestine, State of', '970'),
(171, 'PA', 'Panama', '507'),
(172, 'PG', 'Papua New Guinea', '675'),
(173, 'PY', 'Paraguay', '595'),
(174, 'PE', 'Peru', '51'),
(175, 'PH', 'Philippines', '63'),
(176, 'PN', 'Pitcairn', '0'),
(177, 'PL', 'Poland', '48'),
(178, 'PT', 'Portugal', '351'),
(179, 'PR', 'Puerto Rico', '1787'),
(180, 'QA', 'Qatar', '974'),
(181, 'RE', 'Réunion', '262'),
(182, 'RO', 'Romania', '40'),
(183, 'RU', 'Russian Federation', '7'),
(184, 'RW', 'Rwanda', '250'),
(185, 'BL', 'Saint Barthélemy', '590'),
(186, 'SH', 'Saint Helena, Ascension and Tristan da Cunha', '290'),
(187, 'KN', 'Saint Kitts and Nevis', '1869'),
(188, 'LC', 'Saint Lucia', '1758'),
(189, 'MF', 'Saint Martin (French part)', '590'),
(190, 'PM', 'Saint Pierre and Miquelon', '508'),
(191, 'VC', 'Saint Vincent and the Grenadines', '1784'),
(192, 'WS', 'Samoa', '684'),
(193, 'SM', 'San Marino', '378'),
(194, 'ST', 'Sao Tome and Principe', '239'),
(195, 'SA', 'Saudi Arabia', '966'),
(196, 'SN', 'Senegal', '221'),
(197, 'RS', 'Serbia', '381'),
(198, 'SC', 'Seychelles', '248'),
(199, 'SL', 'Sierra Leone', '232'),
(200, 'SG', 'Singapore', '65'),
(201, 'SX', 'Sint Maarten (Dutch part)', '1'),
(202, 'SK', 'Slovakia', '421'),
(203, 'SI', 'Slovenia', '386'),
(204, 'SB', 'Solomon Islands', '677'),
(205, 'SO', 'Somalia', '252'),
(206, 'ZA', 'South Africa', '27'),
(207, 'GS', 'South Georgia and the South Sandwich Islands', '0'),
(208, 'SS', 'South Sudan', '211'),
(209, 'ES', 'Spain', '34'),
(210, 'LK', 'Sri Lanka', '94'),
(211, 'SD', 'Sudan', '249'),
(212, 'SR', 'Suriname', '597'),
(213, 'SJ', 'Svalbard and Jan Mayen', '47'),
(214, 'SZ', 'Swaziland', '268'),
(215, 'SE', 'Sweden', '46'),
(216, 'CH', 'Switzerland', '41'),
(217, 'SY', 'Syrian Arab Republic', '963'),
(218, 'TW', 'Taiwan, Province of China', '886'),
(219, 'TJ', 'Tajikistan', '992'),
(220, 'TZ', 'Tanzania, United Republic of', '255'),
(221, 'TH', 'Thailand', '66'),
(222, 'TL', 'Timor-Leste', '670'),
(223, 'TG', 'Togo', '228'),
(224, 'TK', 'Tokelau', '690'),
(225, 'TO', 'Tonga', '676'),
(226, 'TT', 'Trinidad and Tobago', '1868'),
(227, 'TN', 'Tunisia', '216'),
(228, 'TR', 'Turkey', '90'),
(229, 'TM', 'Turkmenistan', '7370'),
(230, 'TC', 'Turks and Caicos Islands', '1649'),
(231, 'TV', 'Tuvalu', '688'),
(232, 'UG', 'Uganda', '256'),
(233, 'UA', 'Ukraine', '380'),
(234, 'AE', 'United Arab Emirates', '971'),
(235, 'GB', 'United Kingdom', '44'),
(236, 'US', 'United States', '1'),
(237, 'UM', 'United States Minor Outlying Islands', '1'),
(238, 'UY', 'Uruguay', '598'),
(239, 'UZ', 'Uzbekistan', '998'),
(240, 'VU', 'Vanuatu', '678'),
(241, 'VE', 'Venezuela, Bolivarian Republic of', '58'),
(242, 'VN', 'Viet Nam', '84'),
(243, 'VG', 'Virgin Islands, British', '1284'),
(244, 'VI', 'Virgin Islands, U.S.', '1340'),
(245, 'WF', 'Wallis and Futuna', '681'),
(246, 'EH', 'Western Sahara', '212'),
(247, 'YE', 'Yemen', '967'),
(248, 'ZM', 'Zambia', '260'),
(249, 'ZW', 'Zimbabwe', '263');

-- --------------------------------------------------------

--
-- Table structure for table `currencies`
--

CREATE TABLE `currencies` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `restaurant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `currency_name` varchar(191) NOT NULL,
  `currency_code` varchar(191) NOT NULL,
  `currency_symbol` varchar(191) NOT NULL,
  `currency_position` enum('left','right','left_with_space','right_with_space') NOT NULL DEFAULT 'left',
  `no_of_decimal` int(10) UNSIGNED NOT NULL DEFAULT 2,
  `thousand_separator` varchar(191) DEFAULT ',',
  `decimal_separator` varchar(191) DEFAULT '.',
  `exchange_rate` decimal(16,2) DEFAULT NULL,
  `usd_price` decimal(16,2) DEFAULT NULL,
  `is_cryptocurrency` enum('yes','no') NOT NULL DEFAULT 'no'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `currencies`
--

INSERT INTO `currencies` (`id`, `restaurant_id`, `currency_name`, `currency_code`, `currency_symbol`, `currency_position`, `no_of_decimal`, `thousand_separator`, `decimal_separator`, `exchange_rate`, `usd_price`, `is_cryptocurrency`) VALUES
(1, 1, 'Dollars', 'USD', '$', 'left', 2, ',', '.', NULL, NULL, 'no'),
(2, 1, 'Rupee', 'INR', '₹', 'left', 2, ',', '.', NULL, NULL, 'no'),
(3, 1, 'Pounds', 'GBP', '£', 'left', 2, ',', '.', NULL, NULL, 'no'),
(4, 1, 'Euros', 'EUR', '€', 'left', 2, ',', '.', NULL, NULL, 'no'),
(5, 2, 'Dollars', 'USD', '$', 'left', 2, ',', '.', NULL, NULL, 'no'),
(6, 2, 'Rupee', 'INR', '₹', 'left', 2, ',', '.', NULL, NULL, 'no'),
(7, 2, 'Pounds', 'GBP', '£', 'left', 2, ',', '.', NULL, NULL, 'no'),
(8, 2, 'Euros', 'EUR', '€', 'left', 2, ',', '.', NULL, NULL, 'no');

-- --------------------------------------------------------

--
-- Table structure for table `customer_addresses`
--

CREATE TABLE `customer_addresses` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `customer_id` bigint(20) UNSIGNED DEFAULT NULL,
  `label` varchar(191) DEFAULT NULL,
  `address` text DEFAULT NULL,
  `lat` decimal(10,7) DEFAULT NULL,
  `lng` decimal(10,7) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `custom_menus`
--

CREATE TABLE `custom_menus` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `menu_name` varchar(191) NOT NULL,
  `menu_slug` varchar(191) NOT NULL,
  `menu_content` longtext DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `position` enum('header','footer') NOT NULL DEFAULT 'header',
  `sort_order` int(11) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `delivery_cash_settlements`
--

CREATE TABLE `delivery_cash_settlements` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `delivery_executive_id` bigint(20) UNSIGNED NOT NULL,
  `settlement_number` varchar(191) DEFAULT NULL,
  `submitted_amount` decimal(16,2) NOT NULL,
  `verified_amount` decimal(16,2) DEFAULT NULL,
  `status` enum('submitted','approved','rejected') NOT NULL DEFAULT 'submitted',
  `notes` text DEFAULT NULL,
  `submitted_at` timestamp NULL DEFAULT NULL,
  `approved_at` timestamp NULL DEFAULT NULL,
  `approved_by` bigint(20) UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `delivery_cash_settlement_items`
--

CREATE TABLE `delivery_cash_settlement_items` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `settlement_id` bigint(20) UNSIGNED NOT NULL,
  `order_cash_collection_id` bigint(20) UNSIGNED NOT NULL,
  `order_id` bigint(20) UNSIGNED NOT NULL,
  `amount` decimal(16,2) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `delivery_executives`
--

CREATE TABLE `delivery_executives` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(191) NOT NULL,
  `email` varchar(191) DEFAULT NULL,
  `phone` varchar(191) DEFAULT NULL,
  `unique_code` varchar(191) DEFAULT NULL,
  `phone_code` varchar(191) DEFAULT NULL,
  `photo` varchar(191) DEFAULT NULL,
  `status` enum('available','on_delivery','inactive') NOT NULL DEFAULT 'available',
  `is_online` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `delivery_executives`
--

INSERT INTO `delivery_executives` (`id`, `branch_id`, `name`, `email`, `phone`, `unique_code`, `phone_code`, `photo`, `status`, `is_online`, `created_at`, `updated_at`) VALUES
(1, 3, 'xyz', 'xyz@gmail.com', '1234324324', 'KZRA1', '93', NULL, 'available', 1, '2026-04-15 12:56:25', '2026-04-15 12:56:25');

-- --------------------------------------------------------

--
-- Table structure for table `delivery_fee_tiers`
--

CREATE TABLE `delivery_fee_tiers` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `min_distance` double DEFAULT NULL,
  `max_distance` double DEFAULT NULL,
  `fee` decimal(8,2) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `delivery_platforms`
--

CREATE TABLE `delivery_platforms` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED DEFAULT NULL,
  `name` varchar(191) NOT NULL,
  `logo` varchar(191) DEFAULT NULL,
  `commission_type` enum('percent','fixed') NOT NULL DEFAULT 'percent',
  `commission_value` decimal(16,2) DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `desktop_mobile_application`
--

CREATE TABLE `desktop_mobile_application` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `windows_file_path` varchar(191) DEFAULT NULL,
  `mac_file_path` varchar(191) DEFAULT NULL,
  `linux_file_path` varchar(191) DEFAULT NULL,
  `partner_app_ios` varchar(191) DEFAULT NULL,
  `partner_app_android` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `desktop_mobile_application`
--

INSERT INTO `desktop_mobile_application` (`id`, `windows_file_path`, `mac_file_path`, `linux_file_path`, `partner_app_ios`, `partner_app_android`, `created_at`, `updated_at`) VALUES
(1, 'https://envato.froid.works/app/download/windows', 'https://envato.froid.works/app/download/macos', 'https://envato.froid.works/app/download/linux', 'https://apps.apple.com/in/app/tabletrack-rider/id6759326050', 'https://play.google.com/store/apps/details?id=com.delivery.tabletrack&hl=en_IN', NULL, '2026-04-15 11:19:59');

-- --------------------------------------------------------

--
-- Table structure for table `expenses`
--

CREATE TABLE `expenses` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `expense_category_id` bigint(20) UNSIGNED DEFAULT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `expense_title` varchar(191) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `amount` decimal(10,2) NOT NULL,
  `expense_date` date NOT NULL,
  `payment_status` varchar(191) NOT NULL,
  `payment_date` date DEFAULT NULL,
  `payment_due_date` date DEFAULT NULL,
  `payment_method` varchar(191) DEFAULT NULL,
  `receipt_path` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `expense_categories`
--

CREATE TABLE `expense_categories` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(191) NOT NULL,
  `description` varchar(191) DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `expense_categories`
--

INSERT INTO `expense_categories` (`id`, `branch_id`, `name`, `description`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 1, 'Rent', 'Monthly rent for restaurant space', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 'Utilities', 'Electricity, water, gas, and other utilities', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 1, 'Salaries', 'Employee salaries and wages', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 1, 'Ingredients', 'Food ingredients and raw materials', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 1, 'Equipment', 'Kitchen equipment and appliances', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(6, 1, 'Marketing', 'Advertising and promotional expenses', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(7, 1, 'Insurance', 'Business insurance and liability coverage', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(8, 1, 'Maintenance', 'Repairs and maintenance costs', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(9, 1, 'Licenses', 'Business licenses and permits', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(10, 1, 'Miscellaneous', 'Other miscellaneous expenses', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(11, 2, 'Rent', 'Monthly rent for restaurant space', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(12, 2, 'Utilities', 'Electricity, water, gas, and other utilities', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(13, 2, 'Salaries', 'Employee salaries and wages', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(14, 2, 'Ingredients', 'Food ingredients and raw materials', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(15, 2, 'Equipment', 'Kitchen equipment and appliances', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(16, 2, 'Marketing', 'Advertising and promotional expenses', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(17, 2, 'Insurance', 'Business insurance and liability coverage', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(18, 2, 'Maintenance', 'Repairs and maintenance costs', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(19, 2, 'Licenses', 'Business licenses and permits', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(20, 2, 'Miscellaneous', 'Other miscellaneous expenses', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(21, 3, 'Rent', 'Monthly rent for restaurant space', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(22, 3, 'Utilities', 'Electricity, water, gas, and other utilities', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(23, 3, 'Salaries', 'Employee salaries and wages', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(24, 3, 'Ingredients', 'Food ingredients and raw materials', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(25, 3, 'Equipment', 'Kitchen equipment and appliances', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(26, 3, 'Marketing', 'Advertising and promotional expenses', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(27, 3, 'Insurance', 'Business insurance and liability coverage', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(28, 3, 'Maintenance', 'Repairs and maintenance costs', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(29, 3, 'Licenses', 'Business licenses and permits', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(30, 3, 'Miscellaneous', 'Other miscellaneous expenses', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `uuid` varchar(191) NOT NULL,
  `connection` text NOT NULL,
  `queue` text NOT NULL,
  `payload` longtext NOT NULL,
  `exception` longtext NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `file_storage`
--

CREATE TABLE `file_storage` (
  `id` int(10) UNSIGNED NOT NULL,
  `restaurant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `path` varchar(191) NOT NULL,
  `filename` varchar(191) NOT NULL,
  `type` varchar(50) DEFAULT NULL,
  `size` int(10) UNSIGNED NOT NULL,
  `storage_location` enum('local','aws_s3','digitalocean','wasabi','minio') NOT NULL DEFAULT 'local',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `file_storage`
--

INSERT INTO `file_storage` (`id`, `restaurant_id`, `path`, `filename`, `type`, `size`, `storage_location`, `created_at`, `updated_at`) VALUES
(1, 1, 'qrcodes', 'qrcode-branch-1-1.png', 'image/png', 2831, 'local', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 'qrcodes', 'qrcode-branch-1-1.png', 'image/png', 2831, 'local', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 1, 'qrcodes', 'qrcode-branch-2-1.png', 'image/png', 2892, 'local', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 1, 'qrcodes', 'qrcode-branch-2-1.png', 'image/png', 2892, 'local', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 2, 'qrcodes', 'qrcode-branch-3-2.png', 'image/png', 2809, 'local', '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(6, 2, 'qrcodes', 'qrcode-3-1.png', 'image/png', 4282, 'local', '2026-04-15 11:44:03', '2026-04-15 11:44:03'),
(7, 2, 'item', 'e1bf33d774ec36f1043379c11f619bf3.jpeg', 'image/jpeg', 391496, 'local', '2026-04-15 12:54:04', '2026-04-15 12:54:04'),
(8, 2, 'item', 'f6d42863c8d799bf0738d0b26e748f4a.png', 'image/png', 2460572, 'local', '2026-05-12 16:37:39', '2026-05-12 16:37:39');

-- --------------------------------------------------------

--
-- Table structure for table `file_storage_settings`
--

CREATE TABLE `file_storage_settings` (
  `id` int(10) UNSIGNED NOT NULL,
  `filesystem` varchar(191) NOT NULL,
  `auth_keys` text DEFAULT NULL,
  `status` enum('enabled','disabled') NOT NULL DEFAULT 'disabled',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `file_storage_settings`
--

INSERT INTO `file_storage_settings` (`id`, `filesystem`, `auth_keys`, `status`, `created_at`, `updated_at`) VALUES
(1, 'local', NULL, 'enabled', '2026-04-15 11:19:48', '2026-04-15 11:19:48');

-- --------------------------------------------------------

--
-- Table structure for table `flags`
--

CREATE TABLE `flags` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `capital` varchar(191) DEFAULT NULL,
  `code` varchar(191) DEFAULT NULL,
  `continent` varchar(191) DEFAULT NULL,
  `name` varchar(191) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `flags`
--

INSERT INTO `flags` (`id`, `capital`, `code`, `continent`, `name`) VALUES
(1, 'Kabul', 'af', 'Asia', 'Afghanistan'),
(2, 'Mariehamn', 'ax', 'Europe', 'Aland Islands'),
(3, 'Tirana', 'al', 'Europe', 'Albania'),
(4, 'Algiers', 'dz', 'Africa', 'Algeria'),
(5, 'Pago Pago', 'as', 'Oceania', 'American Samoa'),
(6, 'Andorra la Vella', 'ad', 'Europe', 'Andorra'),
(7, 'Luanda', 'ao', 'Africa', 'Angola'),
(8, 'The Valley', 'ai', 'North America', 'Anguilla'),
(9, '', 'aq', '', 'Antarctica'),
(10, 'St. John\'s', 'ag', 'North America', 'Antigua and Barbuda'),
(11, 'Buenos Aires', 'ar', 'South America', 'Argentina'),
(12, 'Yerevan', 'am', 'Asia', 'Armenia'),
(13, 'Oranjestad', 'aw', 'South America', 'Aruba'),
(14, 'Georgetown', 'ac', 'Africa', 'Ascension Island'),
(15, 'Canberra', 'au', 'Oceania', 'Australia'),
(16, 'Vienna', 'at', 'Europe', 'Austria'),
(17, 'Baku', 'az', 'Asia', 'Azerbaijan'),
(18, 'Nassau', 'bs', 'North America', 'Bahamas'),
(19, 'Manama', 'bh', 'Asia', 'Bahrain'),
(20, 'Dhaka', 'bd', 'Asia', 'Bangladesh'),
(21, 'Bridgetown', 'bb', 'North America', 'Barbados'),
(22, 'Minsk', 'by', 'Europe', 'Belarus'),
(23, 'Brussels', 'be', 'Europe', 'Belgium'),
(24, 'Belmopan', 'bz', 'North America', 'Belize'),
(25, 'Porto-Novo', 'bj', 'Africa', 'Benin'),
(26, 'Hamilton', 'bm', 'North America', 'Bermuda'),
(27, 'Thimphu', 'bt', 'Asia', 'Bhutan'),
(28, 'Sucre', 'bo', 'South America', 'Bolivia'),
(29, 'Kralendijk', 'bq', 'South America', 'Bonaire, Sint Eustatius and Saba'),
(30, 'Sarajevo', 'ba', 'Europe', 'Bosnia and Herzegovina'),
(31, 'Gaborone', 'bw', 'Africa', 'Botswana'),
(32, '', 'bv', '', 'Bouvet Island'),
(33, 'Brasília', 'br', 'South America', 'Brazil'),
(34, 'Diego Garcia', 'io', 'Asia', 'British Indian Ocean Territory'),
(35, 'Bandar Seri Begawan', 'bn', 'Asia', 'Brunei Darussalam'),
(36, 'Sofia', 'bg', 'Europe', 'Bulgaria'),
(37, 'Ouagadougou', 'bf', 'Africa', 'Burkina Faso'),
(38, 'Bujumbura', 'bi', 'Africa', 'Burundi'),
(39, 'Praia', 'cv', 'Africa', 'Cabo Verde'),
(40, 'Phnom Penh', 'kh', 'Asia', 'Cambodia'),
(41, 'Yaoundé', 'cm', 'Africa', 'Cameroon'),
(42, 'Ottawa', 'ca', 'North America', 'Canada'),
(43, '', 'ic', '', 'Canary Islands'),
(44, '', 'es-ct', '', 'Catalonia'),
(45, 'George Town', 'ky', 'North America', 'Cayman Islands'),
(46, 'Bangui', 'cf', 'Africa', 'Central African Republic'),
(47, '', 'cefta', '', 'Central European Free Trade Agreement'),
(48, '', 'ea', '', 'Ceuta & Melilla'),
(49, 'N\'Djamena', 'td', 'Africa', 'Chad'),
(50, 'Santiago', 'cl', 'South America', 'Chile'),
(51, 'Beijing', 'cn', 'Asia', 'China'),
(52, 'Flying Fish Cove', 'cx', 'Asia', 'Christmas Island'),
(53, '', 'cp', '', 'Clipperton Island'),
(54, 'West Island', 'cc', 'Asia', 'Cocos (Keeling) Islands'),
(55, 'Bogotá', 'co', 'South America', 'Colombia'),
(56, 'Moroni', 'km', 'Africa', 'Comoros'),
(57, 'Avarua', 'ck', 'Oceania', 'Cook Islands'),
(58, 'San José', 'cr', 'North America', 'Costa Rica'),
(59, 'Zagreb', 'hr', 'Europe', 'Croatia'),
(60, 'Havana', 'cu', 'North America', 'Cuba'),
(61, 'Willemstad', 'cw', 'South America', 'Curaçao'),
(62, 'Nicosia', 'cy', 'Europe', 'Cyprus'),
(63, 'Prague', 'cz', 'Europe', 'Czech Republic'),
(64, 'Yamoussoukro', 'ci', 'Africa', 'Côte d\'Ivoire'),
(65, 'Kinshasa', 'cd', 'Africa', 'Democratic Republic of the Congo'),
(66, 'Copenhagen', 'dk', 'Europe', 'Denmark'),
(67, '', 'dg', '', 'Diego Garcia'),
(68, 'Djibouti', 'dj', 'Africa', 'Djibouti'),
(69, 'Roseau', 'dm', 'North America', 'Dominica'),
(70, 'Santo Domingo', 'do', 'North America', 'Dominican Republic'),
(71, 'Quito', 'ec', 'South America', 'Ecuador'),
(72, 'Cairo', 'eg', 'Africa', 'Egypt'),
(73, 'San Salvador', 'sv', 'North America', 'El Salvador'),
(74, 'London', 'gb-eng', 'Europe', 'England'),
(75, 'Malabo', 'gq', 'Africa', 'Equatorial Guinea'),
(76, 'Asmara', 'er', 'Africa', 'Eritrea'),
(77, 'Tallinn', 'ee', 'Europe', 'Estonia'),
(78, 'Lobamba, Mbabane', 'sz', 'Africa', 'Eswatini'),
(79, 'Addis Ababa', 'et', 'Africa', 'Ethiopia'),
(80, '', 'eu', '', 'Europe'),
(81, 'Stanley', 'fk', 'South America', 'Falkland Islands'),
(82, 'Tórshavn', 'fo', 'Europe', 'Faroe Islands'),
(83, 'Palikir', 'fm', 'Oceania', 'Federated States of Micronesia'),
(84, 'Suva', 'fj', 'Oceania', 'Fiji'),
(85, 'Helsinki', 'fi', 'Europe', 'Finland'),
(86, 'Paris', 'fr', 'Europe', 'France'),
(87, 'Cayenne', 'gf', 'South America', 'French Guiana'),
(88, 'Papeete', 'pf', 'Oceania', 'French Polynesia'),
(89, 'Saint-Pierre, Réunion', 'tf', 'Africa', 'French Southern Territories'),
(90, 'Libreville', 'ga', 'Africa', 'Gabon'),
(91, '', 'es-ga', '', 'Galicia'),
(92, 'Banjul', 'gm', 'Africa', 'Gambia'),
(93, 'Tbilisi', 'ge', 'Asia', 'Georgia'),
(94, 'Berlin', 'de', 'Europe', 'Germany'),
(95, 'Accra', 'gh', 'Africa', 'Ghana'),
(96, 'Gibraltar', 'gi', 'Europe', 'Gibraltar'),
(97, 'Athens', 'gr', 'Europe', 'Greece'),
(98, 'Nuuk', 'gl', 'North America', 'Greenland'),
(99, 'St. George\'s', 'gd', 'North America', 'Grenada'),
(100, 'Basse-Terre', 'gp', 'North America', 'Guadeloupe'),
(101, 'Hagåtña', 'gu', 'Oceania', 'Guam'),
(102, 'Guatemala City', 'gt', 'North America', 'Guatemala'),
(103, 'Saint Peter Port', 'gg', 'Europe', 'Guernsey'),
(104, 'Conakry', 'gn', 'Africa', 'Guinea'),
(105, 'Bissau', 'gw', 'Africa', 'Guinea-Bissau'),
(106, 'Georgetown', 'gy', 'South America', 'Guyana'),
(107, 'Port-au-Prince', 'ht', 'North America', 'Haiti'),
(108, '', 'hm', '', 'Heard Island and McDonald Islands'),
(109, 'Vatican City', 'va', 'Europe', 'Holy See'),
(110, 'Tegucigalpa', 'hn', 'North America', 'Honduras'),
(111, 'Hong Kong', 'hk', 'Asia', 'Hong Kong'),
(112, 'Budapest', 'hu', 'Europe', 'Hungary'),
(113, 'Reykjavik', 'is', 'Europe', 'Iceland'),
(114, 'New Delhi', 'in', 'Asia', 'India'),
(115, 'Jakarta', 'id', 'Asia', 'Indonesia'),
(116, 'Tehran', 'ir', 'Asia', 'Iran'),
(117, 'Baghdad', 'iq', 'Asia', 'Iraq'),
(118, 'Dublin', 'ie', 'Europe', 'Ireland'),
(119, 'Douglas', 'im', 'Europe', 'Isle of Man'),
(120, 'Jerusalem', 'il', 'Asia', 'Israel'),
(121, 'Rome', 'it', 'Europe', 'Italy'),
(122, 'Kingston', 'jm', 'North America', 'Jamaica'),
(123, 'Tokyo', 'jp', 'Asia', 'Japan'),
(124, 'Saint Helier', 'je', 'Europe', 'Jersey'),
(125, 'Amman', 'jo', 'Asia', 'Jordan'),
(126, 'Astana', 'kz', 'Asia', 'Kazakhstan'),
(127, 'Nairobi', 'ke', 'Africa', 'Kenya'),
(128, 'South Tarawa', 'ki', 'Oceania', 'Kiribati'),
(129, 'Pristina', 'xk', 'Europe', 'Kosovo'),
(130, 'Kuwait City', 'kw', 'Asia', 'Kuwait'),
(131, 'Bishkek', 'kg', 'Asia', 'Kyrgyzstan'),
(132, 'Vientiane', 'la', 'Asia', 'Laos'),
(133, 'Riga', 'lv', 'Europe', 'Latvia'),
(134, 'Beirut', 'lb', 'Asia', 'Lebanon'),
(135, 'Maseru', 'ls', 'Africa', 'Lesotho'),
(136, 'Monrovia', 'lr', 'Africa', 'Liberia'),
(137, 'Tripoli', 'ly', 'Africa', 'Libya'),
(138, 'Vaduz', 'li', 'Europe', 'Liechtenstein'),
(139, 'Vilnius', 'lt', 'Europe', 'Lithuania'),
(140, 'Luxembourg City', 'lu', 'Europe', 'Luxembourg'),
(141, 'Macau', 'mo', 'Asia', 'Macau'),
(142, 'Antananarivo', 'mg', 'Africa', 'Madagascar'),
(143, 'Lilongwe', 'mw', 'Africa', 'Malawi'),
(144, 'Kuala Lumpur', 'my', 'Asia', 'Malaysia'),
(145, 'Malé', 'mv', 'Asia', 'Maldives'),
(146, 'Bamako', 'ml', 'Africa', 'Mali'),
(147, 'Valletta', 'mt', 'Europe', 'Malta'),
(148, 'Majuro', 'mh', 'Oceania', 'Marshall Islands'),
(149, 'Fort-de-France', 'mq', 'North America', 'Martinique'),
(150, 'Nouakchott', 'mr', 'Africa', 'Mauritania'),
(151, 'Port Louis', 'mu', 'Africa', 'Mauritius'),
(152, 'Mamoudzou', 'yt', 'Africa', 'Mayotte'),
(153, 'Mexico City', 'mx', 'North America', 'Mexico'),
(154, 'Chișinău', 'md', 'Europe', 'Moldova'),
(155, 'Monaco', 'mc', 'Europe', 'Monaco'),
(156, 'Ulaanbaatar', 'mn', 'Asia', 'Mongolia'),
(157, 'Podgorica', 'me', 'Europe', 'Montenegro'),
(158, 'Little Bay, Brades, Plymouth', 'ms', 'North America', 'Montserrat'),
(159, 'Rabat', 'ma', 'Africa', 'Morocco'),
(160, 'Maputo', 'mz', 'Africa', 'Mozambique'),
(161, 'Naypyidaw', 'mm', 'Asia', 'Myanmar'),
(162, 'Windhoek', 'na', 'Africa', 'Namibia'),
(163, 'Yaren District', 'nr', 'Oceania', 'Nauru'),
(164, 'Kathmandu', 'np', 'Asia', 'Nepal'),
(165, 'Amsterdam', 'nl', 'Europe', 'Netherlands'),
(166, 'Nouméa', 'nc', 'Oceania', 'New Caledonia'),
(167, 'Wellington', 'nz', 'Oceania', 'New Zealand'),
(168, 'Managua', 'ni', 'North America', 'Nicaragua'),
(169, 'Niamey', 'ne', 'Africa', 'Niger'),
(170, 'Abuja', 'ng', 'Africa', 'Nigeria'),
(171, 'Alofi', 'nu', 'Oceania', 'Niue'),
(172, 'Kingston', 'nf', 'Oceania', 'Norfolk Island'),
(173, 'Pyongyang', 'kp', 'Asia', 'North Korea'),
(174, 'Skopje', 'mk', 'Europe', 'North Macedonia'),
(175, 'Belfast', 'gb-nir', 'Europe', 'Northern Ireland'),
(176, 'Saipan', 'mp', 'Oceania', 'Northern Mariana Islands'),
(177, 'Oslo', 'no', 'Europe', 'Norway'),
(178, 'Muscat', 'om', 'Asia', 'Oman'),
(179, 'Islamabad', 'pk', 'Asia', 'Pakistan'),
(180, 'Ngerulmud', 'pw', 'Oceania', 'Palau'),
(181, 'Panama City', 'pa', 'North America', 'Panama'),
(182, 'Port Moresby', 'pg', 'Oceania', 'Papua New Guinea'),
(183, 'Asunción', 'py', 'South America', 'Paraguay'),
(184, 'Lima', 'pe', 'South America', 'Peru'),
(185, 'Manila', 'ph', 'Asia', 'Philippines'),
(186, 'Adamstown', 'pn', 'Oceania', 'Pitcairn'),
(187, 'Warsaw', 'pl', 'Europe', 'Poland'),
(188, 'Lisbon', 'pt', 'Europe', 'Portugal'),
(189, 'San Juan', 'pr', 'North America', 'Puerto Rico'),
(190, 'Doha', 'qa', 'Asia', 'Qatar'),
(191, 'Brazzaville', 'cg', 'Africa', 'Republic of the Congo'),
(192, 'Bucharest', 'ro', 'Europe', 'Romania'),
(193, 'Moscow', 'ru', 'Europe', 'Russia'),
(194, 'Kigali', 'rw', 'Africa', 'Rwanda'),
(195, 'Saint-Denis', 're', 'Africa', 'Réunion'),
(196, 'Gustavia', 'bl', 'North America', 'Saint Barthélemy'),
(197, 'Jamestown', 'sh', 'Africa', 'Saint Helena, Ascension and Tristan da Cunha'),
(198, 'Basseterre', 'kn', 'North America', 'Saint Kitts and Nevis'),
(199, 'Castries', 'lc', 'North America', 'Saint Lucia'),
(200, 'Marigot', 'mf', 'North America', 'Saint Martin'),
(201, 'Saint-Pierre', 'pm', 'North America', 'Saint Pierre and Miquelon'),
(202, 'Kingstown', 'vc', 'North America', 'Saint Vincent and the Grenadines'),
(203, 'Apia', 'ws', 'Oceania', 'Samoa'),
(204, 'San Marino', 'sm', 'Europe', 'San Marino'),
(205, 'São Tomé', 'st', 'Africa', 'Sao Tome and Principe'),
(206, 'Riyadh', 'sa', 'Asia', 'Saudi Arabia'),
(207, 'Edinburgh', 'gb-sct', 'Europe', 'Scotland'),
(208, 'Dakar', 'sn', 'Africa', 'Senegal'),
(209, 'Belgrade', 'rs', 'Europe', 'Serbia'),
(210, 'Victoria', 'sc', 'Africa', 'Seychelles'),
(211, 'Freetown', 'sl', 'Africa', 'Sierra Leone'),
(212, 'Singapore', 'sg', 'Asia', 'Singapore'),
(213, 'Philipsburg', 'sx', 'North America', 'Sint Maarten'),
(214, 'Bratislava', 'sk', 'Europe', 'Slovakia'),
(215, 'Ljubljana', 'si', 'Europe', 'Slovenia'),
(216, 'Honiara', 'sb', 'Oceania', 'Solomon Islands'),
(217, 'Mogadishu', 'so', 'Africa', 'Somalia'),
(218, 'Pretoria', 'za', 'Africa', 'South Africa'),
(219, 'King Edward Point', 'gs', 'Antarctica', 'South Georgia and the South Sandwich Islands'),
(220, 'Seoul', 'kr', 'Asia', 'South Korea'),
(221, 'Juba', 'ss', 'Africa', 'South Sudan'),
(222, 'Madrid', 'es', 'Europe', 'Spain'),
(223, 'Sri Jayawardenepura Kotte, Colombo', 'lk', 'Asia', 'Sri Lanka'),
(224, 'Ramallah', 'ps', 'Asia', 'State of Palestine'),
(225, 'Khartoum', 'sd', 'Africa', 'Sudan'),
(226, 'Paramaribo', 'sr', 'South America', 'Suriname'),
(227, 'Longyearbyen', 'sj', 'Europe', 'Svalbard and Jan Mayen'),
(228, 'Stockholm', 'se', 'Europe', 'Sweden'),
(229, 'Bern', 'ch', 'Europe', 'Switzerland'),
(230, 'Damascus', 'sy', 'Asia', 'Syria'),
(231, 'Taipei', 'tw', 'Asia', 'Taiwan'),
(232, 'Dushanbe', 'tj', 'Asia', 'Tajikistan'),
(233, 'Dodoma', 'tz', 'Africa', 'Tanzania'),
(234, 'Bangkok', 'th', 'Asia', 'Thailand'),
(235, 'Dili', 'tl', 'Asia', 'Timor-Leste'),
(236, 'Lomé', 'tg', 'Africa', 'Togo'),
(237, 'Nukunonu, Atafu,Tokelau', 'tk', 'Oceania', 'Tokelau'),
(238, 'Nukuʻalofa', 'to', 'Oceania', 'Tonga'),
(239, 'Port of Spain', 'tt', 'South America', 'Trinidad and Tobago'),
(240, '', 'ta', '', 'Tristan da Cunha'),
(241, 'Tunis', 'tn', 'Africa', 'Tunisia'),
(242, 'Ankara', 'tr', 'Asia', 'Turkey'),
(243, 'Ashgabat', 'tm', 'Asia', 'Turkmenistan'),
(244, 'Cockburn Town', 'tc', 'North America', 'Turks and Caicos Islands'),
(245, 'Funafuti', 'tv', 'Oceania', 'Tuvalu'),
(246, 'Kampala', 'ug', 'Africa', 'Uganda'),
(247, 'Kiev', 'ua', 'Europe', 'Ukraine'),
(248, 'Abu Dhabi', 'ae', 'Asia', 'United Arab Emirates'),
(249, 'London', 'gb', 'Europe', 'United Kingdom'),
(250, '', 'un', '', 'United Nations'),
(251, 'Washington, D.C.', 'um', 'North America', 'United States Minor Outlying Islands'),
(252, 'Washington, D.C.', 'us', 'North America', 'United States of America'),
(253, '', 'xx', '', 'Unknown'),
(254, 'Montevideo', 'uy', 'South America', 'Uruguay'),
(255, 'Tashkent', 'uz', 'Asia', 'Uzbekistan'),
(256, 'Port Vila', 'vu', 'Oceania', 'Vanuatu'),
(257, 'Caracas', 've', 'South America', 'Venezuela'),
(258, 'Hanoi', 'vn', 'Asia', 'Vietnam'),
(259, 'Road Town', 'vg', 'North America', 'Virgin Islands (British)'),
(260, 'Charlotte Amalie', 'vi', 'North America', 'Virgin Islands (U.S.)'),
(261, 'Cardiff', 'gb-wls', 'Europe', 'Wales'),
(262, 'Mata-Utu', 'wf', 'Oceania', 'Wallis and Futuna'),
(263, 'Laayoune', 'eh', 'Africa', 'Western Sahara'),
(264, 'Sana\'a', 'ye', 'Asia', 'Yemen'),
(265, 'Lusaka', 'zm', 'Africa', 'Zambia'),
(266, 'Harare', 'zw', 'Africa', 'Zimbabwe');

-- --------------------------------------------------------

--
-- Table structure for table `flutterwave_payments`
--

CREATE TABLE `flutterwave_payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `flutterwave_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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `front_details`
--

CREATE TABLE `front_details` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `language_setting_id` bigint(20) UNSIGNED DEFAULT NULL,
  `header_title` varchar(200) DEFAULT NULL,
  `header_description` text DEFAULT NULL,
  `image` varchar(200) DEFAULT NULL,
  `feature_with_image_heading` varchar(191) DEFAULT NULL,
  `review_heading` varchar(191) DEFAULT NULL,
  `feature_with_icon_heading` varchar(191) DEFAULT NULL,
  `comments_heading` varchar(191) DEFAULT NULL,
  `price_heading` varchar(191) DEFAULT NULL,
  `price_description` varchar(191) DEFAULT NULL,
  `faq_heading` varchar(191) DEFAULT NULL,
  `faq_description` text DEFAULT NULL,
  `contact_heading` text DEFAULT NULL,
  `footer_copyright_text` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `front_details`
--

INSERT INTO `front_details` (`id`, `language_setting_id`, `header_title`, `header_description`, `image`, `feature_with_image_heading`, `review_heading`, `feature_with_icon_heading`, `comments_heading`, `price_heading`, `price_description`, `faq_heading`, `faq_description`, `contact_heading`, `footer_copyright_text`, `created_at`, `updated_at`) VALUES
(1, 1, 'Restaurant POS software made simple!', 'Easily manage orders, menus, and tables in one place. Save time, reduce errors, and grow your business faster', NULL, 'Take Control of Your Restaurant', 'What Restaurant Owners Are Saying', 'Powerful Features Built to Elevate Your Restaurant Operations', NULL, 'Simple, Transparent Pricing', 'Get everything you need to manage your restaurant with one affordable plan.', 'Your questions, answered', 'Answers to the most frequently asked questions.', 'Contact', '© 2025 TableTrack. All Rights Reserved.', '2026-04-15 11:20:00', '2026-04-15 11:20:00');

-- --------------------------------------------------------

--
-- Table structure for table `front_faq_settings`
--

CREATE TABLE `front_faq_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `language_setting_id` bigint(20) UNSIGNED DEFAULT NULL,
  `question` text DEFAULT NULL,
  `answer` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `front_faq_settings`
--

INSERT INTO `front_faq_settings` (`id`, `language_setting_id`, `question`, `answer`, `created_at`, `updated_at`) VALUES
(1, 1, 'How can I contact customer support 1?', 'Our dedicated support team is available via email to assist you with any questions or technical issues.', NULL, NULL),
(2, 1, 'How can I contact customer support?', 'Our dedicated support team is available via email to assist you with any questions or technical issues.', NULL, NULL),
(3, 1, 'How can I contact customer support?', 'Our dedicated support team is available via email to assist you with any questions or technical issues.', NULL, NULL),
(4, 1, 'How can I contact customer support?', 'Our dedicated support team is available via email to assist you with any questions or technical issues.', NULL, NULL),
(5, 1, 'How can I contact customer support?', 'Our dedicated support team is available via email to assist you with any questions or technical issues.', NULL, NULL),
(6, 1, 'How can I contact customer support?', 'Our dedicated support team is available via email to assist you with any questions or technical issues.', NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `front_features`
--

CREATE TABLE `front_features` (
  `id` int(10) UNSIGNED NOT NULL,
  `language_setting_id` bigint(20) UNSIGNED DEFAULT NULL,
  `title` varchar(191) NOT NULL,
  `description` longtext DEFAULT NULL,
  `image` longtext DEFAULT NULL,
  `icon` longtext DEFAULT NULL,
  `type` enum('image','icon','task','bills','team','apps') NOT NULL DEFAULT 'image',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `front_features`
--

INSERT INTO `front_features` (`id`, `language_setting_id`, `title`, `description`, `image`, `icon`, `type`, `created_at`, `updated_at`) VALUES
(1, 1, 'Streamline Order Management', 'Never lose track of an order again. All your customer orders—from dine-in to takeout—are organized and easily accessible in one place.\n                                Speed up service and keep your kitchen running smoothly.', NULL, NULL, 'image', NULL, NULL),
(2, 1, 'Optimize Table Reservations', 'Maximize seating efficiency with real-time table tracking and reservations. Reduce wait times and ensure no table sits empty during peak hours, improving customer experience and turnover.', NULL, NULL, 'image', NULL, NULL),
(3, 1, 'Effortless Menu Management', 'Easily add, edit, or remove items from your menu on the go. Highlight specials, update prices, and keep everything in sync across all platforms, so your staff and customers always see the latest offerings.', NULL, NULL, 'image', NULL, NULL),
(4, 1, 'QR Code Menu', 'Contactless Ordering Made Easy', '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n                            class=\"bi bi-qr-code-scan text-skin-base dark:text-skin-base size-6\" viewBox=\"0 0 16 16\">\n                            <path\n                                d=\"M0 .5A.5.5 0 0 1 .5 0h3a.5.5 0 0 1 0 1H1v2.5a.5.5 0 0 1-1 0zm12 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V1h-2.5a.5.5 0 0 1-.5-.5M.5 12a.5.5 0 0 1 .5.5V15h2.5a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H15v-2.5a.5.5 0 0 1 .5-.5M4 4h1v1H4z\" />\n                            <path d=\"M7 2H2v5h5zM3 3h3v3H3zm2 8H4v1h1z\" />\n                            <path d=\"M7 9H2v5h5zm-4 1h3v3H3zm8-6h1v1h-1z\" />\n                            <path\n                                d=\"M9 2h5v5H9zm1 1v3h3V3zM8 8v2h1v1H8v1h2v-2h1v2h1v-1h2v-1h-3V8zm2 2H9V9h1zm4 2h-1v1h-2v1h3zm-4 2v-1H8v1z\" />\n                            <path d=\"M12 9h2V8h-2z\" />\n                        </svg>', 'bi-qr-code', 'icon', NULL, NULL),
(5, 1, 'Payment Gateway Integration', 'Fast, Secure, and Flexible Payments using Stripe and Razorpay', '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n                        class=\"bi bi-qr-code-scan text-skin-base dark:text-skin-base size-6\" viewBox=\"0 0 16 16\">\n                        <path\n                            d=\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm6.226 5.385c-.584 0-.937.164-.937.593 0 .468.607.674 1.36.93 1.228.415 2.844.963 2.851 2.993C11.5 11.868 9.924 13 7.63 13a7.7 7.7 0 0 1-3.009-.626V9.758c.926.506 2.095.88 3.01.88.617 0 1.058-.165 1.058-.671 0-.518-.658-.755-1.453-1.041C6.026 8.49 4.5 7.94 4.5 6.11 4.5 4.165 5.988 3 8.226 3a7.3 7.3 0 0 1 2.734.505v2.583c-.838-.45-1.896-.703-2.734-.703\" />\n                    </svg>', 'bi-credit-card', 'icon', NULL, NULL),
(6, 1, 'Staff Management', 'Separate login for every staff role with different permissions.', '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n                        class=\"bi bi-qr-code-scan text-skin-base dark:text-skin-base size-6\" viewBox=\"0 0 16 16\">\n                        <path\n                            d=\"M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1zm-7.978-1L7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002-.014.002zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4m3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0M6.936 9.28a6 6 0 0 0-1.23-.247A7 7 0 0 0 5 9c-4 0-5 3-5 4q0 1 1 1h4.216A2.24 2.24 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816M4.92 10A5.5 5.5 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4\" />\n                    </svg>', 'bi-people', 'icon', NULL, NULL),
(7, 1, 'POS (Point of Sale)', 'Complete POS Integration', '<svg class=\"size-6 transition duration-75 text-skin-base dark:text-skin-base\" fill=\"currentColor\"\n                        viewBox=\"0 -0.5 25 25\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n                        <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n                        <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n                        <g id=\"SVGRepo_iconCarrier\">\n                            <path fill-rule=\"evenodd\"\n                                d=\"M16,6 L20,6 C21.1045695,6 22,6.8954305 22,8 L22,16 C22,17.1045695 21.1045695,18 20,18 L16,18 L16,19.9411765 C16,21.0658573 15.1177541,22 14,22 L4,22 C2.88224586,22 2,21.0658573 2,19.9411765 L2,4.05882353 C2,2.93414267 2.88224586,2 4,2 L14,2 C15.1177541,2 16,2.93414267 16,4.05882353 L16,6 Z M20,11 L16,11 L16,16 L20,16 L20,11 Z M14,19.9411765 L14,4.05882353 C14,4.01396021 13.9868154,4 14,4 L4,4 C4.01318464,4 4,4.01396021 4,4.05882353 L4,19.9411765 C4,19.9860398 4.01318464,20 4,20 L14,20 C13.9868154,20 14,19.9860398 14,19.9411765 Z M5,19 L5,17 L7,17 L7,19 L5,19 Z M8,19 L8,17 L10,17 L10,19 L8,19 Z M11,19 L11,17 L13,17 L13,19 L11,19 Z M5,16 L5,14 L7,14 L7,16 L5,16 Z M8,16 L8,14 L10,14 L10,16 L8,16 Z M11,16 L11,14 L13,14 L13,16 L11,16 Z M13,5 L13,13 L5,13 L5,5 L13,5 Z M7,7 L7,11 L11,11 L11,7 L7,7 Z M20,9 L20,8 L16,8 L16,9 L20,9 Z\">\n                            </path>\n                        </g>\n                    </svg>', 'bi-pos', 'icon', NULL, NULL),
(8, 1, 'Custom Floor Plans', 'Design Your Restaurants Layout.', '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n                        class=\"bi bi-qr-code-scan text-skin-base dark:text-skin-base size-6\" viewBox=\"0 0 16 16\">\n                        <path\n                            d=\"M8.235 1.559a.5.5 0 0 0-.47 0l-7.5 4a.5.5 0 0 0 0 .882L3.188 8 .264 9.559a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882L12.813 8l2.922-1.559a.5.5 0 0 0 0-.882zm3.515 7.008L14.438 10 8 13.433 1.562 10 4.25 8.567l3.515 1.874a.5.5 0 0 0 .47 0zM8 9.433 1.562 6 8 2.567 14.438 6z\" />\n                    </svg>', 'bi-grid-3x3-gap', 'icon', NULL, NULL),
(9, 1, 'Kitchen Order Tickets (KOT)', 'Efficient Kitchen Workflow.', '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n                        class=\"bi bi-qr-code-scan text-skin-base dark:text-skin-base size-6\" viewBox=\"0 0 16 16\">\n                        <path\n                            d=\"M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5M11.5 4a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1z\" />\n                        <path\n                            d=\"M2.354.646a.5.5 0 0 0-.801.13l-.5 1A.5.5 0 0 0 1 2v13H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H15V2a.5.5 0 0 0-.053-.224l-.5-1a.5.5 0 0 0-.8-.13L13 1.293l-.646-.647a.5.5 0 0 0-.708 0L11 1.293l-.646-.647a.5.5 0 0 0-.708 0L9 1.293 8.354.646a.5.5 0 0 0-.708 0L7 1.293 6.354.646a.5.5 0 0 0-.708 0L5 1.293 4.354.646a.5.5 0 0 0-.708 0L3 1.293zm-.217 1.198.51.51a.5.5 0 0 0 .707 0L4 1.707l.646.647a.5.5 0 0 0 .708 0L6 1.707l.646.647a.5.5 0 0 0 .708 0L8 1.707l.646.647a.5.5 0 0 0 .708 0L10 1.707l.646.647a.5.5 0 0 0 .708 0L12 1.707l.646.647a.5.5 0 0 0 .708 0l.509-.51.137.274V15H2V2.118z\" />\n                    </svg>', 'bi-receipt', 'icon', NULL, NULL),
(10, 1, 'Bill Printing', 'Quick and Accurate Billing.', '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n                        class=\"bi bi-qr-code-scan text-skin-base dark:text-skin-base size-6\" viewBox=\"0 0 16 16\">\n                        <path d=\"M2.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1\" />\n                        <path\n                            d=\"M5 1a2 2 0 0 0-2 2v2H2a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h1v1a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-1h1a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-1V3a2 2 0 0 0-2-2zM4 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2H4zm1 5a2 2 0 0 0-2 2v1H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v-1a2 2 0 0 0-2-2zm7 2v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1\" />\n                    </svg>', 'bi-printer', 'icon', NULL, NULL),
(11, 1, 'Reports', 'Data-Driven Decisions.', '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-qr-code-scan text-skin-base dark:text-skin-base size-6\" viewBox=\"0 0 16 16\">\n                    <path fill-rule=\"evenodd\" d=\"M0 0h1v15h15v1H0zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5\"></path>\n                    </svg>', 'bi-arrow-right-circle-fill', 'icon', NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `front_review_settings`
--

CREATE TABLE `front_review_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `language_setting_id` bigint(20) UNSIGNED DEFAULT NULL,
  `reviews` text DEFAULT NULL,
  `reviewer_name` varchar(191) DEFAULT NULL,
  `reviewer_designation` varchar(191) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `front_review_settings`
--

INSERT INTO `front_review_settings` (`id`, `language_setting_id`, `reviews`, `reviewer_name`, `reviewer_designation`, `created_at`, `updated_at`) VALUES
(1, 1, '\" It has completely transformed how we operate. Managing orders, tables, and staff all from one platform has reduced our workload and made everything run more smoothly. \"', 'John Martin', 'Owner of Riverbend Bistro', NULL, NULL),
(2, 1, '\" The QR Code menu and payment integration have made a huge difference for us, especially after the pandemic. Customers love the ease, and we’ve seen faster table turnover.\"', 'Emily Thompson', 'Manager at Lakeside Grill', NULL, NULL),
(3, 1, '\" We are able to track every order in real time, keep our menu updated, and quickly manage payments. It is like having an extra set of hands in the restaurant.\"', 'Michael Scott', 'Owner of Downtown Eats', NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `global_currencies`
--

CREATE TABLE `global_currencies` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `currency_name` varchar(191) NOT NULL,
  `currency_symbol` varchar(191) NOT NULL,
  `currency_code` varchar(191) NOT NULL,
  `exchange_rate` decimal(16,2) DEFAULT NULL,
  `usd_price` decimal(16,2) DEFAULT NULL,
  `is_cryptocurrency` enum('yes','no') NOT NULL DEFAULT 'no',
  `currency_position` enum('left','right','left_with_space','right_with_space') NOT NULL DEFAULT 'left',
  `no_of_decimal` int(10) UNSIGNED NOT NULL DEFAULT 2,
  `thousand_separator` varchar(191) DEFAULT NULL,
  `decimal_separator` varchar(191) DEFAULT NULL,
  `status` enum('enable','disable') NOT NULL DEFAULT 'enable',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `global_currencies`
--

INSERT INTO `global_currencies` (`id`, `currency_name`, `currency_symbol`, `currency_code`, `exchange_rate`, `usd_price`, `is_cryptocurrency`, `currency_position`, `no_of_decimal`, `thousand_separator`, `decimal_separator`, `status`, `created_at`, `updated_at`, `deleted_at`) VALUES
(1, 'Dollars', '$', 'USD', NULL, NULL, 'no', 'left', 2, ',', '.', 'enable', '2026-04-15 11:19:46', '2026-04-15 11:19:46', NULL),
(2, 'Rupee', '₹', 'INR', NULL, NULL, 'no', 'left', 2, ',', '.', 'enable', '2026-04-15 11:19:46', '2026-04-15 11:19:46', NULL),
(3, 'Pounds', '£', 'GBP', NULL, NULL, 'no', 'left', 2, ',', '.', 'enable', '2026-04-15 11:19:46', '2026-04-15 11:19:46', NULL),
(4, 'Euros', '€', 'EUR', NULL, NULL, 'no', 'left', 2, ',', '.', 'enable', '2026-04-15 11:19:46', '2026-04-15 11:19:46', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `item_categories`
--

CREATE TABLE `item_categories` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED DEFAULT NULL,
  `category_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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `item_categories`
--

INSERT INTO `item_categories` (`id`, `branch_id`, `category_name`, `sort_order`, `created_at`, `updated_at`) VALUES
(1, 3, '{\"en\":\"agg\"}', 0, '2026-04-15 12:52:41', '2026-04-15 12:52:41'),
(2, 3, '{\"en\":\"biryani\"}', 0, '2026-05-12 16:35:59', '2026-05-12 16:35:59');

-- --------------------------------------------------------

--
-- Table structure for table `item_modifiers`
--

CREATE TABLE `item_modifiers` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `menu_item_id` bigint(20) UNSIGNED DEFAULT NULL,
  `menu_item_variation_id` bigint(20) UNSIGNED DEFAULT NULL,
  `modifier_group_id` bigint(20) UNSIGNED DEFAULT NULL,
  `is_required` tinyint(1) NOT NULL DEFAULT 0,
  `allow_multiple_selection` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `queue` varchar(191) NOT NULL,
  `payload` longtext NOT NULL,
  `attempts` tinyint(3) UNSIGNED NOT NULL,
  `reserved_at` int(10) UNSIGNED DEFAULT NULL,
  `available_at` int(10) UNSIGNED NOT NULL,
  `created_at` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(191) NOT NULL,
  `name` varchar(191) NOT NULL,
  `total_jobs` int(11) NOT NULL,
  `pending_jobs` int(11) NOT NULL,
  `failed_jobs` int(11) NOT NULL,
  `failed_job_ids` longtext NOT NULL,
  `options` mediumtext DEFAULT NULL,
  `cancelled_at` int(11) DEFAULT NULL,
  `created_at` int(11) NOT NULL,
  `finished_at` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `kots`
--

CREATE TABLE `kots` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED DEFAULT NULL,
  `kot_number` varchar(191) NOT NULL,
  `token_number` int(10) UNSIGNED DEFAULT NULL,
  `order_id` bigint(20) UNSIGNED NOT NULL,
  `order_type_id` bigint(20) UNSIGNED DEFAULT NULL,
  `transaction_id` varchar(191) DEFAULT NULL,
  `note` text DEFAULT NULL,
  `status` enum('pending_confirmation','in_kitchen','food_ready','served','cancelled') NOT NULL DEFAULT 'in_kitchen',
  `cancel_reason_id` bigint(20) UNSIGNED DEFAULT NULL,
  `cancel_reason_text` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `kots`
--

INSERT INTO `kots` (`id`, `branch_id`, `kot_number`, `token_number`, `order_id`, `order_type_id`, `transaction_id`, `note`, `status`, `cancel_reason_id`, `cancel_reason_text`, `created_at`, `updated_at`) VALUES
(1, 3, '1', NULL, 1, 8, NULL, '', 'served', NULL, NULL, '2026-04-15 12:56:59', '2026-04-15 12:58:15'),
(2, 3, '2', NULL, 4, 7, NULL, '', 'pending_confirmation', NULL, NULL, '2026-05-30 13:04:55', '2026-05-30 13:04:55'),
(3, 3, '3', NULL, 5, 7, NULL, '', 'pending_confirmation', NULL, NULL, '2026-05-30 13:05:52', '2026-05-30 13:05:52'),
(4, 3, '4', NULL, 8, 7, NULL, '', 'pending_confirmation', NULL, NULL, '2026-08-08 11:17:05', '2026-08-08 11:17:05');

-- --------------------------------------------------------

--
-- Table structure for table `kot_cancel_reasons`
--

CREATE TABLE `kot_cancel_reasons` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `restaurant_id` bigint(20) UNSIGNED DEFAULT NULL,
  `reason` varchar(191) NOT NULL,
  `cancel_order` tinyint(1) NOT NULL DEFAULT 0,
  `cancel_kot` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `kot_cancel_reasons`
--

INSERT INTO `kot_cancel_reasons` (`id`, `restaurant_id`, `reason`, `cancel_order`, `cancel_kot`, `created_at`, `updated_at`) VALUES
(1, 1, 'Customer changed their mind', 1, 0, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(2, 1, 'Customer requested to cancel', 1, 0, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(3, 1, 'Payment issues', 1, 0, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(4, 1, 'Customer no longer wants the order', 1, 0, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(5, 1, 'Ingredient not available', 0, 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(6, 1, 'Preparation time too long', 0, 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(7, 1, 'Quality issue with ingredients', 0, 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(8, 1, 'System error/Technical issue', 1, 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(9, 1, 'Restaurant closing early', 1, 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(10, 1, 'Other', 1, 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01');

-- --------------------------------------------------------

--
-- Table structure for table `kot_items`
--

CREATE TABLE `kot_items` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `kot_id` bigint(20) UNSIGNED NOT NULL,
  `order_item_id` bigint(20) UNSIGNED DEFAULT 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,
  `quantity` int(11) NOT NULL,
  `price` decimal(16,2) DEFAULT NULL,
  `amount` decimal(16,2) DEFAULT NULL,
  `is_free_item_from_stamp` tinyint(1) NOT NULL DEFAULT 0,
  `stamp_rule_id` bigint(20) UNSIGNED DEFAULT NULL,
  `discount_amount` decimal(16,2) DEFAULT 0.00,
  `is_discounted` tinyint(1) NOT NULL DEFAULT 0,
  `status` enum('pending','cooking','ready','cancelled') DEFAULT NULL,
  `cancel_reason_id` bigint(20) UNSIGNED DEFAULT NULL,
  `cancel_reason_text` text DEFAULT NULL,
  `cancelled_by` bigint(20) UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `kot_items`
--

INSERT INTO `kot_items` (`id`, `kot_id`, `order_item_id`, `transaction_id`, `menu_item_id`, `menu_item_variation_id`, `note`, `quantity`, `price`, `amount`, `is_free_item_from_stamp`, `stamp_rule_id`, `discount_amount`, `is_discounted`, `status`, `cancel_reason_id`, `cancel_reason_text`, `cancelled_by`, `created_at`, `updated_at`) VALUES
(1, 1, NULL, NULL, 1, NULL, NULL, 1, 10.00, 10.00, 0, NULL, 0.00, 0, 'ready', NULL, NULL, NULL, '2026-04-15 12:56:59', '2026-04-15 12:57:57'),
(2, 2, NULL, NULL, 1, NULL, NULL, 1, 10.00, 10.00, 0, NULL, 0.00, 0, NULL, NULL, NULL, NULL, '2026-05-30 13:04:55', '2026-05-30 13:04:55'),
(3, 2, NULL, NULL, 2, NULL, NULL, 1, 10.00, 10.00, 0, NULL, 0.00, 0, NULL, NULL, NULL, NULL, '2026-05-30 13:04:55', '2026-05-30 13:04:55'),
(4, 3, NULL, NULL, 1, NULL, NULL, 1, 10.00, 10.00, 0, NULL, 0.00, 0, NULL, NULL, NULL, NULL, '2026-05-30 13:05:52', '2026-05-30 13:05:52'),
(5, 4, NULL, NULL, 2, NULL, NULL, 1, 10.00, 10.00, 0, NULL, 0.00, 0, NULL, NULL, NULL, NULL, '2026-08-08 11:17:05', '2026-08-08 11:17:05');

-- --------------------------------------------------------

--
-- Table structure for table `kot_item_modifier_options`
--

CREATE TABLE `kot_item_modifier_options` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `kot_item_id` bigint(20) UNSIGNED NOT NULL,
  `modifier_option_id` bigint(20) UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `kot_places`
--

CREATE TABLE `kot_places` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `kot_places`
--

INSERT INTO `kot_places` (`id`, `printer_id`, `branch_id`, `name`, `type`, `is_active`, `is_default`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'Default Kitchen', 'food', 1, 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 2, 2, 'Default Kitchen', 'food', 1, 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 3, 3, 'Default Kitchen', 'food', 1, 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `kot_settings`
--

CREATE TABLE `kot_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `default_status_pos` enum('pending','cooking') DEFAULT 'pending',
  `default_status_customer` enum('pending','cooking') NOT NULL DEFAULT 'pending',
  `enable_item_level_status` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `kot_settings`
--

INSERT INTO `kot_settings` (`id`, `branch_id`, `default_status_pos`, `default_status_customer`, `enable_item_level_status`, `created_at`, `updated_at`) VALUES
(1, 1, 'pending', 'pending', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 'pending', 'pending', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 2, 'pending', 'pending', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 2, 'pending', 'pending', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 3, 'pending', 'pending', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `language_settings`
--

CREATE TABLE `language_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `language_code` varchar(191) NOT NULL,
  `language_name` varchar(191) NOT NULL,
  `flag_code` varchar(191) NOT NULL,
  `active` tinyint(1) NOT NULL DEFAULT 1,
  `is_rtl` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `language_settings`
--

INSERT INTO `language_settings` (`id`, `language_code`, `language_name`, `flag_code`, `active`, `is_rtl`, `created_at`, `updated_at`) VALUES
(1, 'en', 'English', 'gb', 1, 0, NULL, NULL),
(2, 'ar', 'Arabic', 'sa', 0, 1, NULL, NULL),
(3, 'de', 'German', 'de', 0, 0, NULL, NULL),
(4, 'es', 'Spanish', 'es', 0, 0, NULL, NULL),
(5, 'et', 'Estonian', 'et', 0, 0, NULL, NULL),
(6, 'fa', 'Farsi', 'ir', 0, 1, NULL, NULL),
(7, 'fr', 'French', 'fr', 0, 0, NULL, NULL),
(8, 'el', 'Greek', 'gr', 0, 0, NULL, NULL),
(9, 'it', 'Italian', 'it', 0, 0, NULL, NULL),
(10, 'nl', 'Dutch', 'nl', 0, 0, NULL, NULL),
(11, 'pl', 'Polish', 'pl', 0, 0, NULL, NULL),
(12, 'pt', 'Portuguese', 'pt', 0, 0, NULL, NULL),
(13, 'pt-br', 'Portuguese (Brazil)', 'br', 0, 0, NULL, NULL),
(14, 'ro', 'Romanian', 'ro', 0, 0, NULL, NULL),
(15, 'ru', 'Russian', 'ru', 0, 0, NULL, NULL),
(16, 'tr', 'Turkish', 'tr', 0, 0, NULL, NULL),
(17, 'zh-CN', 'Chinese (S)', 'cn', 0, 0, NULL, NULL),
(18, 'zh-TW', 'Chinese (T)', 'cn', 0, 0, NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `menus`
--

CREATE TABLE `menus` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `menus`
--

INSERT INTO `menus` (`id`, `branch_id`, `menu_name`, `sort_order`, `created_at`, `updated_at`) VALUES
(1, 3, '{\"en\":\"Break Fast\"}', 0, '2026-04-15 11:33:55', '2026-04-15 11:33:55'),
(2, 3, '{\"en\":\"Lunch\"}', 0, '2026-04-15 12:50:12', '2026-05-12 16:38:38'),
(3, 3, '{\"en\":\"Dinner\"}', 0, '2026-04-16 16:57:50', '2026-05-12 16:38:22');

-- --------------------------------------------------------

--
-- Table structure for table `menu_items`
--

CREATE TABLE `menu_items` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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,
  `sort_order` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `tax_inclusive` tinyint(1) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `menu_items`
--

INSERT INTO `menu_items` (`id`, `branch_id`, `kot_place_id`, `item_name`, `image`, `description`, `type`, `price`, `menu_id`, `item_category_id`, `created_at`, `updated_at`, `preparation_time`, `is_available`, `show_on_customer_site`, `in_stock`, `sort_order`, `tax_inclusive`) VALUES
(1, 3, NULL, 'fry', 'e1bf33d774ec36f1043379c11f619bf3.jpeg', NULL, 'veg', 10.00, 1, 1, '2026-04-15 12:54:04', '2026-04-15 12:54:04', 10, 1, 1, 1, 0, 0),
(2, 3, NULL, 'Biryani', 'f6d42863c8d799bf0738d0b26e748f4a.png', '', 'halal', 10.00, 3, 2, '2026-05-12 16:37:39', '2026-05-12 16:37:39', 10, 1, 1, 1, 0, 0),
(3, 3, NULL, 'Pizza', NULL, '', 'veg', 10.00, 2, 1, '2026-05-12 16:39:44', '2026-05-12 16:39:44', 10, 1, 1, 1, 0, 0);

-- --------------------------------------------------------

--
-- Table structure for table `menu_item_prices`
--

CREATE TABLE `menu_item_prices` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `menu_item_prices`
--

INSERT INTO `menu_item_prices` (`id`, `menu_item_id`, `order_type_id`, `delivery_app_id`, `menu_item_variation_id`, `calculated_price`, `override_price`, `final_price`, `status`, `created_at`, `updated_at`) VALUES
(1, 2, 7, NULL, NULL, 10.00, NULL, 10.00, 1, '2026-05-12 16:37:39', '2026-05-12 16:37:39'),
(2, 2, 8, NULL, NULL, 13.00, NULL, 13.00, 1, '2026-05-12 16:37:39', '2026-05-12 16:37:39'),
(3, 2, 9, NULL, NULL, 10.00, NULL, 10.00, 1, '2026-05-12 16:37:39', '2026-05-12 16:37:39'),
(4, 3, 7, NULL, NULL, 10.00, NULL, 10.00, 1, '2026-05-12 16:39:44', '2026-05-12 16:39:44'),
(5, 3, 8, NULL, NULL, 10.00, NULL, 10.00, 1, '2026-05-12 16:39:44', '2026-05-12 16:39:44'),
(6, 3, 9, NULL, NULL, 10.00, NULL, 10.00, 1, '2026-05-12 16:39:44', '2026-05-12 16:39:44');

-- --------------------------------------------------------

--
-- Table structure for table `menu_item_tax`
--

CREATE TABLE `menu_item_tax` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `menu_item_id` bigint(20) UNSIGNED NOT NULL,
  `tax_id` bigint(20) UNSIGNED NOT NULL
) 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,
  `menu_item_id` bigint(20) UNSIGNED NOT NULL,
  `locale` varchar(191) NOT NULL,
  `item_name` varchar(191) NOT NULL,
  `description` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `menu_item_translations`
--

INSERT INTO `menu_item_translations` (`id`, `menu_item_id`, `locale`, `item_name`, `description`) VALUES
(1, 1, 'en', 'fry', NULL),
(2, 2, 'en', 'Biryani', ''),
(3, 3, 'en', 'Pizza', '');

-- --------------------------------------------------------

--
-- Table structure for table `menu_item_variations`
--

CREATE TABLE `menu_item_variations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `variation` varchar(191) NOT NULL,
  `price` decimal(16,2) NOT NULL,
  `menu_item_id` bigint(20) UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `menu_table`
--

CREATE TABLE `menu_table` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `migrations`
--

CREATE TABLE `migrations` (
  `id` int(10) UNSIGNED NOT NULL,
  `migration` varchar(191) NOT NULL,
  `batch` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) 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);

-- --------------------------------------------------------

--
-- 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
) 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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `model_has_roles`
--

INSERT INTO `model_has_roles` (`role_id`, `model_type`, `model_id`) VALUES
(1, 'App\\Models\\User', 1),
(2, 'App\\Models\\User', 2),
(4, 'App\\Models\\User', 3),
(6, 'App\\Models\\User', 4),
(8, 'App\\Models\\User', 5);

-- --------------------------------------------------------

--
-- Table structure for table `modifier_groups`
--

CREATE TABLE `modifier_groups` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `modifier_group_translations`
--

CREATE TABLE `modifier_group_translations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `modifier_group_id` bigint(20) UNSIGNED NOT NULL,
  `locale` varchar(191) NOT NULL,
  `name` varchar(191) DEFAULT NULL,
  `description` text DEFAULT NULL
) 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,
  `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
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `modules`
--

CREATE TABLE `modules` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `modules`
--

INSERT INTO `modules` (`id`, `name`, `is_superadmin`, `created_at`, `updated_at`) VALUES
(1, 'Restaurants', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(2, 'Superadmin Payment', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(3, 'Packages', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(4, 'Billing', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(5, 'Offline Request', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(6, 'SuperAdmin', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(7, 'Landing Site', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(8, 'Superadmin Settings', 1, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(9, 'Menu', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(10, 'Menu Item', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(11, 'Item Category', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(12, 'Area', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(13, 'Table', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(14, 'Reservation', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(15, 'KOT', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(16, 'Order', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(17, 'Customer', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(18, 'Staff', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(19, 'Report', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(20, 'Delivery Executive', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(21, 'Waiter Request', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(22, 'Expense', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(23, 'Payment', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59'),
(24, 'Settings', 0, '2026-04-15 11:19:59', '2026-04-15 11:19:59');

-- --------------------------------------------------------

--
-- Table structure for table `mollie_payments`
--

CREATE TABLE `mollie_payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- 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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `notification_settings`
--

CREATE TABLE `notification_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `notification_settings`
--

INSERT INTO `notification_settings` (`id`, `restaurant_id`, `type`, `send_email`, `send_time`, `last_sent_at`, `created_at`, `updated_at`) VALUES
(1, 1, 'order_received', 1, NULL, NULL, NULL, NULL),
(2, 1, 'reservation_confirmed', 1, NULL, NULL, NULL, NULL),
(3, 1, 'new_reservation', 1, NULL, NULL, NULL, NULL),
(4, 1, 'order_bill_sent', 1, NULL, NULL, NULL, NULL),
(5, 1, 'staff_welcome', 1, NULL, NULL, NULL, NULL),
(6, 2, 'order_received', 1, NULL, NULL, NULL, NULL),
(7, 2, 'reservation_confirmed', 1, NULL, NULL, NULL, NULL),
(8, 2, 'new_reservation', 1, NULL, NULL, NULL, NULL),
(9, 2, 'order_bill_sent', 1, NULL, NULL, NULL, NULL),
(10, 2, 'staff_welcome', 1, NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `offline_payment_methods`
--

CREATE TABLE `offline_payment_methods` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `offline_payment_methods`
--

INSERT INTO `offline_payment_methods` (`id`, `restaurant_id`, `name`, `description`, `status`, `created_at`, `updated_at`) VALUES
(1, 1, 'cash', NULL, 'inactive', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 'bank_transfer', NULL, 'inactive', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 2, 'cash', NULL, 'inactive', '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(4, 2, 'bank_transfer', NULL, 'inactive', '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `offline_plan_changes`
--

CREATE TABLE `offline_plan_changes` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `onboarding_steps`
--

INSERT INTO `onboarding_steps` (`id`, `branch_id`, `add_area_completed`, `add_table_completed`, `add_menu_completed`, `add_menu_items_completed`, `created_at`, `updated_at`) VALUES
(1, 1, 0, 0, 0, 0, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 0, 0, 0, 0, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 2, 0, 0, 0, 0, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 2, 0, 0, 0, 0, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 3, 1, 1, 1, 1, '2026-04-15 11:31:45', '2026-04-15 12:54:05');

-- --------------------------------------------------------

--
-- Table structure for table `orders`
--

CREATE TABLE `orders` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `uuid` char(36) DEFAULT NULL,
  `branch_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') 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,
  `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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `orders`
--

INSERT INTO `orders` (`id`, `uuid`, `branch_id`, `order_number`, `formatted_order_number`, `date_time`, `table_id`, `customer_id`, `number_of_pax`, `order_note`, `waiter_id`, `waiter_response`, `waiter_notification_sent_at`, `waiter_response_at`, `added_by`, `cancelled_by`, `cancel_time`, `status`, `placed_via`, `sub_total`, `tip_amount`, `total_tax_amount`, `tax_base`, `tax_mode`, `tip_note`, `total`, `amount_paid`, `created_at`, `updated_at`, `order_type_id`, `delivery_app_id`, `custom_order_type_name`, `order_type`, `pickup_date`, `delivery_executive_id`, `delivery_address`, `delivery_time`, `estimated_delivery_time`, `split_type`, `discount_type`, `discount_value`, `discount_amount`, `order_status`, `delivery_fee`, `customer_lat`, `customer_lng`, `is_within_radius`, `delivery_started_at`, `delivered_at`, `estimated_eta_min`, `estimated_eta_max`, `cancel_reason_id`, `cancel_reason_text`, `reservation_id`, `loyalty_points_redeemed`, `loyalty_discount_amount`, `stamp_discount_amount`) VALUES
(1, '6f004540-924d-4211-8e92-3eb7cbb095e8', 3, '1', NULL, '2026-04-15 08:56:58', NULL, NULL, 1, NULL, 4, 'accepted', '2026-04-15 12:57:01', '2026-04-15 15:28:23', NULL, NULL, NULL, 'kot', 'pos', 10.00, 0.00, 0.00, 10.00, 'order', NULL, 25.00, 0.00, '2026-04-15 12:56:58', '2026-04-15 15:28:23', 8, NULL, 'Delivery', 'delivery', NULL, 1, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'food_ready', 15.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0.00, 0.00),
(2, '4fff2b26-e0b1-4e6b-93df-9aefba2ca831', 3, '2', NULL, '2026-04-15 08:59:01', 1, NULL, 1, NULL, 4, 'pending', NULL, NULL, 4, NULL, NULL, 'billed', 'pos', 10.00, 0.00, 0.00, 10.00, 'order', NULL, 10.00, 0.00, '2026-04-15 12:59:01', '2026-04-15 12:59:01', 7, NULL, 'Dine In', 'dine_in', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'confirmed', 0.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0.00, 0.00),
(3, 'ab2b51e1-3621-491d-bb83-a0a5f10f1871', 3, NULL, NULL, '2026-04-23 11:39:19', NULL, NULL, 1, NULL, 4, 'pending', NULL, NULL, NULL, NULL, NULL, 'draft', 'pos', 10.00, 0.00, 0.00, 10.00, 'order', NULL, 10.00, 0.00, '2026-04-23 15:39:19', '2026-04-23 15:39:19', 8, NULL, 'Delivery', 'delivery', NULL, 1, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'confirmed', 0.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0.00, 0.00),
(4, '1cd92388-00fb-4bd2-ba3e-fb4c8b3eb260', 3, '3', NULL, '2026-05-30 13:04:55', NULL, NULL, 1, NULL, 5, 'pending', '2026-05-30 13:05:00', NULL, NULL, NULL, NULL, 'kot', 'pos', 20.00, 0.00, 0.00, 20.00, 'order', NULL, 20.00, 0.00, '2026-05-30 13:04:55', '2026-05-30 13:05:00', 7, NULL, 'Dine In', 'dine_in', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'confirmed', 0.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0.00, 0.00),
(5, '7ae9c9ad-49e3-48bc-af8f-39f279f53ca5', 3, '4', NULL, '2026-05-30 13:05:51', NULL, NULL, 1, NULL, 4, 'pending', '2026-05-30 13:05:54', NULL, NULL, NULL, NULL, 'kot', 'pos', 10.00, 0.00, 0.00, 10.00, 'order', NULL, 10.00, 0.00, '2026-05-30 13:05:52', '2026-05-30 13:05:54', 7, NULL, 'Dine In', 'dine_in', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'confirmed', 0.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0.00, 0.00),
(6, 'a2311aa2-3092-4a62-9c69-7c6ed92cac59', 3, '5', NULL, '2026-07-01 08:19:58', NULL, NULL, 1, NULL, 4, 'pending', NULL, NULL, 4, 4, '2026-07-01 08:20:20', 'canceled', 'pos', 10.00, 0.00, 0.00, 10.00, 'order', NULL, 10.00, 0.00, '2026-07-01 08:19:59', '2026-07-01 08:20:20', 7, NULL, 'Dine In', 'dine_in', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'cancelled', 0.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 'bs ese ie ', NULL, 0, 0.00, 0.00),
(7, '91d25f3d-fde5-468e-9f46-826c0221f93c', 3, '6', NULL, '2026-07-02 08:41:41', NULL, NULL, 1, NULL, 4, 'pending', NULL, NULL, 4, NULL, NULL, 'billed', 'pos', 20.00, 0.00, 0.00, 20.00, 'order', NULL, 20.00, 0.00, '2026-07-02 08:41:41', '2026-07-02 08:41:41', 7, NULL, 'Dine In', 'dine_in', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'confirmed', 0.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0.00, 0.00),
(8, '8971054d-95d4-435e-a683-01a6bdf6c48a', 3, '7', NULL, '2026-08-08 07:17:05', NULL, NULL, 1, NULL, 4, 'pending', '2026-08-08 11:17:11', NULL, NULL, NULL, NULL, 'kot', 'pos', 10.00, 0.00, 0.00, 10.00, 'order', NULL, 10.00, 0.00, '2026-08-08 11:17:05', '2026-08-08 11:17:11', 7, NULL, 'Dine In', 'dine_in', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0.00, 0.00, 'confirmed', 0.00, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0.00, 0.00);

-- --------------------------------------------------------

--
-- Table structure for table `order_cash_collections`
--

CREATE TABLE `order_cash_collections` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `order_cash_collections`
--

INSERT INTO `order_cash_collections` (`id`, `branch_id`, `order_id`, `delivery_executive_id`, `expected_amount`, `collected_amount`, `status`, `notes`, `recorded_at`, `submitted_at`, `settled_at`, `settled_by`, `created_at`, `updated_at`) VALUES
(1, 3, 1, 1, 25.00, NULL, 'pending_collection', NULL, NULL, NULL, NULL, NULL, '2026-04-15 12:56:58', '2026-04-15 12:56:58'),
(2, 3, 3, 1, 10.00, NULL, 'pending_collection', NULL, NULL, NULL, NULL, NULL, '2026-04-23 15:39:19', '2026-04-23 15:39:19');

-- --------------------------------------------------------

--
-- Table structure for table `order_charges`
--

CREATE TABLE `order_charges` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `order_id` bigint(20) UNSIGNED NOT NULL,
  `charge_id` bigint(20) UNSIGNED NOT NULL
) 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,
  `order_id` bigint(20) UNSIGNED NOT NULL,
  `status` varchar(191) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `order_items`
--

INSERT INTO `order_items` (`id`, `branch_id`, `order_id`, `transaction_id`, `menu_item_id`, `menu_item_variation_id`, `note`, `is_free_item_from_stamp`, `stamp_rule_id`, `quantity`, `price`, `amount`, `tax_amount`, `tax_percentage`, `tax_breakup`, `created_at`, `updated_at`) VALUES
(1, 3, 2, NULL, 1, NULL, NULL, 0, NULL, 1, 10.00, 10.00, 0.00, 0.0000, NULL, '2026-04-15 12:59:01', '2026-04-15 12:59:01'),
(2, 3, 3, NULL, 1, NULL, NULL, 0, NULL, 1, 10.00, 10.00, 0.00, 0.0000, NULL, '2026-04-23 15:39:19', '2026-04-23 15:39:19'),
(3, 3, 6, NULL, 1, NULL, NULL, 0, NULL, 1, 10.00, 10.00, 0.00, 0.0000, NULL, '2026-07-01 08:19:59', '2026-07-01 08:19:59'),
(4, 3, 7, NULL, 1, NULL, NULL, 0, NULL, 1, 10.00, 10.00, 0.00, 0.0000, NULL, '2026-07-02 08:41:41', '2026-07-02 08:41:41'),
(5, 3, 7, NULL, 2, NULL, NULL, 0, NULL, 1, 10.00, 10.00, 0.00, 0.0000, NULL, '2026-07-02 08:41:41', '2026-07-02 08:41:41');

-- --------------------------------------------------------

--
-- Table structure for table `order_item_modifier_options`
--

CREATE TABLE `order_item_modifier_options` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `order_notification_settings`
--

CREATE TABLE `order_notification_settings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `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
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `order_places`
--

INSERT INTO `order_places` (`id`, `printer_id`, `branch_id`, `name`, `type`, `is_active`, `is_default`, `created_at`, `updated_at`) VALUES
(1, NULL, 1, 'Default POS Terminal', 'vegetarian', 1, 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, NULL, 2, 'Default POS Terminal', 'vegetarian', 1, 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, NULL, 3, 'Default POS Terminal', 'vegetarian', 1, 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `order_taxes`
--

CREATE TABLE `order_taxes` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `order_id` bigint(20) UNSIGNED NOT NULL,
  `tax_id` bigint(20) UNSIGNED NOT NULL
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `order_types`
--

INSERT INTO `order_types` (`id`, `branch_id`, `order_type_name`, `slug`, `is_active`, `is_default`, `enable_token_number`, `show_order_number_on_board`, `enable_from_customer_site`, `type`, `created_at`, `updated_at`) VALUES
(1, 1, 'Dine In', 'dine_in', 1, 1, 0, 0, 1, 'dine_in', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 'Delivery', 'delivery', 1, 1, 0, 0, 1, 'delivery', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 1, 'Pickup', 'pickup', 1, 1, 0, 0, 1, 'pickup', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 2, 'Dine In', 'dine_in', 1, 1, 0, 0, 1, 'dine_in', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 2, 'Delivery', 'delivery', 1, 1, 0, 0, 1, 'delivery', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(6, 2, 'Pickup', 'pickup', 1, 1, 0, 0, 1, 'pickup', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(7, 3, 'Dine In', 'dine_in', 1, 1, 0, 0, 1, 'dine_in', '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(8, 3, 'Delivery', 'delivery', 1, 1, 0, 0, 1, 'delivery', '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(9, 3, 'Pickup', 'pickup', 1, 1, 0, 0, 1, 'pickup', '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `packages`
--

CREATE TABLE `packages` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `packages`
--

INSERT INTO `packages` (`id`, `package_name`, `price`, `created_at`, `updated_at`, `currency_id`, `description`, `annual_price`, `monthly_price`, `monthly_status`, `annual_status`, `stripe_annual_plan_id`, `stripe_monthly_plan_id`, `razorpay_annual_plan_id`, `razorpay_monthly_plan_id`, `flutterwave_annual_plan_id`, `flutterwave_monthly_plan_id`, `paystack_annual_plan_id`, `paystack_monthly_plan_id`, `xendit_annual_plan_id`, `xendit_monthly_plan_id`, `paddle_annual_price_id`, `paddle_monthly_price_id`, `paddle_lifetime_price_id`, `stripe_lifetime_plan_id`, `razorpay_lifetime_plan_id`, `billing_cycle`, `sort_order`, `is_private`, `is_free`, `is_recommended`, `package_type`, `trial_status`, `trial_days`, `trial_notification_before_days`, `trial_message`, `additional_features`, `branch_limit`, `multipos_limit`, `menu_items_limit`, `order_limit`, `staff_limit`, `ai_monthly_token_limit`, `sms_count`, `carry_forward_sms`) VALUES
(1, 'Default', 0.00, '2026-04-15 11:19:59', '2026-04-15 11:19:59', 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-04-15 11:19:59', '2026-04-15 11:19:59', 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-04-15 11:20:00', '2026-04-15 11:20: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-04-15 11:20:00', '2026-04-15 11:20: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-04-15 11:20:00', '2026-04-15 11:20: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 `package_modules`
--

CREATE TABLE `package_modules` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `package_modules`
--

INSERT INTO `package_modules` (`id`, `package_id`, `module_id`, `created_at`, `updated_at`) 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);

-- --------------------------------------------------------

--
-- Table structure for table `payfast_payments`
--

CREATE TABLE `payfast_payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `payments`
--

CREATE TABLE `payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `paypal_payments`
--

CREATE TABLE `paypal_payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `permissions`
--

CREATE TABLE `permissions` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `permissions`
--

INSERT INTO `permissions` (`id`, `name`, `guard_name`, `module_id`, `created_at`, `updated_at`) VALUES
(1, 'Create Restaurant', 'web', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 'Show Restaurant', 'web', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 'Update Restaurant', 'web', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 'Delete Restaurant', 'web', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 'Show Superadmin Payments', 'web', 2, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(6, 'Create Package', 'web', 3, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(7, 'Show Package', 'web', 3, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(8, 'Update Package', 'web', 3, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(9, 'Delete Package', 'web', 3, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(10, 'Show Billing', 'web', 4, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(11, 'Show Offline Request', 'web', 5, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(12, 'Create SuperAdmin', 'web', 6, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(13, 'Show SuperAdmin', 'web', 6, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(14, 'Update SuperAdmin', 'web', 6, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(15, 'Delete SuperAdmin', 'web', 6, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(16, 'Show Landing Site', 'web', 7, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(17, 'Manage Superadmin Settings', 'web', 8, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(18, 'Create Menu', 'web', 9, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(19, 'Show Menu', 'web', 9, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(20, 'Update Menu', 'web', 9, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(21, 'Delete Menu', 'web', 9, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(22, 'Create Menu Item', 'web', 10, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(23, 'Show Menu Item', 'web', 10, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(24, 'Update Menu Item', 'web', 10, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(25, 'Delete Menu Item', 'web', 10, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(26, 'Export Menu Item', 'web', 10, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(27, 'Create Item Category', 'web', 11, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(28, 'Show Item Category', 'web', 11, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(29, 'Update Item Category', 'web', 11, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(30, 'Delete Item Category', 'web', 11, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(31, 'Create Area', 'web', 12, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(32, 'Show Area', 'web', 12, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(33, 'Update Area', 'web', 12, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(34, 'Delete Area', 'web', 12, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(35, 'Create Table', 'web', 13, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(36, 'Show Table', 'web', 13, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(37, 'Update Table', 'web', 13, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(38, 'Delete Table', 'web', 13, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(39, 'Create Reservation', 'web', 14, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(40, 'Show Reservation', 'web', 14, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(41, 'Update Reservation', 'web', 14, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(42, 'Delete Reservation', 'web', 14, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(43, 'Manage KOT', 'web', 15, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(44, 'Create Order', 'web', 16, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(45, 'Show Order', 'web', 16, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(46, 'Update Order', 'web', 16, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(47, 'Delete Order', 'web', 16, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(48, 'Add Discount on POS', 'web', 16, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(49, 'Create Customer', 'web', 17, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(50, 'Show Customer', 'web', 17, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(51, 'Update Customer', 'web', 17, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(52, 'Delete Customer', 'web', 17, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(53, 'Create Staff Member', 'web', 18, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(54, 'Show Staff Member', 'web', 18, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(55, 'Update Staff Member', 'web', 18, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(56, 'Delete Staff Member', 'web', 18, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(57, 'Create Delivery Executive', 'web', 20, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(58, 'Show Delivery Executive', 'web', 20, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(59, 'Update Delivery Executive', 'web', 20, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(60, 'Delete Delivery Executive', 'web', 20, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(61, 'Show Payments', 'web', 23, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(62, 'Refund Payments', 'web', 23, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(63, 'Show Reports', 'web', 19, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(64, 'Manage Settings', 'web', 24, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(65, 'Show Restaurant Open/Close', 'web', 24, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(66, 'Manage Waiter Request', 'web', 21, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(67, 'Create Expense', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(68, 'Show Expense', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(69, 'Update Expense', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(70, 'Delete Expense', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(71, 'Create Expense Category', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(72, 'Show Expense Category', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(73, 'Update Expense Category', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(74, 'Delete Expense Category', 'web', 22, '2026-04-15 11:20:00', '2026-04-15 11:20:00');

-- --------------------------------------------------------

--
-- Table structure for table `predefined_amounts`
--

CREATE TABLE `predefined_amounts` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `predefined_amounts`
--

INSERT INTO `predefined_amounts` (`id`, `restaurant_id`, `amount`, `created_at`, `updated_at`) VALUES
(1, 1, 50.00, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 100.00, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 1, 500.00, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 1, 1000.00, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 2, 50.00, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(6, 2, 100.00, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(7, 2, 500.00, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(8, 2, 1000.00, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `printers`
--

CREATE TABLE `printers` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `printers`
--

INSERT INTO `printers` (`id`, `restaurant_id`, `branch_id`, `name`, `printing_choice`, `print_type`, `kots`, `orders`, `print_format`, `invoice_qr_code`, `open_cash_drawer`, `share_name`, `type`, `is_active`, `is_default`, `printer_name`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'Default Printer', 'browserPopupPrint', 'image', '[1]', '[1]', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 2, 'Default Printer', 'browserPopupPrint', 'image', '[2]', '[2]', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 2, 3, 'Default Printer', 'browserPopupPrint', 'image', '[3]', '[3]', NULL, NULL, NULL, NULL, NULL, 1, 1, NULL, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `print_jobs`
--

CREATE TABLE `print_jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `razorpay_payments`
--

CREATE TABLE `razorpay_payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `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,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `receipt_settings`
--

INSERT INTO `receipt_settings` (`id`, `restaurant_id`, `branch_id`, `show_customer_name`, `show_customer_address`, `show_customer_phone`, `show_table_number`, `payment_qr_code`, `show_payment_qr_code`, `show_waiter`, `show_total_guest`, `show_restaurant_logo`, `show_restaurant_name`, `show_branch_name`, `show_branch_address`, `show_cr_number`, `show_vat_number`, `show_tax`, `show_payment_details`, `show_payment_status`, `show_order_type`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 2, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 2, 3, 0, 0, 0, 0, NULL, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `refunds`
--

CREATE TABLE `refunds` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `branch_id` bigint(20) UNSIGNED NOT NULL,
  `reason` text NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `refund_reasons`
--

INSERT INTO `refund_reasons` (`id`, `branch_id`, `reason`, `created_at`, `updated_at`) VALUES
(1, 1, 'The item was prepared but returned by the customer.', '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(2, 1, 'The item was delivered but rejected.', '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(3, 1, 'A mistake in the order.', '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(4, 1, 'Product quality issue.', '2026-04-15 11:20:01', '2026-04-15 11:20:01');

-- --------------------------------------------------------

--
-- Table structure for table `reservations`
--

CREATE TABLE `reservations` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `reservation_settings`
--

INSERT INTO `reservation_settings` (`id`, `branch_id`, `day_of_week`, `time_slot_start`, `time_slot_end`, `time_slot_difference`, `slot_type`, `available`, `created_at`, `updated_at`) VALUES
(1, 1, 'Monday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 'Monday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 1, 'Monday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 1, 'Tuesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(5, 1, 'Tuesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(6, 1, 'Tuesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(7, 1, 'Wednesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(8, 1, 'Wednesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(9, 1, 'Wednesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(10, 1, 'Thursday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(11, 1, 'Thursday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(12, 1, 'Thursday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(13, 1, 'Friday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(14, 1, 'Friday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(15, 1, 'Friday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(16, 1, 'Saturday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(17, 1, 'Saturday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(18, 1, 'Saturday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(19, 1, 'Sunday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(20, 1, 'Sunday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(21, 1, 'Sunday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(22, 2, 'Monday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(23, 2, 'Monday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(24, 2, 'Monday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(25, 2, 'Tuesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(26, 2, 'Tuesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(27, 2, 'Tuesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(28, 2, 'Wednesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(29, 2, 'Wednesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(30, 2, 'Wednesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(31, 2, 'Thursday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(32, 2, 'Thursday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(33, 2, 'Thursday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(34, 2, 'Friday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(35, 2, 'Friday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(36, 2, 'Friday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(37, 2, 'Saturday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(38, 2, 'Saturday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(39, 2, 'Saturday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(40, 2, 'Sunday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(41, 2, 'Sunday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(42, 2, 'Sunday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(43, 1, 'Monday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(44, 1, 'Monday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(45, 1, 'Monday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(46, 1, 'Tuesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(47, 1, 'Tuesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(48, 1, 'Tuesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(49, 1, 'Wednesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(50, 1, 'Wednesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(51, 1, 'Wednesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(52, 1, 'Thursday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(53, 1, 'Thursday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(54, 1, 'Thursday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(55, 1, 'Friday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(56, 1, 'Friday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(57, 1, 'Friday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(58, 1, 'Saturday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(59, 1, 'Saturday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(60, 1, 'Saturday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(61, 1, 'Sunday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(62, 1, 'Sunday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(63, 1, 'Sunday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:20:01', '2026-04-15 11:20:01'),
(64, 3, 'Monday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(65, 3, 'Monday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(66, 3, 'Monday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(67, 3, 'Tuesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(68, 3, 'Tuesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(69, 3, 'Tuesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(70, 3, 'Wednesday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(71, 3, 'Wednesday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(72, 3, 'Wednesday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(73, 3, 'Thursday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(74, 3, 'Thursday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(75, 3, 'Thursday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(76, 3, 'Friday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(77, 3, 'Friday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(78, 3, 'Friday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(79, 3, 'Saturday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(80, 3, 'Saturday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(81, 3, 'Saturday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(82, 3, 'Sunday', '08:00:00', '11:00:00', 30, 'Breakfast', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(83, 3, 'Sunday', '12:00:00', '17:00:00', 60, 'Lunch', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45'),
(84, 3, 'Sunday', '18:00:00', '22:00:00', 60, 'Dinner', 1, '2026-04-15 11:31:45', '2026-04-15 11:31:45');

-- --------------------------------------------------------

--
-- Table structure for table `restaurant_charges`
--

CREATE TABLE `restaurant_charges` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `roles`
--

CREATE TABLE `roles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `roles`
--

INSERT INTO `roles` (`id`, `name`, `display_name`, `guard_name`, `created_at`, `updated_at`, `restaurant_id`) VALUES
(1, 'Super Admin', 'Super Admin', 'web', '2026-04-15 11:20:00', '2026-04-15 11:20:00', NULL),
(2, 'Admin_1', 'Admin', 'web', '2026-04-15 11:20:00', '2026-04-15 11:20:00', 1),
(3, 'Branch Head_1', 'Branch Head', 'web', '2026-04-15 11:20:00', '2026-04-15 11:20:00', 1),
(4, 'Waiter_1', 'Waiter', 'web', '2026-04-15 11:20:00', '2026-04-15 11:20:00', 1),
(5, 'Chef_1', 'Chef', 'web', '2026-04-15 11:20:00', '2026-04-15 11:20:00', 1),
(6, 'Admin_2', 'Admin', 'web', '2026-04-15 11:31:45', '2026-04-15 11:31:45', 2),
(7, 'Branch Head_2', 'Branch Head', 'web', '2026-04-15 11:31:45', '2026-04-15 11:31:45', 2),
(8, 'Waiter_2', 'Waiter', 'web', '2026-04-15 11:31:45', '2026-04-15 11:31:45', 2),
(9, 'Chef_2', 'Chef', 'web', '2026-04-15 11:31:45', '2026-04-15 11:31:45', 2);

-- --------------------------------------------------------

--
-- 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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `role_has_permissions`
--

INSERT INTO `role_has_permissions` (`permission_id`, `role_id`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 1),
(5, 1),
(6, 1),
(7, 1),
(8, 1),
(9, 1),
(10, 1),
(11, 1),
(12, 1),
(13, 1),
(14, 1),
(15, 1),
(16, 1),
(17, 1),
(18, 2),
(19, 2),
(20, 2),
(21, 2),
(22, 2),
(23, 2),
(24, 2),
(25, 2),
(26, 2),
(27, 2),
(28, 2),
(29, 2),
(30, 2),
(31, 2),
(32, 2),
(33, 2),
(34, 2),
(35, 2),
(36, 2),
(37, 2),
(38, 2),
(39, 2),
(40, 2),
(41, 2),
(42, 2),
(43, 2),
(44, 2),
(45, 2),
(46, 2),
(47, 2),
(48, 2),
(49, 2),
(50, 2),
(51, 2),
(52, 2),
(53, 2),
(54, 2),
(55, 2),
(56, 2),
(57, 2),
(58, 2),
(59, 2),
(60, 2),
(61, 2),
(62, 2),
(63, 2),
(64, 2),
(65, 2),
(66, 2),
(67, 2),
(68, 2),
(69, 2),
(70, 2),
(71, 2),
(72, 2),
(73, 2),
(74, 2),
(18, 3),
(19, 3),
(20, 3),
(21, 3),
(22, 3),
(23, 3),
(24, 3),
(25, 3),
(26, 3),
(27, 3),
(28, 3),
(29, 3),
(30, 3),
(31, 3),
(32, 3),
(33, 3),
(34, 3),
(35, 3),
(36, 3),
(37, 3),
(38, 3),
(39, 3),
(40, 3),
(41, 3),
(42, 3),
(43, 3),
(44, 3),
(45, 3),
(46, 3),
(47, 3),
(48, 3),
(49, 3),
(50, 3),
(51, 3),
(52, 3),
(53, 3),
(54, 3),
(55, 3),
(56, 3),
(57, 3),
(58, 3),
(59, 3),
(60, 3),
(61, 3),
(62, 3),
(63, 3),
(64, 3),
(65, 3),
(66, 3),
(67, 3),
(68, 3),
(69, 3),
(70, 3),
(71, 3),
(72, 3),
(73, 3),
(74, 3),
(1, 6),
(2, 6),
(3, 6),
(4, 6),
(5, 6),
(6, 6),
(7, 6),
(8, 6),
(9, 6),
(10, 6),
(11, 6),
(12, 6),
(13, 6),
(14, 6),
(15, 6),
(16, 6),
(17, 6),
(18, 6),
(19, 6),
(20, 6),
(21, 6),
(22, 6),
(23, 6),
(24, 6),
(25, 6),
(26, 6),
(27, 6),
(28, 6),
(29, 6),
(30, 6),
(31, 6),
(32, 6),
(33, 6),
(34, 6),
(35, 6),
(36, 6),
(37, 6),
(38, 6),
(39, 6),
(40, 6),
(41, 6),
(42, 6),
(43, 6),
(44, 6),
(45, 6),
(46, 6),
(47, 6),
(48, 6),
(49, 6),
(50, 6),
(51, 6),
(52, 6),
(53, 6),
(54, 6),
(55, 6),
(56, 6),
(57, 6),
(58, 6),
(59, 6),
(60, 6),
(61, 6),
(62, 6),
(63, 6),
(64, 6),
(65, 6),
(66, 6),
(67, 6),
(68, 6),
(69, 6),
(70, 6),
(71, 6),
(72, 6),
(73, 6),
(74, 6),
(1, 7),
(2, 7),
(3, 7),
(4, 7),
(5, 7),
(6, 7),
(7, 7),
(8, 7),
(9, 7),
(10, 7),
(11, 7),
(12, 7),
(13, 7),
(14, 7),
(15, 7),
(16, 7),
(17, 7),
(18, 7),
(19, 7),
(20, 7),
(21, 7),
(22, 7),
(23, 7),
(24, 7),
(25, 7),
(26, 7),
(27, 7),
(28, 7),
(29, 7),
(30, 7),
(31, 7),
(32, 7),
(33, 7),
(34, 7),
(35, 7),
(36, 7),
(37, 7),
(38, 7),
(39, 7),
(40, 7),
(41, 7),
(42, 7),
(43, 7),
(44, 7),
(45, 7),
(46, 7),
(47, 7),
(48, 7),
(49, 7),
(50, 7),
(51, 7),
(52, 7),
(53, 7),
(54, 7),
(55, 7),
(56, 7),
(57, 7),
(58, 7),
(59, 7),
(60, 7),
(61, 7),
(62, 7),
(63, 7),
(64, 7),
(65, 7),
(66, 7),
(67, 7),
(68, 7),
(69, 7),
(70, 7),
(71, 7),
(72, 7),
(73, 7),
(74, 7);

-- --------------------------------------------------------

--
-- 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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `sessions`
--

INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES
('zPZGMdE4DG5gvFd7ayvkl2T8SyB39jLGdeCSHWkX', 4, '153.117.28.39', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36', 'YToyMTp7czo2OiJfdG9rZW4iO3M6NDA6IkFCNk84OWF2dDBPYm83QU9oTmthZloycjk4M3FhWDR6NlFDTnVoQWgiO3M6MjA6ImNoZWNrX21pZ3JhdGVfc3RhdHVzIjtzOjQ6Ikdvb2QiO3M6MTU6ImN1c3RvbWVyX2lzX3J0bCI7aTowO3M6NDoidXNlciI7TzoxNToiQXBwXE1vZGVsc1xVc2VyIjozNjp7czoxMzoiACoAY29ubmVjdGlvbiI7czo1OiJteXNxbCI7czo4OiIAKgB0YWJsZSI7czo1OiJ1c2VycyI7czoxMzoiACoAcHJpbWFyeUtleSI7czoyOiJpZCI7czoxMDoiACoAa2V5VHlwZSI7czozOiJpbnQiO3M6MTI6ImluY3JlbWVudGluZyI7YjoxO3M6NzoiACoAd2l0aCI7YTowOnt9czoxMjoiACoAd2l0aENvdW50IjthOjA6e31zOjE5OiJwcmV2ZW50c0xhenlMb2FkaW5nIjtiOjA7czoxMDoiACoAcGVyUGFnZSI7aToxNTtzOjY6ImV4aXN0cyI7YjoxO3M6MTg6Indhc1JlY2VudGx5Q3JlYXRlZCI7YjowO3M6Mjg6IgAqAGVzY2FwZVdoZW5DYXN0aW5nVG9TdHJpbmciO2I6MDtzOjEzOiIAKgBhdHRyaWJ1dGVzIjthOjI0OntzOjI6ImlkIjtpOjQ7czoxMzoicmVzdGF1cmFudF9pZCI7aToyO3M6OToiYnJhbmNoX2lkIjtpOjM7czo0OiJuYW1lIjtzOjU6IlVtYWlyIjtzOjU6ImVtYWlsIjtzOjEzOiJ0ZXN0QHRlc3QuY29tIjtzOjEyOiJwaG9uZV9udW1iZXIiO3M6OToiMTIzNDU2Nzg5IjtzOjEwOiJwaG9uZV9jb2RlIjtzOjI6IjkyIjtzOjI2OiJ0ZXJtc19hbmRfcHJpdmFjeV9hY2NlcHRlZCI7aTowO3M6MjU6Im1hcmtldGluZ19lbWFpbHNfYWNjZXB0ZWQiO2k6MDtzOjE3OiJlbWFpbF92ZXJpZmllZF9hdCI7TjtzOjg6InBhc3N3b3JkIjtzOjYwOiIkMnkkMTIkanRNcnFkUVFEbmViUHpVeFFYZkdIZThoT0thSmdvV2JSZzFNWmpEV01MaGRQQ1hzSzRMTVciO3M6MTc6InR3b19mYWN0b3Jfc2VjcmV0IjtOO3M6MjU6InR3b19mYWN0b3JfcmVjb3ZlcnlfY29kZXMiO047czoyMzoidHdvX2ZhY3Rvcl9jb25maXJtZWRfYXQiO047czoxNDoicmVtZW1iZXJfdG9rZW4iO3M6NjA6ImU5aU55d1BqNHc2dDBBYjJ3dzJVYnNiVjRuYVFXanlCdGM0QVVEd2hMbmJNT1FsbWlqUjNtZkFNMHphUyI7czoxNToiY3VycmVudF90ZWFtX2lkIjtOO3M6MTg6InByb2ZpbGVfcGhvdG9fcGF0aCI7TjtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjY6ImxvY2FsZSI7czoyOiJlbiI7czo5OiJzdHJpcGVfaWQiO047czo3OiJwbV90eXBlIjtOO3M6MTI6InBtX2xhc3RfZm91ciI7TjtzOjEzOiJ0cmlhbF9lbmRzX2F0IjtOO31zOjExOiIAKgBvcmlnaW5hbCI7YToyNDp7czoyOiJpZCI7aTo0O3M6MTM6InJlc3RhdXJhbnRfaWQiO2k6MjtzOjk6ImJyYW5jaF9pZCI7aTozO3M6NDoibmFtZSI7czo1OiJVbWFpciI7czo1OiJlbWFpbCI7czoxMzoidGVzdEB0ZXN0LmNvbSI7czoxMjoicGhvbmVfbnVtYmVyIjtzOjk6IjEyMzQ1Njc4OSI7czoxMDoicGhvbmVfY29kZSI7czoyOiI5MiI7czoyNjoidGVybXNfYW5kX3ByaXZhY3lfYWNjZXB0ZWQiO2k6MDtzOjI1OiJtYXJrZXRpbmdfZW1haWxzX2FjY2VwdGVkIjtpOjA7czoxNzoiZW1haWxfdmVyaWZpZWRfYXQiO047czo4OiJwYXNzd29yZCI7czo2MDoiJDJ5JDEyJGp0TXJxZFFRRG5lYlB6VXhRWGZHSGU4aE9LYUpnb1diUmcxTVpqRFdNTGhkUENYc0s0TE1XIjtzOjE3OiJ0d29fZmFjdG9yX3NlY3JldCI7TjtzOjI1OiJ0d29fZmFjdG9yX3JlY292ZXJ5X2NvZGVzIjtOO3M6MjM6InR3b19mYWN0b3JfY29uZmlybWVkX2F0IjtOO3M6MTQ6InJlbWVtYmVyX3Rva2VuIjtzOjYwOiJlOWlOeXdQajR3NnQwQWIyd3cyVWJzYlY0bmFRV2p5QnRjNEFVRHdoTG5iTU9RbG1palIzbWZBTTB6YVMiO3M6MTU6ImN1cnJlbnRfdGVhbV9pZCI7TjtzOjE4OiJwcm9maWxlX3Bob3RvX3BhdGgiO047czoxMDoiY3JlYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoxMDoidXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czo2OiJsb2NhbGUiO3M6MjoiZW4iO3M6OToic3RyaXBlX2lkIjtOO3M6NzoicG1fdHlwZSI7TjtzOjEyOiJwbV9sYXN0X2ZvdXIiO047czoxMzoidHJpYWxfZW5kc19hdCI7Tjt9czoxMDoiACoAY2hhbmdlcyI7YTowOnt9czoxMToiACoAcHJldmlvdXMiO2E6MDp7fXM6ODoiACoAY2FzdHMiO2E6Njp7czoxNzoiZW1haWxfdmVyaWZpZWRfYXQiO3M6ODoiZGF0ZXRpbWUiO3M6ODoicGFzc3dvcmQiO3M6NjoiaGFzaGVkIjtzOjEzOiJyZXN0YXVyYW50X2lkIjtzOjc6ImludGVnZXIiO3M6OToiYnJhbmNoX2lkIjtzOjc6ImludGVnZXIiO3M6MjY6InRlcm1zX2FuZF9wcml2YWN5X2FjY2VwdGVkIjtzOjc6ImJvb2xlYW4iO3M6MjU6Im1hcmtldGluZ19lbWFpbHNfYWNjZXB0ZWQiO3M6NzoiYm9vbGVhbiI7fXM6MTc6IgAqAGNsYXNzQ2FzdENhY2hlIjthOjA6e31zOjIxOiIAKgBhdHRyaWJ1dGVDYXN0Q2FjaGUiO2E6MDp7fXM6MTM6IgAqAGRhdGVGb3JtYXQiO047czoxMDoiACoAYXBwZW5kcyI7YToxOntpOjA7czoxNzoicHJvZmlsZV9waG90b191cmwiO31zOjE5OiIAKgBkaXNwYXRjaGVzRXZlbnRzIjthOjA6e31zOjE0OiIAKgBvYnNlcnZhYmxlcyI7YTowOnt9czoxMjoiACoAcmVsYXRpb25zIjthOjI6e3M6NToicm9sZXMiO086Mzk6IklsbHVtaW5hdGVcRGF0YWJhc2Vc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OjE4OiJ3YXNSZWNlbnRseUNyZWF0ZWQiO2I6MDtzOjI4OiIAKgBlc2NhcGVXaGVuQ2FzdGluZ1RvU3RyaW5nIjtiOjA7czoxMzoiACoAYXR0cmlidXRlcyI7YTowOnt9czoxMToiACoAb3JpZ2luYWwiO2E6MDp7fXM6MTA6IgAqAGNoYW5nZXMiO2E6MDp7fXM6MTE6IgAqAHByZXZpb3VzIjthOjA6e31zOjg6IgAqAGNhc3RzIjthOjY6e3M6MTc6ImVtYWlsX3ZlcmlmaWVkX2F0IjtzOjg6ImRhdGV0aW1lIjtzOjg6InBhc3N3b3JkIjtzOjY6Imhhc2hlZCI7czoxMzoicmVzdGF1cmFudF9pZCI7czo3OiJpbnRlZ2VyIjtzOjk6ImJyYW5jaF9pZCI7czo3OiJpbnRlZ2VyIjtzOjI2OiJ0ZXJtc19hbmRfcHJpdmFjeV9hY2NlcHRlZCI7czo3OiJib29sZWFuIjtzOjI1OiJtYXJrZXRpbmdfZW1haWxzX2FjY2VwdGVkIjtzOjc6ImJvb2xlYW4iO31zOjE3OiIAKgBjbGFzc0Nhc3RDYWNoZSI7YTowOnt9czoyMToiACoAYXR0cmlidXRlQ2FzdENhY2hlIjthOjA6e31zOjEzOiIAKgBkYXRlRm9ybWF0IjtOO3M6MTA6IgAqAGFwcGVuZHMiO2E6MTp7aTowO3M6MTc6InByb2ZpbGVfcGhvdG9fdXJsIjt9czoxOToiACoAZGlzcGF0Y2hlc0V2ZW50cyI7YTowOnt9czoxNDoiACoAb2JzZXJ2YWJsZXMiO2E6MDp7fXM6MTI6IgAqAHJlbGF0aW9ucyI7YTowOnt9czoxMDoiACoAdG91Y2hlcyI7YTowOnt9czoyNzoiACoAcmVsYXRpb25BdXRvbG9hZENhbGxiYWNrIjtOO3M6MjY6IgAqAHJlbGF0aW9uQXV0b2xvYWRDb250ZXh0IjtOO3M6MTA6InRpbWVzdGFtcHMiO2I6MTtzOjEzOiJ1c2VzVW5pcXVlSWRzIjtiOjA7czo5OiIAKgBoaWRkZW4iO2E6NDp7aTowO3M6ODoicGFzc3dvcmQiO2k6MTtzOjE0OiJyZW1lbWJlcl90b2tlbiI7aToyO3M6MjU6InR3b19mYWN0b3JfcmVjb3ZlcnlfY29kZXMiO2k6Mztz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bmV3X29yZGVycyI7aTowO3M6MjE6ImhpZGVfbmV3X3Jlc2VydmF0aW9ucyI7aTowO3M6MjM6ImhpZGVfbmV3X3dhaXRlcl9yZXF1ZXN0IjtpOjA7czoxMToiY3VycmVuY3lfaWQiO2k6NTtzOjEyOiJsaWNlbnNlX3R5cGUiO3M6NDoiZnJlZSI7czo5OiJpc19hY3RpdmUiO2k6MTtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTIzIDExOjQxOjI3IjtzOjIzOiJjdXN0b21lcl9sb2dpbl9yZXF1aXJlZCI7aTowO3M6ODoiYWJvdXRfdXMiO047czozMDoiYWxsb3dfY3VzdG9tZXJfZGVsaXZlcnlfb3JkZXJzIjtpOjE7czoyODoiYWxsb3dfY3VzdG9tZXJfcGlja3VwX29yZGVycyI7aToxO3M6MTc6InBpY2t1cF9kYXlzX3JhbmdlIjtpOjc7czoyMToiYWxsb3dfY3VzdG9tZXJfb3JkZXJzIjtpOjE7czoyMDoiYWxsb3dfZGluZV9pbl9vcmRlcnMiO2k6MTtzOjg6InNob3dfdmVnIjtpOjE7czoxMDoic2hvd19oYWxhbCI7aTowO3M6MTA6InBhY2thZ2VfaWQiO2k6NTtzOjEyOiJwYWNrYWdlX3R5cGUiO3M6NToidHJpYWwiO3M6Njoic3RhdHVzIjtzOjY6ImFjdGl2ZSI7czoxNzoibGljZW5zZV9leHBpcmVfb24iO3M6MTk6IjIwMjYtMDUtMTUgMDc6MzE6NDUiO3M6MTM6InRyaWFsX2VuZHNfYXQiO3M6MTk6IjIwMjYtMDUtMTUgMDc6MzE6NDUiO3M6MTg6ImxpY2Vuc2VfdXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoyMzoic3Vic2NyaXB0aW9uX3VwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6OToic3RyaXBlX2lkIjtOO3M6NzoicG1fdHlwZSI7TjtzOjEyOiJwbV9sYXN0X2ZvdXIiO047czoyNToiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZCI7aToxO3M6MzI6ImRlZmF1bHRfdGFibGVfcmVzZXJ2YXRpb25fc3RhdHVzIjtzOjk6IkNvbmZpcm1lZCI7czoyMDoiZGlzYWJsZV9zbG90X21pbnV0ZXMiO2k6MzA7czoxNToiYXBwcm92YWxfc3RhdHVzIjtzOjg6IkFwcHJvdmVkIjtzOjE2OiJyZWplY3Rpb25fcmVhc29uIjtOO3M6MTM6ImZhY2Vib29rX2xpbmsiO047czoxNDoiaW5zdGFncmFtX2xpbmsiO047czoxMjoidHdpdHRlcl9saW5rIjtOO3M6OToieWVscF9saW5rIjtOO3M6MjA6Imdvb2dsZV9idXNpbmVzc19saW5rIjtOO3M6OToid2lmaV9uYW1lIjtOO3M6MTM6IndpZmlfcGFzc3dvcmQiO047czoxNDoic2hvd193aWZpX2ljb24iO2k6MDtzOjE0OiJ0YWJsZV9yZXF1aXJlZCI7aTowO3M6MTQ6InNob3dfbG9nb190ZXh0IjtpOjE7czoxMjoibWV0YV9rZXl3b3JkIjtOO3M6MTY6Im1ldGFfZGVzY3JpcHRpb24iO047czozNDoidXBsb2FkX2Zhdl9pY29uX2FuZHJvaWRfY2hyb21lXzE5MiI7TjtzOjM0OiJ1cGxvYWRfZmF2X2ljb25fYW5kcm9pZF9jaHJvbWVfNTEyIjtOO3M6MzI6InVwbG9hZF9mYXZfaWNvbl9hcHBsZV90b3VjaF9pY29uIjtOO3M6MTc6InVwbG9hZF9mYXZpY29uXzE2IjtOO3M6MTc6InVwbG9hZF9mYXZpY29uXzMyIjtOO3M6NzoiZmF2aWNvbiI7TjtzOjM2OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkX29uX2Rlc2t0b3AiO2k6MTtzOjM1OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkX29uX21vYmlsZSI7aToxO3M6MzY6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb3Blbl9ieV9xciI7aTowO3M6MTE6IndlYm1hbmlmZXN0IjtOO3M6MTU6ImVuYWJsZV90aXBfc2hvcCI7aToxO3M6MTQ6ImVuYWJsZV90aXBfcG9zIjtpOjE7czoyNToiaXNfcHdhX2luc3RhbGxfYWxlcnRfc2hvdyI7aTowO3M6MTk6ImF1dG9fY29uZmlybV9vcmRlcnMiO2k6MDtzOjM0OiJhdXRvX2NvbmZpcm1fb3JkZXJzX2JlZm9yZV9wYXltZW50IjtpOjA7czozMzoiYXV0b19jb25maXJtX29yZGVyc19hZnRlcl9wYXltZW50IjtpOjA7czoyOToicmVzdHJpY3RfcXJfb3JkZXJfYnlfbG9jYXRpb24iO2k6MDtzOjIyOiJxcl9vcmRlcl9yYWRpdXNfbWV0ZXJzIjtOO3M6MjM6InNob3dfb3JkZXJfdHlwZV9vcHRpb25zIjtpOjE7czoyNDoiZGlzYWJsZV9vcmRlcl90eXBlX3BvcHVwIjtpOjE7czoyNjoicmVzdGF1cmFudF9vcGVuX2Nsb3NlX21vZGUiO3M6NDoiYXV0byI7czozMzoicmVzdGF1cmFudF9tYW51YWxfb3Blbl9jbG9zZV90eXBlIjtzOjQ6InRpbWUiO3M6MTY6Im1hbnVhbF9vcGVuX3RpbWUiO047czoxNzoibWFudWFsX2Nsb3NlX3RpbWUiO047czoyMToiaXNfdGVtcG9yYXJpbHlfY2xvc2VkIjtpOjA7czoyMToiZGVmYXVsdF9vcmRlcl90eXBlX2lkIjtpOjc7czoyNzoiaGlkZV9tZW51X2l0ZW1faW1hZ2Vfb25fcG9zIjtpOjA7czozNzoiaGlkZV9tZW51X2l0ZW1faW1hZ2Vfb25fY3VzdG9tZXJfc2l0ZSI7aTowO3M6ODoidGF4X21vZGUiO3M6NToib3JkZXIiO3M6MTM6InRheF9pbmNsdXNpdmUiO2k6MDtzOjI3OiJpbmNsdWRlX2NoYXJnZXNfaW5fdGF4X2Jhc2UiO2k6MDtzOjIyOiJjdXN0b21lcl9zaXRlX2xhbmd1YWdlIjtzOjI6ImVuIjtzOjI0OiJlbmFibGVfYWRtaW5fcmVzZXJ2YXRpb24iO2k6MTtzOjI3OiJlbmFibGVfY3VzdG9tZXJfcmVzZXJ2YXRpb24iO2k6MTtzOjE4OiJtaW5pbXVtX3BhcnR5X3NpemUiO2k6MTtzOjI2OiJ0YWJsZV9sb2NrX3RpbWVvdXRfbWludXRlcyI7aToxMDtzOjE4OiJtb2xsaWVfY3VzdG9tZXJfaWQiO047fXM6MTE6IgAqAG9yaWdpbmFsIjthOjk1OntzOjI6ImlkIjtpOjI7czo0OiJuYW1lIjtzOjQ6IlRlc3QiO3M6NDoiaGFzaCI7czo0OiJ0ZXN0IjtzOjc6ImFkZHJlc3MiO3M6NDoidGVzdCI7czoxMjoicGhvbmVfbnVtYmVyIjtzOjk6IjEyMzQ1Njc4OSI7czoxMDoicGhvbmVfY29kZSI7czoyOiI5MiI7czo1OiJlbWFpbCI7czoxMzoidGVzdEB0ZXN0LmNvbSI7czo4OiJ0aW1lem9uZSI7czoxMjoiQXNpYS9LYXJhY2hpIjtzOjExOiJ0aW1lX2Zvcm1hdCI7czo1OiJoOmkgQSI7czoxMToiZGF0ZV9mb3JtYXQiO3M6NToiZC9tL1kiO3M6OToidGhlbWVfaGV4IjtzOjc6IiNBNzhCRkEiO3M6OToidGhlbWVfcmdiIjtzOjEzOiIxNjcsIDEzOSwgMjUwIjtzOjQ6ImxvZ28iO047czoxMDoiY291bnRyeV9pZCI7aToxNjg7czoxNToiaGlkZV9uZXdfb3JkZXJzIjtpOjA7czoyMToiaGlkZV9uZXdfcmVzZXJ2YXRpb25zIjtpOjA7czoyMzoiaGlkZV9uZXdfd2FpdGVyX3JlcXVlc3QiO2k6MDtzOjExOiJjdXJyZW5jeV9pZCI7aTo1O3M6MTI6ImxpY2Vuc2VfdHlwZSI7czo0OiJmcmVlIjtzOjk6ImlzX2FjdGl2ZSI7aToxO3M6MTA6ImNyZWF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6MTA6InVwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMjMgMTE6NDE6MjciO3M6MjM6ImN1c3RvbWVyX2xvZ2luX3JlcXVpcmVkIjtpOjA7czo4OiJhYm91dF91cyI7TjtzOjMwOiJhbGxvd19jdXN0b21lcl9kZWxpdmVyeV9vcmRlcnMiO2k6MTtzOjI4OiJhbGxvd19jdXN0b21lcl9waWNrdXBfb3JkZXJzIjtpOjE7czoxNzoicGlja3VwX2RheXNfcmFuZ2UiO2k6NztzOjIxOiJhbGxvd19jdXN0b21lcl9vcmRlcnMiO2k6MTtzOjIwOiJhbGxvd19kaW5lX2luX29yZGVycyI7aToxO3M6ODoic2hvd192ZWciO2k6MTtzOjEwOiJzaG93X2hhbGFsIjtpOjA7czoxMDoicGFja2FnZV9pZCI7aTo1O3M6MTI6InBhY2thZ2VfdHlwZSI7czo1OiJ0cmlhbCI7czo2OiJzdGF0dXMiO3M6NjoiYWN0aXZlIjtzOjE3OiJsaWNlbnNlX2V4cGlyZV9vbiI7czoxOToiMjAyNi0wNS0xNSAwNzozMTo0NSI7czoxMzoidHJpYWxfZW5kc19hdCI7czoxOToiMjAyNi0wNS0xNSAwNzozMTo0NSI7czoxODoibGljZW5zZV91cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjIzOiJzdWJzY3JpcHRpb25fdXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czo5OiJzdHJpcGVfaWQiO047czo3OiJwbV90eXBlIjtOO3M6MTI6InBtX2xhc3RfZm91ciI7TjtzOjI1OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkIjtpOjE7czozMjoiZGVmYXVsdF90YWJsZV9yZXNlcnZhdGlvbl9zdGF0dXMiO3M6OToiQ29uZmlybWVkIjtzOjIwOiJkaXNhYmxlX3Nsb3RfbWludXRlcyI7aTozMDtzOjE1OiJhcHByb3ZhbF9zdGF0dXMiO3M6ODoiQXBwcm92ZWQiO3M6MTY6InJlamVjdGlvbl9yZWFzb24iO047czoxMzoiZmFjZWJvb2tfbGluayI7TjtzOjE0OiJpbnN0YWdyYW1fbGluayI7TjtzOjEyOiJ0d2l0dGVyX2xpbmsiO047czo5OiJ5ZWxwX2xpbmsiO047czoyMDoiZ29vZ2xlX2J1c2luZXNzX2xpbmsiO047czo5OiJ3aWZpX25hbWUiO047czoxMzoid2lmaV9wYXNzd29yZCI7TjtzOjE0OiJzaG93X3dpZmlfaWNvbiI7aTowO3M6MTQ6InRhYmxlX3JlcXVpcmVkIjtpOjA7czoxNDoic2hvd19sb2dvX3RleHQiO2k6MTtzOjEyOiJtZXRhX2tleXdvcmQiO047czoxNjoibWV0YV9kZXNjcmlwdGlvbiI7TjtzOjM0OiJ1cGxvYWRfZmF2X2ljb25fYW5kcm9pZF9jaHJvbWVfMTkyIjtOO3M6MzQ6InVwbG9hZF9mYXZfaWNvbl9hbmRyb2lkX2Nocm9tZV81MTIiO047czozMjoidXBsb2FkX2Zhdl9pY29uX2FwcGxlX3RvdWNoX2ljb24iO047czoxNzoidXBsb2FkX2Zhdmljb25fMTYiO047czoxNzoidXBsb2FkX2Zhdmljb25fMzIiO047czo3OiJmYXZpY29uIjtOO3M6MzY6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb25fZGVza3RvcCI7aToxO3M6MzU6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb25fbW9iaWxlIjtpOjE7czozNjoiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vcGVuX2J5X3FyIjtpOjA7czoxMToid2VibWFuaWZlc3QiO047czoxNToiZW5hYmxlX3RpcF9zaG9wIjtpOjE7czoxNDoiZW5hYmxlX3RpcF9wb3MiO2k6MTtzOjI1OiJpc19wd2FfaW5zdGFsbF9hbGVydF9zaG93IjtpOjA7czoxOToiYXV0b19jb25maXJtX29yZGVycyI7aTowO3M6MzQ6ImF1dG9fY29uZmlybV9vcmRlcnNfYmVmb3JlX3BheW1lbnQiO2k6MDtzOjMzOiJhdXRvX2NvbmZpcm1fb3JkZXJzX2FmdGVyX3BheW1lbnQiO2k6MDtzOjI5OiJyZXN0cmljdF9xcl9vcmRlcl9ieV9sb2NhdGlvbiI7aTowO3M6MjI6InFyX29yZGVyX3JhZGl1c19tZXRlcnMiO047czoyMzoic2hvd19vcmRlcl90eXBlX29wdGlvbnMiO2k6MTtzOjI0OiJkaXNhYmxlX29yZGVyX3R5cGVfcG9wdXAiO2k6MTtzOjI2OiJyZXN0YXVyYW50X29wZW5fY2xvc2VfbW9kZSI7czo0OiJhdXRvIjtzOjMzOiJyZXN0YXVyYW50X21hbnVhbF9vcGVuX2Nsb3NlX3R5cGUiO3M6NDoidGltZSI7czoxNjoibWFudWFsX29wZW5fdGltZSI7TjtzOjE3OiJtYW51YWxfY2xvc2VfdGltZSI7TjtzOjIxOiJpc190ZW1wb3JhcmlseV9jbG9zZWQiO2k6MDtzOjIxOiJkZWZhdWx0X29yZGVyX3R5cGVfaWQiO2k6NztzOjI3OiJoaWRlX21lbnVfaXRlbV9pbWFnZV9vbl9wb3MiO2k6MDtzOjM3OiJoaWRlX21lbnVfaXRlbV9pbWFnZV9vbl9jdXN0b21lcl9zaXRlIjtpOjA7czo4OiJ0YXhfbW9kZSI7czo1OiJvcmRlciI7czoxMzoidGF4X2luY2x1c2l2ZSI7aTowO3M6Mjc6ImluY2x1ZGVfY2hhcmdlc19pbl90YXhfYmFzZSI7aTowO3M6MjI6ImN1c3RvbWVyX3NpdGVfbGFuZ3VhZ2UiO3M6MjoiZW4iO3M6MjQ6ImVuYWJsZV9hZG1pbl9yZXNlcnZhdGlvbiI7aToxO3M6Mjc6ImVuYWJsZV9jdXN0b21lcl9yZXNlcnZhdGlvbiI7aToxO3M6MTg6Im1pbmltdW1fcGFydHlfc2l6ZSI7aToxO3M6MjY6InRhYmxlX2xvY2tfdGltZW91dF9taW51dGVzIjtpOjEwO3M6MTg6Im1vbGxpZV9jdXN0b21lcl9pZCI7Tjt9czoxMDoiACoAY2hhbmdlcyI7YTowOnt9czoxMToiACoAcHJldmlvdXMiO2E6MDp7fXM6ODoiACoAY2FzdHMiO2E6MTY6e3M6MTc6ImxpY2Vuc2VfZXhwaXJlX29uIjtzOjg6ImRhdGV0aW1lIjtzOjE1OiJ0cmlhbF9leHBpcmVfb24iO3M6ODoiZGF0ZXRpbWUiO3M6MTg6ImxpY2Vuc2VfdXBkYXRlZF9hdCI7czo4OiJkYXRldGltZSI7czoyMzoic3Vic2NyaXB0aW9uX3VwZGF0ZWRfYXQiO3M6ODoiZGF0ZXRpbWUiO3M6MTA6ImNyZWF0ZWRfYXQiO3M6ODoiZGF0ZXRpbWUiO3M6MTA6InVwZGF0ZWRfYXQiO3M6ODoiZGF0ZXRpbWUiO3M6MjM6ImN1c3RvbV9kZWxpdmVyeV9vcHRpb25zIjtzOjU6ImFycmF5IjtzOjk6ImlzX2FjdGl2ZSI7czo3OiJib29sZWFuIjtzOjI0OiJlbmFibGVfYWRtaW5fcmVzZXJ2YXRpb24iO3M6NzoiYm9vbGVhbiI7czoyNzoiZW5hYmxlX2N1c3RvbWVyX3Jlc2VydmF0aW9uIjtzOjc6ImJvb2xlYW4iO3M6Mjk6InJlc3RyaWN0X3FyX29yZGVyX2J5X2xvY2F0aW9uIjtzOjc6ImJvb2xlYW4iO3M6MTA6ImFpX2VuYWJsZWQiO3M6NzoiYm9vbGVhbiI7czoxNjoiYWlfYWxsb3dlZF9yb2xlcyI7czo1OiJhcnJheSI7czoxOToiYWlfbW9udGhseV9yZXNldF9hdCI7czo0OiJkYXRlIjtzOjIxOiJpc190ZW1wb3JhcmlseV9jbG9zZWQiO3M6NzoiYm9vbGVhbiI7czozMzoicmVzdGF1cmFudF9tYW51YWxfb3Blbl9jbG9zZV90eXBlIjtzOjY6InN0cmluZyI7fXM6MTc6IgAqAGNsYXNzQ2FzdENhY2hlIjthOjA6e31zOjIxOiIAKgBhdHRyaWJ1dGVDYXN0Q2FjaGUiO2E6MDp7fXM6MTM6IgAqAGRhdGVGb3JtYXQiO047czoxMDoiACoAYXBwZW5kcyI7YToxOntpOjA7czo4OiJsb2dvX3VybCI7fXM6MTk6IgAqAGRpc3BhdGNoZXNFdmVudHMiO2E6MDp7fXM6MTQ6IgAqAG9ic2VydmFibGVzIjthOjA6e31zOjEyOiIAKgByZWxhdGlvbnMiO2E6MTp7czo4OiJicmFuY2hlcyI7TzozOToiSWxsdW1pbmF0ZVxEYXRhYmFzZVxFbG9xdWVudFxDb2xsZWN0aW9uIjoyOntzOjg6IgAqAGl0ZW1zIjthOjE6e2k6MDtPOjE3OiJBcHBcTW9kZWxzXEJyYW5jaCI6MzM6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6ODoiYnJhbmNoZXMiO3M6MTM6IgAqAHByaW1hcnlLZXkiO3M6MjoiaWQiO3M6MTA6IgAqAGtleVR5cGUiO3M6MzoiaW50IjtzOjEyOiJpbmNyZW1lbnRpbmciO2I6MTtzOjc6IgAqAHdpdGgiO2E6MDp7fXM6MTI6IgAqAHdpdGhDb3VudCI7YTowOnt9czoxOToicHJldmVudHNMYXp5TG9hZGluZyI7YjowO3M6MTA6IgAqAHBlclBhZ2UiO2k6MTU7czo2OiJleGlzdHMiO2I6MTtzOjE4OiJ3YXNSZWNlbnRseUNyZWF0ZWQiO2I6MDtzOjI4OiIAKgBlc2NhcGVXaGVuQ2FzdGluZ1RvU3RyaW5nIjtiOjA7czoxMzoiACoAYXR0cmlidXRlcyI7YToyMzp7czoyOiJpZCI7aTozO3M6MTE6InVuaXF1ZV9oYXNoIjtzOjIwOiIxOTJkYjMwNTllNGFmYzdhNDhhNyI7czoxMzoicmVzdGF1cmFudF9pZCI7aToyO3M6NDoibmFtZSI7czozOiJOZXciO3M6MTg6ImNsb25lZF9icmFuY2hfbmFtZSI7TjtzOjE2OiJjbG9uZWRfYnJhbmNoX2lkIjtOO3M6MTM6ImlzX21lbnVfY2xvbmUiO2k6MDtzOjI0OiJpc19pdGVtX2NhdGVnb3JpZXNfY2xvbmUiO2k6MDtzOjE5OiJpc19tZW51X2l0ZW1zX2Nsb25lIjtpOjA7czoyMzoiaXNfaXRlbV9tb2RpZmllcnNfY2xvbmUiO2k6MDtzOjI5OiJpc19jbG9uZV9yZXNlcnZhdGlvbl9zZXR0aW5ncyI7aTowO3M6MjY6ImlzX2Nsb25lX2RlbGl2ZXJ5X3NldHRpbmdzIjtpOjA7czoyMDoiaXNfY2xvbmVfa290X3NldHRpbmciO2k6MDtzOjI1OiJpc19tb2RpZmllcnNfZ3JvdXBzX2Nsb25lIjtpOjA7czo3OiJhZGRyZXNzIjtzOjQ6InRlc3QiO3M6OToiY3JfbnVtYmVyIjtOO3M6MTA6InZhdF9udW1iZXIiO047czoxMDoiY3JlYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoxMDoidXBkYXRlZF9hdCI7czoxOToiMjAyNi0wOC0wOCAwNzoxNzowNSI7czozOiJsYXQiO047czozOiJsbmciO047czoxMjoiY291bnRfb3JkZXJzIjtpOjg7czoxMjoidG90YWxfb3JkZXJzIjtpOi0xO31zOjExOiIAKgBvcmlnaW5hbCI7YToyMzp7czoyOiJpZCI7aTozO3M6MTE6InVuaXF1ZV9oYXNoIjtzOjIwOiIxOTJkYjMwNTllNGFmYzdhNDhhNyI7czoxMzoicmVzdGF1cmFudF9pZCI7aToyO3M6NDoibmFtZSI7czozOiJOZXciO3M6MTg6ImNsb25lZF9icmFuY2hfbmFtZSI7TjtzOjE2OiJjbG9uZWRfYnJhbmNoX2lkIjtOO3M6MTM6ImlzX21lbnVfY2xvbmUiO2k6MDtzOjI0OiJpc19pdGVtX2NhdGVnb3JpZXNfY2xvbmUiO2k6MDtzOjE5OiJpc19tZW51X2l0ZW1zX2Nsb25lIjtp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InVwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMjMgMTE6NDE6MjciO3M6MjM6ImN1c3RvbWVyX2xvZ2luX3JlcXVpcmVkIjtpOjA7czo4OiJhYm91dF91cyI7TjtzOjMwOiJhbGxvd19jdXN0b21lcl9kZWxpdmVyeV9vcmRlcnMiO2k6MTtzOjI4OiJhbGxvd19jdXN0b21lcl9waWNrdXBfb3JkZXJzIjtpOjE7czoxNzoicGlja3VwX2RheXNfcmFuZ2UiO2k6NztzOjIxOiJhbGxvd19jdXN0b21lcl9vcmRlcnMiO2k6MTtzOjIwOiJhbGxvd19kaW5lX2luX29yZGVycyI7aToxO3M6ODoic2hvd192ZWciO2k6MTtzOjEwOiJzaG93X2hhbGFsIjtpOjA7czoxMDoicGFja2FnZV9pZCI7aTo1O3M6MTI6InBhY2thZ2VfdHlwZSI7czo1OiJ0cmlhbCI7czo2OiJzdGF0dXMiO3M6NjoiYWN0aXZlIjtzOjE3OiJsaWNlbnNlX2V4cGlyZV9vbiI7czoxOToiMjAyNi0wNS0xNSAwNzozMTo0NSI7czoxMzoidHJpYWxfZW5kc19hdCI7czoxOToiMjAyNi0wNS0xNSAwNzozMTo0NSI7czoxODoibGljZW5zZV91cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjIzOiJzdWJzY3JpcHRpb25fdXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czo5OiJzdHJpcGVfaWQiO047czo3OiJwbV90eXBlIjtOO3M6MTI6InBtX2xhc3RfZm91ciI7TjtzOjI1OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkIjtpOjE7czozMjoiZGVmYXVsdF90YWJsZV9yZXNlcnZhdGlvbl9zdGF0dXMiO3M6OToiQ29uZmlybWVkIjtzOjIwOiJkaXNhYmxlX3Nsb3RfbWludXRlcyI7aTozMDtzOjE1OiJhcHByb3ZhbF9zdGF0dXMiO3M6ODoiQXBwcm92ZWQiO3M6MTY6InJlamVjdGlvbl9yZWFzb24iO047czoxMzoiZmFjZWJvb2tfbGluayI7TjtzOjE0OiJpbnN0YWdyYW1fbGluayI7TjtzOjEyOiJ0d2l0dGVyX2xpbmsiO047czo5OiJ5ZWxwX2xpbmsiO047czoyMDoiZ29vZ2xlX2J1c2luZXNzX2xpbmsiO047czo5OiJ3aWZpX25hbWUiO047czoxMzoid2lmaV9wYXNzd29yZCI7TjtzOjE0OiJzaG93X3dpZmlfaWNvbiI7aTowO3M6MTQ6InRhYmxlX3JlcXVpcmVkIjtpOjA7czoxNDoic2hvd19sb2dvX3RleHQiO2k6MTtzOjEyOiJtZXRhX2tleXdvcmQiO047czoxNjoibWV0YV9kZXNjcmlwdGlvbiI7TjtzOjM0OiJ1cGxvYWRfZmF2X2ljb25fYW5kcm9pZF9jaHJvbWVfMTkyIjtOO3M6MzQ6InVwbG9hZF9mYXZfaWNvbl9hbmRyb2lkX2Nocm9tZV81MTIiO047czozMjoidXBsb2FkX2Zhdl9pY29uX2FwcGxlX3RvdWNoX2ljb24iO047czoxNzoidXBsb2FkX2Zhdmljb25fMTYiO047czoxNzoidXBsb2FkX2Zhdmljb25fMzIiO047czo3OiJmYXZpY29uIjtOO3M6MzY6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb25fZGVza3RvcCI7aToxO3M6MzU6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb25fbW9iaWxlIjtpOjE7czozNjoiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vcGVuX2J5X3FyIjtpOjA7czoxMToid2VibWFuaWZlc3QiO047czoxNToiZW5hYmxlX3RpcF9zaG9wIjtpOjE7czoxNDoiZW5hYmxlX3RpcF9wb3MiO2k6MTtzOjI1OiJpc19wd2FfaW5zdGFsbF9hbGVydF9zaG93IjtpOjA7czoxOToiYXV0b19jb25maXJtX29yZGVycyI7aTowO3M6MzQ6ImF1dG9fY29uZmlybV9vcmRlcnNfYmVmb3JlX3BheW1lbnQiO2k6MDtzOjMzOiJhdXRvX2NvbmZpcm1fb3JkZXJzX2FmdGVyX3BheW1lbnQiO2k6MDtzOjI5OiJyZXN0cmljdF9xcl9vcmRlcl9ieV9sb2NhdGlvbiI7aTowO3M6MjI6InFyX29yZGVyX3JhZGl1c19tZXRlcnMiO047czoyMzoic2hvd19vcmRlcl90eXBlX29wdGlvbnMiO2k6MTtzOjI0OiJkaXNhYmxlX29yZGVyX3R5cGVfcG9wdXAiO2k6MTtzOjI2OiJyZXN0YXVyYW50X29wZW5fY2xvc2VfbW9kZSI7czo0OiJhdXRvIjtzOjMzOiJyZXN0YXVyYW50X21hbnVhbF9vcGVuX2Nsb3NlX3R5cGUiO3M6NDoidGltZSI7czoxNjoibWFudWFsX29wZW5fdGltZSI7TjtzOjE3OiJtYW51YWxfY2xvc2VfdGltZSI7TjtzOjIxOiJpc190ZW1wb3JhcmlseV9jbG9zZWQiO2k6MDtzOjIxOiJkZWZhdWx0X29yZGVyX3R5cGVfaWQiO2k6NztzOjI3OiJoaWRlX21lbnVfaXRlbV9pbWFnZV9vbl9wb3MiO2k6MDtzOjM3OiJoaWRlX21lbnVfaXRlbV9pbWFnZV9vbl9jdXN0b21lcl9zaXRlIjtpOjA7czo4OiJ0YXhfbW9kZSI7czo1OiJvcmRlciI7czoxMzoidGF4X2luY2x1c2l2ZSI7aTowO3M6Mjc6ImluY2x1ZGVfY2hhcmdlc19pbl90YXhfYmFzZSI7aTowO3M6MjI6ImN1c3RvbWVyX3NpdGVfbGFuZ3VhZ2UiO3M6MjoiZW4iO3M6MjQ6ImVuYWJsZV9hZG1pbl9yZXNlcnZhdGlvbiI7aToxO3M6Mjc6ImVuYWJsZV9jdXN0b21lcl9yZXNlcnZhdGlvbiI7aToxO3M6MTg6Im1pbmltdW1fcGFydHlfc2l6ZSI7aToxO3M6MjY6InRhYmxlX2xvY2tfdGltZW91dF9taW51dGVzIjtpOjEwO3M6MTg6Im1vbGxpZV9jdXN0b21lcl9pZCI7Tjt9czoxMToiACoAb3JpZ2luYWwiO2E6OTU6e3M6MjoiaWQiO2k6MjtzOjQ6Im5hbWUiO3M6NDoiVGVzdCI7czo0OiJoYXNoIjtzOjQ6InRlc3QiO3M6NzoiYWRkcmVzcyI7czo0OiJ0ZXN0IjtzOjEyOiJwaG9uZV9udW1iZXIiO3M6OToiMTIzNDU2Nzg5IjtzOjEwOiJwaG9uZV9jb2RlIjtzOjI6IjkyIjtzOjU6ImVtYWlsIjtzOjEzOiJ0ZXN0QHRlc3QuY29tIjtzOjg6InRpbWV6b25lIjtzOjEyOiJBc2lhL0thcmFjaGkiO3M6MTE6InRpbWVfZm9ybWF0IjtzOjU6Img6aSBBIjtzOjExOiJkYXRlX2Zvcm1hdCI7czo1OiJkL20vWSI7czo5OiJ0aGVtZV9oZXgiO3M6NzoiI0E3OEJGQSI7czo5OiJ0aGVtZV9yZ2IiO3M6MTM6IjE2NywgMTM5LCAyNTAiO3M6NDoibG9nbyI7TjtzOjEwOiJjb3VudHJ5X2lkIjtpOjE2ODtzOjE1OiJoaWRlX25ld19vcmRlcnMiO2k6MDtzOjIxOiJoaWRlX25ld19yZXNlcnZhdGlvbnMiO2k6MDtzOjIzOiJoaWRlX25ld193YWl0ZXJfcmVxdWVzdCI7aTowO3M6MTE6ImN1cnJlbmN5X2lkIjtpOjU7czoxMjoibGljZW5zZV90eXBlIjtzOjQ6ImZyZWUiO3M6OToiaXNfYWN0aXZlIjtpOjE7czoxMDoiY3JlYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoxMDoidXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0yMyAxMTo0MToyNyI7czoyMzoiY3VzdG9tZXJfbG9naW5fcmVxdWlyZWQiO2k6MDtzOjg6ImFib3V0X3VzIjtOO3M6MzA6ImFsbG93X2N1c3RvbWVyX2RlbGl2ZXJ5X29yZGVycyI7aToxO3M6Mjg6ImFsbG93X2N1c3RvbWVyX3BpY2t1cF9vcmRlcnMiO2k6MTtzOjE3OiJwaWNrdXBfZGF5c19yYW5nZSI7aTo3O3M6MjE6ImFsbG93X2N1c3RvbWVyX29yZGVycyI7aToxO3M6MjA6ImFsbG93X2RpbmVfaW5fb3JkZXJzIjtpOjE7czo4OiJzaG93X3ZlZyI7aToxO3M6MTA6InNob3dfaGFsYWwiO2k6MDtzOjEwOiJwYWNrYWdlX2lkIjtpOjU7czoxMjoicGFja2FnZV90eXBlIjtzOjU6InRyaWFsIjtzOjY6InN0YXR1cyI7czo2OiJhY3RpdmUiO3M6MTc6ImxpY2Vuc2VfZXhwaXJlX29uIjtzOjE5OiIyMDI2LTA1LTE1IDA3OjMxOjQ1IjtzOjEzOiJ0cmlhbF9lbmRzX2F0IjtzOjE5OiIyMDI2LTA1LTE1IDA3OjMxOjQ1IjtzOjE4OiJsaWNlbnNlX3VwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6MjM6InN1YnNjcmlwdGlvbl91cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjk6InN0cmlwZV9pZCI7TjtzOjc6InBtX3R5cGUiO047czoxMjoicG1fbGFzdF9mb3VyIjtOO3M6MjU6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWQiO2k6MTtzOjMyOiJkZWZhdWx0X3RhYmxlX3Jlc2VydmF0aW9uX3N0YXR1cyI7czo5OiJDb25maXJtZWQiO3M6MjA6ImRpc2FibGVfc2xvdF9taW51dGVzIjtpOjMwO3M6MTU6ImFwcHJvdmFsX3N0YXR1cyI7czo4OiJBcHByb3ZlZCI7czoxNjoicmVqZWN0aW9uX3JlYXNvbiI7TjtzOjEzOiJmYWNlYm9va19saW5rIjtOO3M6MTQ6Imluc3RhZ3JhbV9saW5rIjtOO3M6MTI6InR3aXR0ZXJfbGluayI7TjtzOjk6InllbHBfbGluayI7TjtzOjIwOiJnb29nbGVfYnVzaW5lc3NfbGluayI7TjtzOjk6IndpZmlfbmFtZSI7TjtzOjEzOiJ3aWZpX3Bhc3N3b3JkIjtOO3M6MTQ6InNob3dfd2lmaV9pY29uIjtpOjA7czoxNDoidGFibGVfcmVxdWlyZWQiO2k6MDtzOjE0OiJzaG93X2xvZ29fdGV4dCI7aToxO3M6MTI6Im1ldGFfa2V5d29yZCI7TjtzOjE2OiJtZXRhX2Rlc2NyaXB0aW9uIjtOO3M6MzQ6InVwbG9hZF9mYXZfaWNvbl9hbmRyb2lkX2Nocm9tZV8xOTIiO047czozNDoidXBsb2FkX2Zhdl9pY29uX2FuZHJvaWRfY2hyb21lXzUxMiI7TjtzOjMyOiJ1cGxvYWRfZmF2X2ljb25fYXBwbGVfdG91Y2hfaWNvbiI7TjtzOjE3OiJ1cGxvYWRfZmF2aWNvbl8xNiI7TjtzOjE3OiJ1cGxvYWRfZmF2aWNvbl8zMiI7TjtzOjc6ImZhdmljb24iO047czozNjoiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vbl9kZXNrdG9wIjtpOjE7czozNToiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vbl9tb2JpbGUiO2k6MTtzOjM2OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkX29wZW5fYnlfcXIiO2k6MDtzOjExOiJ3ZWJtYW5pZmVzdCI7TjtzOjE1OiJlbmFibGVfdGlwX3Nob3AiO2k6MTtzOjE0OiJlbmFibGVfdGlwX3BvcyI7aToxO3M6MjU6ImlzX3B3YV9pbnN0YWxsX2FsZXJ0X3Nob3ciO2k6MDtzOjE5OiJhdXRvX2NvbmZpcm1fb3JkZXJzIjtpOjA7czozNDoiYXV0b19jb25maXJtX29yZGVyc19iZWZvcmVfcGF5bWVudCI7aTowO3M6MzM6ImF1dG9fY29uZmlybV9vcmRlcnNfYWZ0ZXJfcGF5bWVudCI7aTowO3M6Mjk6InJlc3RyaWN0X3FyX29yZGVyX2J5X2xvY2F0aW9uIjtpOjA7czoyMjoicXJfb3JkZXJfcmFkaXVzX21ldGVycyI7TjtzOjIzOiJzaG93X29yZGVyX3R5cGVfb3B0aW9ucyI7aToxO3M6MjQ6ImRpc2FibGVfb3JkZXJfdHlwZV9wb3B1cCI7aToxO3M6MjY6InJlc3RhdXJhbnRfb3Blbl9jbG9zZV9tb2RlIjtzOjQ6ImF1dG8iO3M6MzM6InJlc3RhdXJhbnRfbWFudWFsX29wZW5fY2xvc2VfdHlwZSI7czo0OiJ0aW1lIjtzOjE2OiJtYW51YWxfb3Blbl90aW1lIjtOO3M6MTc6Im1hbnVhbF9jbG9zZV90aW1lIjtOO3M6MjE6ImlzX3RlbXBvcmFyaWx5X2Nsb3NlZCI7aTowO3M6MjE6ImRlZmF1bHRfb3JkZXJfdHlwZV9pZCI7aTo3O3M6Mjc6ImhpZGVfbWVudV9pdGVtX2ltYWdlX29uX3BvcyI7aTowO3M6Mzc6ImhpZGVfbWVudV9pdGVtX2ltYWdlX29uX2N1c3RvbWVyX3NpdGUiO2k6MDtzOjg6InRheF9tb2RlIjtzOjU6Im9yZGVyIjtzOjEzOiJ0YXhfaW5jbHVzaXZlIjtpOjA7czoyNzoiaW5jbHVkZV9jaGFyZ2VzX2luX3RheF9iYXNlIjtpOjA7czoyMjoiY3VzdG9tZXJfc2l0ZV9sYW5ndWFnZSI7czoyOiJlbiI7czoyNDoiZW5hYmxlX2FkbWluX3Jlc2VydmF0aW9uIjtpOjE7czoyNzoiZW5hYmxlX2N1c3RvbWVyX3Jlc2VydmF0aW9uIjtpOjE7czoxODoibWluaW11bV9wYXJ0eV9zaXplIjtpOjE7czoyNjoidGFibGVfbG9ja190aW1lb3V0X21pbnV0ZXMiO2k6MTA7czoxODoibW9sbGllX2N1c3RvbWVyX2lkIjtOO31zOjEwOiIAKgBjaGFuZ2VzIjthOjA6e31zOjExOiIAKgBwcmV2aW91cyI7YTowOnt9czo4OiIAKgBjYXN0cyI7YToxNjp7czoxNzoibGljZW5zZV9leHBpcmVfb24iO3M6ODoiZGF0ZXRpbWUiO3M6MTU6InRyaWFsX2V4cGlyZV9vbiI7czo4OiJkYXRldGltZSI7czoxODoibGljZW5zZV91cGRhdGVkX2F0IjtzOjg6ImRhdGV0aW1lIjtzOjIzOiJzdWJzY3JpcHRpb25fdXBkYXRlZF9hdCI7czo4OiJkYXRldGltZSI7czoxMDoiY3JlYXRlZF9hdCI7czo4OiJkYXRldGltZSI7czoxMDoidXBkYXRlZF9hdCI7czo4OiJkYXRldGltZSI7czoyMzoiY3VzdG9tX2RlbGl2ZXJ5X29wdGlvbnMiO3M6NToiYXJyYXkiO3M6OToiaXNfYWN0aXZlIjtzOjc6ImJvb2xlYW4iO3M6MjQ6ImVuYWJsZV9hZG1pbl9yZXNlcnZhdGlvbiI7czo3OiJib29sZWFuIjtzOjI3OiJlbmFibGVfY3VzdG9tZXJfcmVzZXJ2YXRpb24iO3M6NzoiYm9vbGVhbiI7czoyOToicmVzdHJpY3RfcXJfb3JkZXJfYnlfbG9jYXRpb24iO3M6NzoiYm9vbGVhbiI7czoxMDoiYWlfZW5hYmxlZCI7czo3OiJib29sZWFuIjtzOjE2OiJhaV9hbGxvd2VkX3JvbGVzIjtzOjU6ImFycmF5IjtzOjE5OiJhaV9tb250aGx5X3Jlc2V0X2F0IjtzOjQ6ImRhdGUiO3M6MjE6ImlzX3RlbXBvcmFyaWx5X2Nsb3NlZCI7czo3OiJib29sZWFuIjtzOjMzOiJyZXN0YXVyYW50X21hbnVhbF9vcGVuX2Nsb3NlX3R5cGUiO3M6Njoic3RyaW5nIjt9czoxNzoiACoAY2xhc3NDYXN0Q2FjaGUiO2E6MDp7fXM6MjE6IgAq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bm51YWxfcGxhbl9pZCI7TjtzOjI3OiJmbHV0dGVyd2F2ZV9tb250aGx5X3BsYW5faWQiO047czoyMzoicGF5c3RhY2tfYW5udWFsX3BsYW5faWQiO047czoyNDoicGF5c3RhY2tfbW9udGhseV9wbGFuX2lkIjtOO3M6MjE6InhlbmRpdF9hbm51YWxfcGxhbl9pZCI7TjtzOjIyOiJ4ZW5kaXRfbW9udGhseV9wbGFuX2lkIjtOO3M6MjI6InBhZGRsZV9hbm51YWxfcHJpY2VfaWQiO047czoyMzoicGFkZGxlX21vbnRobHlfcHJpY2VfaWQiO047czoyNDoicGFkZGxlX2xpZmV0aW1lX3ByaWNlX2lkIjtOO3M6MjM6InN0cmlwZV9saWZldGltZV9wbGFuX2lkIjtOO3M6MjU6InJhem9ycGF5X2xpZmV0aW1lX3BsYW5faWQiO047czoxMzoiYmlsbGluZ19jeWNsZSI7aTowO3M6MTA6InNvcnRfb3JkZXIiO047czoxMDoiaXNfcHJpdmF0ZSI7aTowO3M6NzoiaXNfZnJlZSI7aToxO3M6MTQ6ImlzX3JlY29tbWVuZGVkIjtpOjA7czoxMjoicGFja2FnZV90eXBlIjtzOjU6InRyaWFsIjtzOjEyOiJ0cmlhbF9zdGF0dXMiO2k6MTtzOjEwOiJ0cmlhbF9kYXlzIjtpOjMwO3M6MzA6InRyaWFsX25vdGlmaWNhdGlvbl9iZWZvcmVfZGF5cyI7aTo1O3M6MTM6InRyaWFsX21lc3NhZ2UiO3M6MTg6IjMwIERheXMgRnJlZSBUcmlhbCI7czoxOToiYWRkaXRpb25hbF9mZWF0dXJlcyI7czoxMTg6IlsiQ2hhbmdlIEJyYW5jaCIsIkV4cG9ydCBSZXBvcnQiLCJUYWJsZSBSZXNlcnZhdGlvbiIsIlBheW1lbnQgR2F0ZXdheSBJbnRlZ3JhdGlvbiIsIlRoZW1lIFNldHRpbmciLCJDdXN0b21lciBEaXNwbGF5Il0iO3M6MTI6ImJyYW5jaF9saW1pdCI7aTotMTtzOjE0OiJtdWx0aXBvc19saW1pdCI7aTotMTtzOjE2OiJtZW51X2l0ZW1zX2xpbWl0IjtpOi0xO3M6MTE6Im9yZGVyX2xpbWl0IjtpOi0xO3M6MTE6InN0YWZmX2xpbWl0IjtpOi0xO3M6MjI6ImFpX21vbnRobHlfdG9rZW5fbGltaXQiO2k6LTE7czo5OiJzbXNfY291bnQiO2k6MDtzOjE3OiJjYXJyeV9mb3J3YXJkX3NtcyI7aTowO31zOjExOiIAKgBvcmlnaW5hbCI7YTo0NTp7czoyOiJpZCI7aTo1O3M6MTI6InBhY2thZ2VfbmFtZSI7czoxMzoiVHJpYWwgUGFja2FnZSI7czo1OiJwcmljZSI7czo0OiIwLjAwIjtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjIwOjAwIjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjIwOjAwIjtzOjExOiJjdXJyZW5jeV9pZCI7aToxO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjIzOiJUaGlzIGlzIGEgdHJpYWwgcGFja2FnZSI7czoxMjoiYW5udWFsX3ByaWNlIjtOO3M6MTM6Im1vbnRobHlfcHJpY2UiO047czoxNDoibW9udGhseV9zdGF0dXMiO3M6MToiMCI7czoxMzoiYW5udWFsX3N0YXR1cyI7czoxOiIwIjtzOjIxOiJzdHJpcGVfYW5udWFsX3BsYW5faWQiO047czoyMjoic3RyaXBlX21vbnRobHlfcGxhbl9pZCI7TjtzOjIzOiJyYXpvcnBheV9hbm51YWxfcGxhbl9pZCI7TjtzOjI0OiJyYXpvcnBheV9tb250aGx5X3BsYW5faWQiO047czoyNjoiZmx1dHRlcndhdmVfYW5udWFsX3BsYW5faWQiO047czoyNzoiZmx1dHRlcndhdmVfbW9udGhseV9wbGFuX2lkIjtOO3M6MjM6InBheXN0YWNrX2FubnVhbF9wbGFuX2lkIjtOO3M6MjQ6InBheXN0YWNrX21vbnRobHlfcGxhbl9pZCI7TjtzOjIxOiJ4ZW5kaXRfYW5udWFsX3BsYW5faWQiO047czoyMjoieGVuZGl0X21vbnRobHlfcGxhbl9pZCI7TjtzOjIyOiJwYWRkbGVfYW5udWFsX3ByaWNlX2lkIjtOO3M6MjM6InBhZGRsZV9tb250aGx5X3ByaWNlX2lkIjtOO3M6MjQ6InBhZGRsZV9saWZldGltZV9wcmljZV9pZCI7TjtzOjIzOiJzdHJpcGVfbGlmZXRpbWVfcGxhbl9pZCI7TjtzOjI1OiJyYXpvcnBheV9saWZldGltZV9wbGFuX2lkIjtOO3M6MTM6ImJpbGxpbmdfY3ljbGUiO2k6MDtzOjEwOiJzb3J0X29yZGVyIjtOO3M6MTA6ImlzX3ByaXZhdGUiO2k6MDtzOjc6ImlzX2ZyZWUiO2k6MTtzOjE0OiJpc19yZWNvbW1lbmRlZCI7aTowO3M6MTI6InBhY2thZ2VfdHlwZSI7czo1OiJ0cmlhbCI7czoxMjoidHJpYWxfc3RhdHVzIjtpOjE7czoxMDoidHJpYWxfZGF5cyI7aTozMDtzOjMwOiJ0cmlhbF9ub3RpZmljYXRpb25fYmVmb3JlX2RheXMiO2k6NTtzOjEzOiJ0cmlhbF9tZXNzYWdlIjtzOjE4OiIzMCBEYXlzIEZyZWUgVHJpYWwiO3M6MTk6ImFkZGl0aW9uYWxfZmVhdHVyZXMiO3M6MTE4OiJbIkNoYW5nZSBCcmFuY2giLCJFeHBvcnQgUmVwb3J0IiwiVGFibGUgUmVzZXJ2YXRpb24iLCJQYXltZW50IEdhdGV3YXkgSW50ZWdyYXRpb24iLCJUaGVtZSBTZXR0aW5nIiwiQ3VzdG9tZXIgRGlzcGxheSJdIjtzOjEyOiJicmFuY2hfbGltaXQiO2k6LTE7czoxNDoibXVsdGlwb3NfbGltaXQiO2k6LTE7czoxNjoibWVudV9pdGVtc19saW1pdCI7aTotMTtzOjExOiJvcmRlcl9saW1pdCI7aTotMTtzOjExOiJzdGFmZl9saW1pdCI7aTotMTtzOjIyOiJhaV9tb250aGx5X3Rva2VuX2xpbWl0IjtpOi0xO3M6OToic21zX2NvdW50IjtpOjA7czoxNzoiY2FycnlfZm9yd2FyZF9zbXMiO2k6MDt9czoxMDoiACoAY2hhbmdlcyI7YTowOnt9czoxMToiACoAcHJldmlvdXMiO2E6MDp7fXM6ODoiACoAY2FzdHMiO2E6Mzp7czoxMjoicGFja2FnZV90eXBlIjtzOjIxOiJBcHBcRW51bXNcUGFja2FnZVR5cGUiO3M6MTA6InRyaWFsX2RheXMiO3M6NzoiaW50ZWdlciI7czozMDoidHJpYWxfbm90aWZpY2F0aW9uX2JlZm9yZV9kYXlzIjtzOjc6ImludGVnZXIiO31zOjE3OiIAKgBjbGFzc0Nhc3RDYWNoZSI7YTowOnt9czoyMToiACoAYXR0cmlidXRlQ2FzdENhY2hlIjthOjA6e31zOjEzOiIAKgBkYXRlRm9ybWF0IjtOO3M6MTA6IgAqAGFwcGVuZHMiO2E6MDp7fXM6MTk6IgAqAGRpc3BhdGNoZXNFdmVudHMiO2E6MDp7fXM6MTQ6IgAqAG9ic2VydmFibGVzIjthOjA6e31zOjEyOiIAKgByZWxhdGlvbnMiO2E6MDp7fXM6MTA6IgAqAHRvdWNoZXMiO2E6MDp7fXM6Mjc6IgAqAHJlbGF0aW9uQXV0b2xvYWRDYWxsYmFjayI7TjtzOjI2OiIAKgByZWxhdGlvbkF1dG9sb2FkQ29udGV4dCI7TjtzOjEwOiJ0aW1lc3RhbXBzIjtiOjE7czoxMzoidXNlc1VuaXF1ZUlkcyI7YjowO3M6OToiACoAaGlkZGVuIjthOjA6e31zOjEwOiIAKgB2aXNpYmxlIjthOjA6e31zOjExOiIAKgBmaWxsYWJsZSI7YTowOnt9czoxMDoiACoAZ3VhcmRlZCI7YToxOntpOjA7czoyOiJpZCI7fX1zOjg6ImJyYW5jaGVzIjtPOjM5OiJJbGx1bWluYXRlXERhdGFiYXNlXEVsb3F1ZW50XENvbGxlY3Rpb24iOjI6e3M6ODoiACoAaXRlbXMiO2E6MTp7aTowO086MTc6IkFwcFxNb2RlbHNcQnJhbmNoIjozMzp7czoxMzoiACoAY29ubmVjdGlvbiI7czo1OiJteXNxbCI7czo4OiIAKgB0YWJsZSI7czo4OiJicmFuY2hlcyI7czoxMzoiACoAcHJpbWFyeUtleSI7czoyOiJpZCI7czoxMDoiACoAa2V5VHlwZSI7czozOiJpbnQiO3M6MTI6ImluY3JlbWVudGluZyI7YjoxO3M6NzoiACoAd2l0aCI7YTowOnt9czoxMjoiACoAd2l0aENvdW50IjthOjA6e31zOjE5OiJwcmV2ZW50c0xhenlMb2FkaW5nIjtiOjA7czoxMDoiACoAcGVyUGFnZSI7aToxNTtzOjY6ImV4aXN0cyI7YjoxO3M6MTg6Indhc1JlY2VudGx5Q3JlYXRlZCI7YjowO3M6Mjg6IgAqAGVzY2FwZVdoZW5DYXN0aW5nVG9TdHJpbmciO2I6MDtzOjEzOiIAKgBhdHRyaWJ1dGVzIjthOjIzOntzOjI6ImlkIjtpOjM7czoxMToidW5pcXVlX2hhc2giO3M6MjA6IjE5MmRiMzA1OWU0YWZjN2E0OGE3IjtzOjEzOiJyZXN0YXVyYW50X2lkIjtpOjI7czo0OiJuYW1lIjtzOjM6Ik5ldyI7czoxODoiY2xvbmVkX2JyYW5jaF9uYW1lIjtOO3M6MTY6ImNsb25lZF9icmFuY2hfaWQiO047czoxMzoiaXNfbWVudV9jbG9uZSI7aTowO3M6MjQ6ImlzX2l0ZW1fY2F0ZWdvcmllc19jbG9uZSI7aTowO3M6MTk6ImlzX21lbnVfaXRlbXNfY2xvbmUiO2k6MDtzOjIzOiJpc19pdGVtX21vZGlmaWVyc19jbG9uZSI7aTowO3M6Mjk6ImlzX2Nsb25lX3Jlc2VydmF0aW9uX3NldHRpbmdzIjtpOjA7czoyNjoiaXNfY2xvbmVfZGVsaXZlcnlfc2V0dGluZ3MiO2k6MDtzOjIwOiJpc19jbG9uZV9rb3Rfc2V0dGluZyI7aTowO3M6MjU6ImlzX21vZGlmaWVyc19ncm91cHNfY2xvbmUiO2k6MDtzOjc6ImFkZHJlc3MiO3M6NDoidGVzdCI7czo5OiJjcl9udW1iZXIiO047czoxMDoidmF0X251bWJlciI7TjtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA4LTA4IDA3OjE3OjA1IjtzOjM6ImxhdCI7TjtzOjM6ImxuZyI7TjtzOjEyOiJjb3VudF9vcmRlcnMiO2k6ODtzOjEyOiJ0b3RhbF9vcmRlcnMiO2k6LTE7fXM6MTE6IgAqAG9yaWdpbmFsIjthOjIzOntzOjI6ImlkIjtpOjM7czoxMToidW5pcXVlX2hhc2giO3M6MjA6IjE5MmRiMzA1OWU0YWZjN2E0OGE3IjtzOjEzOiJyZXN0YXVyYW50X2lkIjtpOjI7czo0OiJuYW1lIjtzOjM6Ik5ldyI7czoxODoiY2xvbmVkX2JyYW5jaF9uYW1lIjtOO3M6MTY6ImNsb25lZF9icmFuY2hfaWQiO047czoxMzoiaXNfbWVudV9jbG9uZSI7aTowO3M6MjQ6ImlzX2l0ZW1fY2F0ZWdvcmllc19jbG9uZSI7aTowO3M6MTk6ImlzX21lbnVfaXRlbXNfY2xvbmUiO2k6MDtzOjIzOiJpc19pdGVtX21vZGlmaWVyc19jbG9uZSI7aTowO3M6Mjk6ImlzX2Nsb25lX3Jlc2VydmF0aW9uX3NldHRpbmdzIjtpOjA7czoyNjoiaXNfY2xvbmVfZGVsaXZlcnlfc2V0dGluZ3MiO2k6MDtzOjIwOiJpc19jbG9uZV9rb3Rfc2V0dGluZyI7aTowO3M6MjU6ImlzX21vZGlmaWVyc19ncm91cHNfY2xvbmUiO2k6MDtzOjc6ImFkZHJlc3MiO3M6NDoidGVzdCI7czo5OiJjcl9udW1iZXIiO047czoxMDoidmF0X251bWJlciI7TjtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA4LTA4IDA3OjE3OjA1IjtzOjM6ImxhdCI7TjtzOjM6ImxuZyI7TjtzOjEyOiJjb3VudF9vcmRlcnMiO2k6ODtzOjEyOiJ0b3RhbF9vcmRlcnMiO2k6LTE7fXM6MTA6IgAqAGNoYW5nZXMiO2E6MDp7fXM6MTE6IgAqAHByZXZpb3VzIjthOjA6e31zOjg6IgAqAGNhc3RzIjthOjI6e3M6MzoibGF0IjtzOjU6ImZsb2F0IjtzOjM6ImxuZyI7czo1OiJmbG9hdCI7fXM6MTc6IgAqAGNsYXNzQ2FzdENhY2hlIjthOjA6e31zOjIxOiIAKgBhdHRyaWJ1dGVDYXN0Q2FjaGUiO2E6MDp7fXM6MTM6IgAqAGRhdGVGb3JtYXQiO047czoxMDoiACoAYXBwZW5kcyI7YTowOnt9czoxOToiACoAZGlzcGF0Y2hlc0V2ZW50cyI7YTowOnt9czoxNDoiACoAb2JzZXJ2YWJsZXMiO2E6MDp7fXM6MTI6IgAqAHJlbGF0aW9ucyI7YTowOnt9czoxMDoiACoAdG91Y2hlcyI7YTowOnt9czoyNzoiACoAcmVsYXRpb25BdXRvbG9hZENhbGxiYWNrIjtOO3M6MjY6IgAqAHJlbGF0aW9uQXV0b2xvYWRDb250ZXh0IjtOO3M6MTA6InRpbWVzdGFtcHMiO2I6MTtzOjEzOiJ1c2VzVW5pcXVlSWRzIjtiOjA7czo5OiIAKgBoaWRkZW4iO2E6MDp7fXM6MTA6IgAqAHZpc2libGUiO2E6MDp7fXM6MTE6IgAqAGZpbGxhYmxlIjthOjExOntpOjA7czo0OiJuYW1lIjtpOjE7czo3OiJhZGRyZXNzIjtpOjI7czo5OiJjcl9udW1iZXIiO2k6MztzOjEwOiJ2YXRfbnVtYmVyIjtpOjQ7czo1OiJwaG9uZSI7aTo1O3M6NToiZW1haWwiO2k6NjtzOjEzOiJyZXN0YXVyYW50X2lkIjtpOjc7czo5OiJpc19hY3RpdmUiO2k6ODtzOjExOiJ1bmlxdWVfaGFzaCI7aTo5O3M6MzoibGF0IjtpOjEwO3M6MzoibG5nIjt9czoxMDoiACoAZ3VhcmRlZCI7YToxOntpOjA7czoyOiJpZCI7fX19czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO31zOjc6ImNvdW50cnkiO086MTg6IkFwcFxNb2RlbHNcQ291bnRyeSI6MzM6e3M6MTM6IgAqAGNvbm5lY3Rpb24iO3M6NToibXlzcWwiO3M6ODoiACoAdGFibGUiO3M6OToiY291bnRyaWVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6NDp7czoyOiJpZCI7aToxNjg7czoxNDoiY291bnRyaWVzX2NvZGUiO3M6MjoiUEsiO3M6MTQ6ImNvdW50cmllc19uYW1lIjtzOjg6IlBha2lzdGFuIjtzOjk6InBob25lY29kZSI7aTo5Mjt9czoxMToiACoAb3JpZ2luYWwiO2E6NDp7czoyOiJpZCI7aToxNjg7czoxNDoiY291bnRyaWVzX2NvZGUiO3M6MjoiUEsiO3M6MTQ6ImNvdW50cmllc19uYW1lIjtzOjg6IlBha2lzdGFuIjtzOjk6InBob25lY29kZSI7czoyOiI5MiI7fXM6MTA6IgAqAGNoYW5nZXMiO2E6MDp7fXM6MTE6IgAqAHByZXZpb3VzIjthOjA6e31zOjg6IgAqAGNhc3RzIjthOjA6e31zOjE3OiIAKgBjbGFzc0Nhc3RDYWNoZSI7YTowOnt9czoyMToiACoAYXR0cmlidXRlQ2FzdENhY2hlIjthOjA6e31zOjEzOiIAKgBkYXRlRm9ybWF0IjtOO3M6MTA6IgAqAGFwcGVuZHMiO2E6MDp7fXM6MTk6IgAqAGRpc3BhdGNoZXNFdmVudHMiO2E6MDp7fXM6MTQ6IgAqAG9ic2VydmFibGVzIjthOjA6e31zOjEyOiIAKgByZWxhdGlvbnMiO2E6MDp7fXM6MTA6IgAqAHRvdWNoZXMiO2E6MDp7fXM6Mjc6IgAqAHJlbGF0aW9uQXV0b2xvYWRDYWxsYmFjayI7TjtzOjI2OiIAKgByZWxhdGlvbkF1dG9sb2FkQ29udGV4dCI7TjtzOjEwOiJ0aW1lc3RhbXBzIjtiOjE7czoxMzoidXNlc1VuaXF1ZUlkcyI7YjowO3M6OToiACoAaGlkZGVuIjthOjA6e31zOjEwOiIAKgB2aXNpYmxlIjthOjA6e31zOjExOiIAKgBmaWxsYWJsZSI7YTowOnt9czoxMDoiACoAZ3VhcmRlZCI7YToxOntpOjA7czoxOiIqIjt9fXM6MTU6InBheW1lbnRHYXRld2F5cyI7TzozNToiQXBwXE1vZGVsc1xQYXltZW50R2F0ZXdheUNyZWRlbnRpYWwiOjMzOntzOjEzOiIAKgBjb25uZWN0aW9uIjtzOjU6Im15c3FsIjtzOjg6IgAqAHRhYmxlIjtzOjI3OiJwYXltZW50X2dhdGV3YXlfY3JlZGVudGlhbHMiO3M6MTM6IgAqAHByaW1hcnlLZXkiO3M6MjoiaWQiO3M6MTA6IgAqAGtleVR5cGUiO3M6MzoiaW50IjtzOjEyOiJpbmNyZW1lbnRpbmciO2I6MTtzOjc6IgAqAHdpdGgiO2E6MDp7fXM6MTI6IgAqAHdpdGhDb3VudCI7YTowOnt9czoxOToicHJldmVudHNMYXp5TG9hZGluZyI7YjowO3M6MTA6IgAqAHBlclBhZ2UiO2k6MTU7czo2OiJleGlzdHMiO2I6MTtzOjE4OiJ3YXNSZWNlbnRseUNyZWF0ZWQiO2I6MDtzOjI4OiIAKgBlc2NhcGVXaGVuQ2FzdGluZ1RvU3RyaW5nIjtiOjA7czoxMzoiACoAYXR0cmlidXRlcyI7YTo3ODp7czoyOiJpZCI7aToyO3M6MTM6InJlc3RhdXJhbnRfaWQiO2k6MjtzOjEyOiJyYXpvcnBheV9rZXkiO047czoxNToicmF6b3JwYXlfc2VjcmV0IjtOO3M6MTU6InJhem9ycGF5X3N0YXR1cyI7aTowO3M6MTA6InN0cmlwZV9rZXkiO047czoxMzoic3RyaXBlX3NlY3JldCI7TjtzOjEzOiJzdHJpcGVfc3RhdHVzIjtpOjA7czoxMDoiY3JlYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoxMDoidXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoyNjoiaXNfZGluZV9pbl9wYXltZW50X2VuYWJsZWQiO2k6MDtzOjI3OiJpc19kZWxpdmVyeV9wYXltZW50X2VuYWJsZWQiO2k6MDtzOjI1OiJpc19waWNrdXBfcGF5bWVudF9lbmFibGVkIjtpOjA7czoyMzoiaXNfY2FzaF9wYXltZW50X2VuYWJsZWQiO2k6MDtzOjIxOiJpc19xcl9wYXltZW50X2VuYWJsZWQiO2k6MDtzOjI2OiJpc19vZmZsaW5lX3BheW1lbnRfZW5hYmxlZCI7aTowO3M6MjI6Im9mZmxpbmVfcGF5bWVudF9kZXRhaWwiO047czoxMzoicXJfY29kZV9pbWFnZSI7TjtzOjE4OiJmbHV0dGVyd2F2ZV9zdGF0dXMiO2k6MDtzOjE2OiJmbHV0dGVyd2F2ZV9tb2RlIjtzOjQ6InRlc3QiO3M6MjA6InRlc3RfZmx1dHRlcndhdmVfa2V5IjtOO3M6MjM6InRlc3RfZmx1dHRlcndhdmVfc2VjcmV0IjtOO3M6MjE6InRlc3RfZmx1dHRlcndhdmVfaGFzaCI7TjtzOjIwOiJsaXZlX2ZsdXR0ZXJ3YXZlX2tleSI7TjtzOjIzOiJsaXZlX2ZsdXR0ZXJ3YXZlX3NlY3JldCI7TjtzOjIxOiJsaXZlX2ZsdXR0ZXJ3YXZlX2hhc2giO047czozMToiZmx1dHRlcndhdmVfd2ViaG9va19zZWNyZXRfaGFzaCI7TjtzOjE2OiJwYXlwYWxfY2xpZW50X2lkIjtOO3M6MTM6InBheXBhbF9zZWNyZXQiO047czoxMzoicGF5cGFsX3N0YXR1cyI7aTowO3M6MTE6InBheXBhbF9tb2RlIjtzOjc6InNhbmRib3giO3M6MjQ6InNhbmRib3hfcGF5cGFsX2NsaWVudF9pZCI7TjtzOjIxOiJzYW5kYm94X3BheXBhbF9zZWNyZXQiO047czoxOToicGF5ZmFzdF9tZXJjaGFudF9pZCI7TjtzOjIwOiJwYXlmYXN0X21lcmNoYW50X2tleSI7TjtzOjE4OiJwYXlmYXN0X3Bhc3NwaHJhc2UiO047czoxMjoicGF5ZmFzdF9tb2RlIjtzOjc6InNhbmRib3giO3M6MTQ6InBheWZhc3Rfc3RhdHVzIjtpOjA7czoyNDoidGVzdF9wYXlmYXN0X21lcmNoYW50X2lkIjtOO3M6MjU6InRlc3RfcGF5ZmFzdF9tZXJjaGFudF9rZXkiO047czoyMzoidGVzdF9wYXlmYXN0X3Bhc3NwaHJhc2UiO047czoxMjoicGF5c3RhY2tfa2V5IjtOO3M6MTU6InBheXN0YWNrX3NlY3JldCI7TjtzOjIzOiJwYXlzdGFja19tZXJjaGFudF9lbWFpbCI7TjtzOjE1OiJwYXlzdGFja19zdGF0dXMiO2k6MDtzOjEzOiJwYXlzdGFja19tb2RlIjtzOjc6InNhbmRib3giO3M6MTc6InRlc3RfcGF5c3RhY2tfa2V5IjtOO3M6MjA6InRlc3RfcGF5c3RhY2tfc2VjcmV0IjtOO3M6Mjg6InRlc3RfcGF5c3RhY2tfbWVyY2hhbnRfZW1haWwiO047czoyMDoicGF5c3RhY2tfcGF5bWVudF91cmwiO3M6MjM6Imh0dHBzOi8vYXBpLnBheXN0YWNrLmNvIjtzOjEzOiJ4ZW5kaXRfc3RhdHVzIjtpOjA7czoxMToieGVuZGl0X21vZGUiO3M6Nzoic2FuZGJveCI7czoyMjoidGVzdF94ZW5kaXRfcHVibGljX2tleSI7TjtzOjIyOiJ0ZXN0X3hlbmRpdF9zZWNyZXRfa2V5IjtOO3M6MjI6ImxpdmVfeGVuZGl0X3B1YmxpY19rZXkiO047czoyMjoibGl2ZV94ZW5kaXRfc2VjcmV0X2tleSI7TjtzOjI1OiJ0ZXN0X3hlbmRpdF93ZWJob29rX3Rva2VuIjtOO3M6MjU6ImxpdmVfeGVuZGl0X3dlYmhvb2tfdG9rZW4iO047czoxMToiZXBheV9zdGF0dXMiO2k6MDtzOjk6ImVwYXlfbW9kZSI7czo3OiJzYW5kYm94IjtzOjE0OiJlcGF5X2NsaWVudF9pZCI7TjtzOjE4OiJlcGF5X2NsaWVudF9zZWNyZXQiO047czoxNjoiZXBheV90ZXJtaW5hbF9pZCI7TjtzOjE5OiJ0ZXN0X2VwYXlfY2xpZW50X2lkIjtOO3M6MjM6InRlc3RfZXBheV9jbGllbnRfc2VjcmV0IjtOO3M6MjE6InRlc3RfZXBheV90ZXJtaW5hbF9pZCI7TjtzOjEzOiJtb2xsaWVfc3RhdHVzIjtpOjA7czoxMToibW9sbGllX21vZGUiO3M6NDoidGVzdCI7czoxNToidGVzdF9tb2xsaWVfa2V5IjtOO3M6MTU6ImxpdmVfbW9sbGllX2tleSI7TjtzOjIxOiJtb2xsaWVfd2ViaG9va19zZWNyZXQiO047czoxMDoidGFwX3N0YXR1cyI7aTowO3M6ODoidGFwX21vZGUiO3M6Nzoic2FuZGJveCI7czoxNToidGFwX21lcmNoYW50X2lkIjtOO3M6MTk6ImxpdmVfdGFwX3NlY3JldF9rZXkiO047czoxOToibGl2ZV90YXBfcHVibGljX2tleSI7TjtzOjE5OiJ0ZXN0X3RhcF9zZWNyZXRfa2V5IjtOO3M6MTk6InRlc3RfdGFwX3B1YmxpY19rZXkiO047fXM6MTE6IgAqAG9yaWdpbmFsIjthOjc4OntzOjI6ImlkIjtpOjI7czoxMzoicmVzdGF1cmFudF9pZCI7aToyO3M6MTI6InJhem9ycGF5X2tleSI7TjtzOjE1OiJyYXpvcnBheV9zZWNyZXQiO047czoxNToicmF6b3JwYXlfc3RhdHVzIjtpOjA7czoxMDoic3RyaXBlX2tleSI7TjtzOjEzOiJzdHJpcGVfc2VjcmV0IjtOO3M6MTM6InN0cmlwZV9zdGF0dXMiO2k6MDtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjI2OiJpc19kaW5lX2luX3BheW1lbnRfZW5hYmxlZCI7aTowO3M6Mjc6ImlzX2RlbGl2ZXJ5X3BheW1lbnRfZW5hYmxlZCI7aTowO3M6MjU6ImlzX3BpY2t1cF9wYXltZW50X2VuYWJsZWQiO2k6MDtzOjIzOiJpc19jYXNoX3BheW1lbnRfZW5hYmxlZCI7aTowO3M6MjE6ImlzX3FyX3BheW1lbnRfZW5hYmxlZCI7aTowO3M6MjY6ImlzX29mZmxpbmVfcGF5bWVudF9lbmFibGVkIjtpOjA7czoyMjoib2ZmbGluZV9wYXltZW50X2RldGFpbCI7TjtzOjEzOiJxcl9jb2RlX2ltYWdlIjtOO3M6MTg6ImZsdXR0ZXJ3YXZlX3N0YXR1cyI7aTowO3M6MTY6ImZsdXR0ZXJ3YXZlX21vZGUiO3M6NDoidGVzdCI7czoyMDoidGVzdF9mbHV0dGVyd2F2ZV9rZXkiO047czoyMzoidGVzdF9mbHV0dGVyd2F2ZV9zZWNyZXQiO047czoyMToidGVzdF9mbHV0dGVyd2F2ZV9oYXNoIjtOO3M6MjA6ImxpdmVfZmx1dHRlcndhdmVfa2V5IjtOO3M6MjM6ImxpdmVfZmx1dHRlcndhdmVfc2VjcmV0IjtOO3M6MjE6ImxpdmVfZmx1dHRlcndhdmVfaGFzaCI7TjtzOjMxOiJmbHV0dGVyd2F2ZV93ZWJob29rX3NlY3JldF9oYXNoIjtOO3M6MTY6InBheXBhbF9jbGllbnRfaWQiO047czoxMzoicGF5cGFsX3NlY3JldCI7TjtzOjEzOiJwYXlwYWxfc3RhdHVzIjtpOjA7czoxMToicGF5cGFsX21vZGUiO3M6Nzoic2FuZGJveCI7czoyNDoic2FuZGJveF9wYXlwYWxfY2xpZW50X2lkIjtOO3M6MjE6InNhbmRib3hfcGF5cGFsX3NlY3JldCI7TjtzOjE5OiJwYXlmYXN0X21lcmNoYW50X2lkIjtOO3M6MjA6InBheWZhc3RfbWVyY2hhbnRfa2V5IjtOO3M6MTg6InBheWZhc3RfcGFzc3BocmFzZSI7TjtzOjEyOiJwYXlmYXN0X21vZGUiO3M6Nzoic2FuZGJveCI7czoxNDoicGF5ZmFzdF9zdGF0dXMiO2k6MDtzOjI0OiJ0ZXN0X3BheWZhc3RfbWVyY2hhbnRfaWQiO047czoyNToidGVzdF9wYXlmYXN0X21lcmNoYW50X2tleSI7TjtzOjIzOiJ0ZXN0X3BheWZhc3RfcGFzc3BocmFzZSI7TjtzOjEyOiJwYXlzdGFja19rZXkiO047czoxNToicGF5c3RhY2tfc2VjcmV0IjtOO3M6MjM6InBheXN0YWNrX21lcmNoYW50X2VtYWlsIjtOO3M6MTU6InBheXN0YWNrX3N0YXR1cyI7aTowO3M6MTM6InBheXN0YWNrX21vZGUiO3M6Nzoic2FuZGJveCI7czoxNzoidGVzdF9wYXlzdGFja19rZXkiO047czoyMDoidGVzdF9wYXlzdGFja19zZWNyZXQiO047czoyODoidGVzdF9wYXlzdGFja19tZXJjaGFudF9lbWFpbCI7TjtzOjIwOiJwYXlzdGFja19wYXltZW50X3VybCI7czoyMzoiaHR0cHM6Ly9hcGkucGF5c3RhY2suY28iO3M6MTM6InhlbmRpdF9zdGF0dXMiO2k6MDtzOjExOiJ4ZW5kaXRfbW9kZSI7czo3OiJzYW5kYm94IjtzOjIyOiJ0ZXN0X3hlbmRpdF9wdWJsaWNfa2V5IjtOO3M6MjI6InRlc3RfeGVuZGl0X3NlY3JldF9rZXkiO047czoyMjoibGl2ZV94ZW5kaXRfcHVibGljX2tleSI7TjtzOjIyOiJsaXZlX3hlbmRpdF9zZWNyZXRfa2V5IjtOO3M6MjU6InRlc3RfeGVuZGl0X3dlYmhvb2tfdG9rZW4iO047czoyNToibGl2ZV94ZW5kaXRfd2ViaG9va190b2tlbiI7TjtzOjExOiJlcGF5X3N0YXR1cyI7aTowO3M6OToiZXBheV9tb2RlIjtzOjc6InNhbmRib3giO3M6MTQ6ImVwYXlfY2xpZW50X2lkIjtOO3M6MTg6ImVwYXlfY2xpZW50X3NlY3JldCI7TjtzOjE2OiJlcGF5X3Rlcm1pbmFsX2lkIjtOO3M6MTk6InRlc3RfZXBheV9jbGllbnRfaWQiO047czoyMzoidGVzdF9lcGF5X2NsaWVudF9zZWNyZXQiO047czoyMToidGVzdF9lcGF5X3Rlcm1pbmFsX2lkIjtOO3M6MTM6Im1vbGxpZV9zdGF0dXMiO2k6MDtzOjExOiJtb2xsaWVfbW9kZSI7czo0OiJ0ZXN0IjtzOjE1OiJ0ZXN0X21vbGxpZV9rZXkiO047czoxNToibGl2ZV9tb2xsaWVfa2V5IjtOO3M6MjE6Im1vbGxpZV93ZWJob29rX3NlY3JldCI7TjtzOjEwOiJ0YXBfc3RhdHVzIjtpOjA7czo4OiJ0YXBfbW9kZSI7czo3OiJzYW5kYm94IjtzOjE1OiJ0YXBfbWVyY2hhbnRfaWQiO047czoxOToibGl2ZV90YXBfc2VjcmV0X2tleSI7TjtzOjE5OiJsaXZlX3RhcF9wdWJsaWNfa2V5IjtOO3M6MTk6InRlc3RfdGFwX3NlY3JldF9rZXkiO047czoxOToidGVzdF90YXBfcHVibGljX2tleSI7Tjt9czoxMDoiACoAY2hhbmdlcyI7YTowOnt9czoxMToiACoAcHJldmlvdXMiO2E6MDp7fXM6ODoiACoAY2FzdHMiO2E6NDp7czoxMDoic3RyaXBlX2tleSI7czo5OiJlbmNyeXB0ZWQiO3M6MTI6InJhem9ycGF5X2tleSI7czo5OiJlbmNyeXB0ZWQiO3M6MTM6InN0cmlwZV9zZWNyZXQiO3M6OToiZW5jcnlwdGVkIjtzOjE1OiJyYXpvcnBheV9zZWNyZXQiO3M6OToiZW5jcnlwdGVkIjt9czoxNzoiACoAY2xhc3NDYXN0Q2FjaGUiO2E6MDp7fXM6MjE6IgAqAGF0dHJpYnV0ZUNhc3RDYWNoZSI7YTowOnt9czoxMzoiACoAZGF0ZUZvcm1hdCI7TjtzOjEwOiIAKgBhcHBlbmRzIjthOjE6e2k6MDtzOjE3OiJxcl9jb2RlX2ltYWdlX3VybCI7fXM6MTk6IgAqAGRpc3BhdGNoZXNFdmVudHMiO2E6MDp7fXM6MTQ6IgAqAG9ic2VydmFibGVzIjthOjA6e31zOjEyOiIAKgByZWxhdGlvbnMiO2E6MDp7fXM6MTA6IgAqAHRvdWNoZXMiO2E6MDp7fXM6Mjc6IgAqAHJlbGF0aW9uQXV0b2xvYWRDYWxsYmFjayI7TjtzOjI2OiIAKgByZWxhdGlvbkF1dG9sb2FkQ29udGV4dCI7TjtzOjEwOiJ0aW1lc3RhbXBzIjtiOjE7czoxMzoidXNlc1VuaXF1ZUlkcyI7YjowO3M6OToiACoAaGlkZGVuIjthOjA6e31zOjEwOiIAKgB2aXNpYmxlIjthOjA6e31zOjExOiIAKgBmaWxsYWJsZSI7YTowOnt9czoxMDoiACoAZ3VhcmRlZCI7YToxOntpOjA7czoyOiJpZCI7fX19czoxMDoiACoAdG91Y2hlcyI7YTowOnt9czoyNzoiACoAcmVsYXRpb25BdXRvbG9hZENhbGxiYWNrIjtOO3M6MjY6IgAqAHJlbGF0aW9uQXV0b2xvYWRDb250ZXh0IjtOO3M6MTA6InRpbWVzdGFtcHMiO2I6MTtzOjEzOiJ1c2VzVW5pcXVlSWRzIjtiOjA7czo5OiIAKgBoaWRkZW4iO2E6MDp7fXM6MTA6IgAqAHZpc2libGUiO2E6MDp7fXM6MTE6IgAqAGZpbGxhYmxlIjthOjA6e31zOjEwOiIAKgBndWFyZGVkIjthOjE6e2k6MDtzOjI6ImlkIjt9czoxNzoiY3VzdG9tZXJJcEFkZHJlc3MiO047czoyNDoiZXN0aW1hdGlvbkJpbGxpbmdBZGRyZXNzIjthOjA6e31zOjEzOiJjb2xsZWN0VGF4SWRzIjtiOjA7czo4OiJjb3Vwb25JZCI7TjtzOjE1OiJwcm9tb3Rpb25Db2RlSWQiO047czoxOToiYWxsb3dQcm9tb3Rpb25Db2RlcyI7YjowO31zOjY6ImJyYW5jaCI7TzoxNzoiQXBwXE1vZGVsc1xCcmFuY2giOjMzOntzOjEzOiIAKgBjb25uZWN0aW9uIjtzOjU6Im15c3FsIjtzOjg6IgAqAHRhYmxlIjtzOjg6ImJyYW5jaGVzIjtzOjEzOiIAKgBwcmltYXJ5S2V5IjtzOjI6ImlkIjtzOjEwOiIAKgBrZXlUeXBlIjtzOjM6ImludCI7czoxMjoiaW5jcmVtZW50aW5nIjtiOjE7czo3OiIAKgB3aXRoIjthOjA6e31zOjEyOiIAKgB3aXRoQ291bnQiO2E6MDp7fXM6MTk6InByZXZlbnRzTGF6eUxvYWRpbmciO2I6MDtzOjEwOiIAKgBwZXJQYWdlIjtpOjE1O3M6NjoiZXhpc3RzIjtiOjE7czoxODoid2FzUmVjZW50bHlDcmVhdGVkIjtiOjA7czoyODoiACoAZXNjYXBlV2hlbkNhc3RpbmdUb1N0cmluZyI7YjowO3M6MTM6IgAqAGF0dHJpYnV0ZXMiO2E6MjM6e3M6MjoiaWQiO2k6MztzOjExOiJ1bmlxdWVfaGFzaCI7czoyMDoiMTkyZGIzMDU5ZTRhZmM3YTQ4YTciO3M6MTM6InJlc3RhdXJhbnRfaWQiO2k6MjtzOjQ6Im5hbWUiO3M6MzoiTmV3IjtzOjE4OiJjbG9uZWRfYnJhbmNoX25hbWUiO047czoxNjoiY2xvbmVkX2JyYW5jaF9pZCI7TjtzOjEzOiJpc19tZW51X2Nsb25lIjtpOjA7czoyNDoiaXNfaXRlbV9jYXRlZ29yaWVzX2Nsb25lIjtpOjA7czoxOToiaXNfbWVudV9pdGVtc19jbG9uZSI7aTowO3M6MjM6ImlzX2l0ZW1fbW9kaWZpZXJzX2Nsb25lIjtpOjA7czoyOToiaXNfY2xvbmVfcmVzZXJ2YXRpb25fc2V0dGluZ3MiO2k6MDtzOjI2OiJpc19jbG9uZV9kZWxpdmVyeV9zZXR0aW5ncyI7aTowO3M6MjA6ImlzX2Nsb25lX2tvdF9zZXR0aW5nIjtpOjA7czoyNToiaXNfbW9kaWZpZXJzX2dyb3Vwc19jbG9uZSI7aTowO3M6NzoiYWRkcmVzcyI7czo0OiJ0ZXN0IjtzOjk6ImNyX251bWJlciI7TjtzOjEwOiJ2YXRfbnVtYmVyIjtOO3M6MTA6ImNyZWF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6MTA6InVwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDgtMDggMDc6MTc6MDUiO3M6MzoibGF0IjtOO3M6MzoibG5nIjtOO3M6MTI6ImNvdW50X29yZGVycyI7aTo4O3M6MTI6InRvdGFsX29yZGVycyI7aTotMTt9czoxMToiACoAb3JpZ2luYWwiO2E6MjM6e3M6MjoiaWQiO2k6MztzOjExOiJ1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czoyMzoiaGlkZV9uZXdfd2FpdGVyX3JlcXVlc3QiO2k6MDtzOjExOiJjdXJyZW5jeV9pZCI7aTo1O3M6MTI6ImxpY2Vuc2VfdHlwZSI7czo0OiJmcmVlIjtzOjk6ImlzX2FjdGl2ZSI7aToxO3M6MTA6ImNyZWF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6MTA6InVwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMjMgMTE6NDE6MjciO3M6MjM6ImN1c3RvbWVyX2xvZ2luX3JlcXVpcmVkIjtpOjA7czo4OiJhYm91dF91cyI7TjtzOjMwOiJhbGxvd19jdXN0b21lcl9kZWxpdmVyeV9vcmRlcnMiO2k6MTtzOjI4OiJhbGxvd19jdXN0b21lcl9waWNrdXBfb3JkZXJzIjtpOjE7czoxNzoicGlja3VwX2RheXNfcmFuZ2UiO2k6NztzOjIxOiJhbGxvd19jdXN0b21lcl9vcmRlcnMiO2k6MTtzOjIwOiJhbGxvd19kaW5lX2luX29yZGVycyI7aToxO3M6ODoic2hvd192ZWciO2k6MTtzOjEwOiJzaG93X2hhbGFsIjtpOjA7czoxMDoicGFja2FnZV9pZCI7aTo1O3M6MTI6InBhY2thZ2VfdHlwZSI7czo1OiJ0cmlhbCI7czo2OiJzdGF0dXMiO3M6NjoiYWN0aXZlIjtzOjE3OiJsaWNlbnNlX2V4cGlyZV9vbiI7czoxOToiMjAyNi0wNS0xNSAwNzozMTo0NSI7czoxMzoidHJpYWxfZW5kc19hdCI7czoxOToiMjAyNi0wNS0xNSAwNzozMTo0NSI7czoxODoibGljZW5zZV91cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjIzOiJzdWJzY3JpcHRpb25fdXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czo5OiJzdHJpcGVfaWQiO047czo3OiJwbV90eXBlIjtOO3M6MTI6InBtX2xhc3RfZm91ciI7TjtzOjI1OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkIjtpOjE7czozMjoiZGVmYXVsdF90YWJsZV9yZXNlcnZhdGlvbl9zdGF0dXMiO3M6OToiQ29uZmlybWVkIjtzOjIwOiJkaXNhYmxlX3Nsb3RfbWludXRlcyI7aTozMDtzOjE1OiJhcHByb3ZhbF9zdGF0dXMiO3M6ODoiQXBwcm92ZWQiO3M6MTY6InJlamVjdGlvbl9yZWFzb24iO047czoxMzoiZmFjZWJvb2tfbGluayI7TjtzOjE0OiJpbnN0YWdyYW1fbGluayI7TjtzOjEyOiJ0d2l0dGVyX2xpbmsiO047czo5OiJ5ZWxwX2xpbmsiO047czoyMDoiZ29vZ2xlX2J1c2luZXNzX2xpbmsiO047czo5OiJ3aWZpX25hbWUiO047czoxMzoid2lmaV9wYXNzd29yZCI7TjtzOjE0OiJzaG93X3dpZmlfaWNvbiI7aTowO3M6MTQ6InRhYmxlX3JlcXVpcmVkIjtpOjA7czoxNDoic2hvd19sb2dvX3RleHQiO2k6MTtzOjEyOiJtZXRhX2tleXdvcmQiO047czoxNjoibWV0YV9kZXNjcmlwdGlvbiI7TjtzOjM0OiJ1cGxvYWRfZmF2X2ljb25fYW5kcm9pZF9jaHJvbWVfMTkyIjtOO3M6MzQ6InVwbG9hZF9mYXZfaWNvbl9hbmRyb2lkX2Nocm9tZV81MTIiO047czozMjoidXBsb2FkX2Zhdl9pY29uX2FwcGxlX3RvdWNoX2ljb24iO047czoxNzoidXBsb2FkX2Zhdmljb25fMTYiO047czoxNzoidXBsb2FkX2Zhdmljb25fMzIiO047czo3OiJmYXZpY29uIjtOO3M6MzY6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb25fZGVza3RvcCI7aToxO3M6MzU6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb25fbW9iaWxlIjtpOjE7czozNjoiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vcGVuX2J5X3FyIjtpOjA7czoxMToid2VibWFuaWZlc3QiO047czoxNToiZW5hYmxlX3RpcF9zaG9wIjtpOjE7czoxNDoiZW5hYmxlX3RpcF9wb3MiO2k6MTtzOjI1OiJpc19wd2FfaW5zdGFsbF9hbGVydF9zaG93IjtpOjA7czoxOToiYXV0b19jb25maXJtX29yZGVycyI7aTowO3M6MzQ6ImF1dG9fY29uZmlybV9vcmRlcnNfYmVmb3JlX3BheW1lbnQiO2k6MDtzOjMzOiJhdXRvX2NvbmZpcm1fb3JkZXJzX2FmdGVyX3BheW1lbnQiO2k6MDtzOjI5OiJyZXN0cmljdF9xcl9vcmRlcl9ieV9sb2NhdGlvbiI7aTowO3M6MjI6InFyX29yZGVyX3JhZGl1c19tZXRlcnMiO047czoyMzoic2hvd19vcmRlcl90eXBlX29wdGlvbnMiO2k6MTtzOjI0OiJkaXNhYmxlX29yZGVyX3R5cGVfcG9wdXAiO2k6MTtzOjI2OiJyZXN0YXVyYW50X29wZW5fY2xvc2VfbW9kZSI7czo0OiJhdXRvIjtzOjMzOiJyZXN0YXVyYW50X21hbnVhbF9vcGVuX2Nsb3NlX3R5cGUiO3M6NDoidGltZSI7czoxNjoibWFudWFsX29wZW5fdGltZSI7TjtzOjE3OiJtYW51YWxfY2xvc2VfdGltZSI7TjtzOjIxOiJpc190ZW1wb3JhcmlseV9jbG9zZWQiO2k6MDtzOjIxOiJkZWZhdWx0X29yZGVyX3R5cGVfaWQiO2k6NztzOjI3OiJoaWRlX21lbnVfaXRlbV9pbWFnZV9vbl9wb3MiO2k6MDtzOjM3OiJoaWRlX21lbnVfaXRlbV9pbWFnZV9vbl9jdXN0b21lcl9zaXRlIjtpOjA7czo4OiJ0YXhfbW9kZSI7czo1OiJvcmRlciI7czoxMzoidGF4X2luY2x1c2l2ZSI7aTowO3M6Mjc6ImluY2x1ZGVfY2hhcmdlc19pbl90YXhfYmFzZSI7aTowO3M6MjI6ImN1c3RvbWVyX3NpdGVfbGFuZ3VhZ2UiO3M6MjoiZW4iO3M6MjQ6ImVuYWJsZV9hZG1pbl9yZXNlcnZhdGlvbiI7aToxO3M6Mjc6ImVuYWJsZV9jdXN0b21lcl9yZXNlcnZhdGlvbiI7aToxO3M6MTg6Im1pbmltdW1fcGFydHlfc2l6ZSI7aToxO3M6MjY6InRhYmxlX2xvY2tfdGltZW91dF9taW51dGVzIjtpOjEwO3M6MTg6Im1vbGxpZV9jdXN0b21lcl9pZCI7Tjt9czoxMToiACoAb3JpZ2luYWwiO2E6OTU6e3M6MjoiaWQiO2k6MjtzOjQ6Im5hbWUiO3M6NDoiVGVzdCI7czo0OiJoYXNoIjtzOjQ6InRlc3QiO3M6NzoiYWRkcmVzcyI7czo0OiJ0ZXN0IjtzOjEyOiJwaG9uZV9udW1iZXIiO3M6OToiMTIzNDU2Nzg5IjtzOjEwOiJwaG9uZV9jb2RlIjtzOjI6IjkyIjtzOjU6ImVtYWlsIjtzOjEzOiJ0ZXN0QHRlc3QuY29tIjtzOjg6InRpbWV6b25lIjtzOjEyOiJBc2lhL0thcmFjaGkiO3M6MTE6InRpbWVfZm9ybWF0IjtzOjU6Img6aSBBIjtzOjExOiJkYXRlX2Zvcm1hdCI7czo1OiJkL20vWSI7czo5OiJ0aGVtZV9oZXgiO3M6NzoiI0E3OEJGQSI7czo5OiJ0aGVtZV9yZ2IiO3M6MTM6IjE2NywgMTM5LCAyNTAiO3M6NDoibG9nbyI7TjtzOjEwOiJjb3VudHJ5X2lkIjtpOjE2ODtzOjE1OiJoaWRlX25ld19vcmRlcnMiO2k6MDtzOjIxOiJoaWRlX25ld19yZXNlcnZhdGlvbnMiO2k6MDtzOjIzOiJoaWRlX25ld193YWl0ZXJfcmVxdWVzdCI7aTowO3M6MTE6ImN1cnJlbmN5X2lkIjtpOjU7czoxMjoibGljZW5zZV90eXBlIjtzOjQ6ImZyZWUiO3M6OToiaXNfYWN0aXZlIjtpOjE7czoxMDoiY3JlYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoxMDoidXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0yMyAxMTo0MToyNyI7czoyMzoiY3VzdG9tZXJfbG9naW5fcmVxdWlyZWQiO2k6MDtzOjg6ImFib3V0X3VzIjtOO3M6MzA6ImFsbG93X2N1c3RvbWVyX2RlbGl2ZXJ5X29yZGVycyI7aToxO3M6Mjg6ImFsbG93X2N1c3RvbWVyX3BpY2t1cF9vcmRlcnMiO2k6MTtzOjE3OiJwaWNrdXBfZGF5c19yYW5nZSI7aTo3O3M6MjE6ImFsbG93X2N1c3RvbWVyX29yZGVycyI7aToxO3M6MjA6ImFsbG93X2RpbmVfaW5fb3JkZXJzIjtpOjE7czo4OiJzaG93X3ZlZyI7aToxO3M6MTA6InNob3dfaGFsYWwiO2k6MDtzOjEwOiJwYWNrYWdlX2lkIjtpOjU7czoxMjoicGFja2FnZV90eXBlIjtzOjU6InRyaWFsIjtzOjY6InN0YXR1cyI7czo2OiJhY3RpdmUiO3M6MTc6ImxpY2Vuc2VfZXhwaXJlX29uIjtzOjE5OiIyMDI2LTA1LTE1IDA3OjMxOjQ1IjtzOjEzOiJ0cmlhbF9lbmRzX2F0IjtzOjE5OiIyMDI2LTA1LTE1IDA3OjMxOjQ1IjtzOjE4OiJsaWNlbnNlX3VwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6MjM6InN1YnNjcmlwdGlvbl91cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjk6InN0cmlwZV9pZCI7TjtzOjc6InBtX3R5cGUiO047czoxMjoicG1fbGFzdF9mb3VyIjtOO3M6MjU6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWQiO2k6MTtzOjMyOiJkZWZhdWx0X3RhYmxlX3Jlc2VydmF0aW9uX3N0YXR1cyI7czo5OiJDb25maXJtZWQiO3M6MjA6ImRpc2FibGVfc2xvdF9taW51dGVzIjtpOjMwO3M6MTU6ImFwcHJvdmFsX3N0YXR1cyI7czo4OiJBcHByb3ZlZCI7czoxNjoicmVqZWN0aW9uX3JlYXNvbiI7TjtzOjEzOiJmYWNlYm9va19saW5rIjtOO3M6MTQ6Imluc3RhZ3JhbV9saW5rIjtOO3M6MTI6InR3aXR0ZXJfbGluayI7TjtzOjk6InllbHBfbGluayI7TjtzOjIwOiJnb29nbGVfYnVzaW5lc3NfbGluayI7TjtzOjk6IndpZmlfbmFtZSI7TjtzOjEzOiJ3aWZpX3Bhc3N3b3JkIjtOO3M6MTQ6InNob3dfd2lmaV9pY29uIjtpOjA7czoxNDoidGFibGVfcmVxdWlyZWQiO2k6MDtzOjE0OiJzaG93X2xvZ29fdGV4dCI7aToxO3M6MTI6Im1ldGFfa2V5d29yZCI7TjtzOjE2OiJtZXRhX2Rlc2NyaXB0aW9uIjtOO3M6MzQ6InVwbG9hZF9mYXZfaWNvbl9hbmRyb2lkX2Nocm9tZV8xOTIiO047czozNDoidXBsb2FkX2Zhdl9pY29uX2FuZHJvaWRfY2hyb21lXzUxMiI7TjtzOjMyOiJ1cGxvYWRfZmF2X2ljb25fYXBwbGVfdG91Y2hfaWNvbiI7TjtzOjE3OiJ1cGxvYWRfZmF2aWNvbl8xNiI7TjtzOjE3OiJ1cGxvYWRfZmF2aWNvbl8zMiI7TjtzOjc6ImZhdmljb24iO047czozNjoiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vbl9kZXNrdG9wIjtpOjE7czozNToiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vbl9tb2JpbGUiO2k6MTtzOjM2OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkX29wZW5fYnlfcXIiO2k6MDtzOjExOiJ3ZWJtYW5pZmVzdCI7TjtzOjE1OiJlbmFibGVfdGlwX3Nob3AiO2k6MTtzOjE0OiJlbmFibGVfdGlwX3BvcyI7aToxO3M6MjU6ImlzX3B3YV9pbnN0YWxsX2FsZXJ0X3Nob3ciO2k6MDtzOjE5OiJhdXRvX2NvbmZpcm1fb3JkZXJzIjtpOjA7czozNDoiYXV0b19jb25maXJtX29yZGVyc19iZWZvcmVfcGF5bWVudCI7aTowO3M6MzM6ImF1dG9fY29uZmlybV9vcmRlcnNfYWZ0ZXJfcGF5bWVudCI7aTowO3M6Mjk6InJlc3RyaWN0X3FyX29yZGVyX2J5X2xvY2F0aW9uIjtpOjA7czoyMjoicXJfb3JkZXJfcmFkaXVzX21ldGVycyI7TjtzOjIzOiJzaG93X29yZGVyX3R5cGVfb3B0aW9ucyI7aToxO3M6MjQ6ImRpc2FibGVfb3JkZXJfdHlwZV9wb3B1cCI7aToxO3M6MjY6InJlc3RhdXJhbnRfb3Blbl9jbG9zZV9tb2RlIjtzOjQ6ImF1dG8iO3M6MzM6InJlc3RhdXJhbnRfbWFudWFsX29wZW5fY2xvc2VfdHlwZSI7czo0OiJ0aW1lIjtzOjE2OiJtYW51YWxfb3Blbl90aW1lIjtOO3M6MTc6Im1hbnVhbF9jbG9zZV90aW1lIjtOO3M6MjE6ImlzX3RlbXBvcmFyaWx5X2Nsb3NlZCI7aTowO3M6MjE6ImRlZmF1bHRfb3JkZXJfdHlwZV9pZCI7aTo3O3M6Mjc6ImhpZGVfbWVudV9pdGVtX2ltYWdlX29uX3BvcyI7aTowO3M6Mzc6ImhpZGVfbWVudV9pdGVtX2ltYWdlX29uX2N1c3RvbWVyX3NpdGUiO2k6MDtzOjg6InRheF9tb2RlIjtzOjU6Im9yZGVyIjtzOjEzOiJ0YXhfaW5jbHVzaXZlIjtpOjA7czoyNzoiaW5jbHVkZV9jaGFyZ2VzX2luX3RheF9iYXNlIjtpOjA7czoyMjoiY3VzdG9tZXJfc2l0ZV9sYW5ndWFnZSI7czoyOiJlbiI7czoyNDoiZW5hYmxlX2FkbWluX3Jlc2VydmF0aW9uIjtpOjE7czoyNzoiZW5hYmxlX2N1c3RvbWVyX3Jlc2VydmF0aW9uIjtpOjE7czoxODoibWluaW11bV9wYXJ0eV9zaXplIjtpOjE7czoyNjoidGFibGVfbG9ja190aW1lb3V0X21pbnV0ZXMiO2k6MTA7czoxODoibW9sbGllX2N1c3RvbWVyX2lkIjtOO31zOjEwOiIAKgBjaGFuZ2VzIjthOjA6e31zOjExOiIAKgBwcmV2aW91cyI7YTowOnt9czo4OiIAKgBjYXN0cyI7YToxNjp7czoxNzoibGljZW5zZV9leHBpcmVfb24iO3M6ODoiZGF0ZXRpbWUiO3M6MTU6InRyaWFsX2V4cGlyZV9vbiI7czo4OiJkYXRldGltZSI7czoxODoibGljZW5zZV91cGRhdGVkX2F0IjtzOjg6ImRhdGV0aW1lIjtzOjIzOiJzdWJzY3JpcHRpb25fdXBkYXRlZF9hdCI7czo4OiJkYXRldGltZSI7czoxMDoiY3JlYXRlZF9hdCI7czo4OiJkYXRldGltZSI7czoxMDoidXBkYXRlZF9hdCI7czo4OiJkYXRldGltZSI7czoyMzoiY3VzdG9tX2RlbGl2ZXJ5X29wdGlvbnMiO3M6NToiYXJyYXkiO3M6OToiaXNfYWN0aXZlIjtzOjc6ImJvb2xlYW4iO3M6MjQ6ImVuYWJsZV9hZG1pbl9yZXNlcnZhdGlvbiI7czo3OiJib29sZWFuIjtzOjI3OiJlbmFibGVfY3VzdG9tZXJfcmVzZXJ2YXRpb24iO3M6NzoiYm9vbGVhbiI7czoyOToicmVzdHJpY3RfcXJfb3JkZXJfYnlfbG9jYXRpb24iO3M6NzoiYm9vbGVhbiI7czoxMDoiYWlfZW5hYmxlZCI7czo3OiJib29sZWFuIjtzOjE2OiJhaV9hbGxvd2VkX3JvbGVzIjtzOjU6ImFycmF5IjtzOjE5OiJhaV9tb250aGx5X3Jlc2V0X2F0IjtzOjQ6ImRhdGUiO3M6MjE6ImlzX3RlbXBvcmFyaWx5X2Nsb3NlZCI7czo3OiJib29sZWFuIjtzOjMzOiJyZXN0YXVyYW50X21hbnVhbF9vcGVuX2Nsb3NlX3R5cGUiO3M6Njoic3RyaW5nIjt9czoxNzoiACoAY2xhc3NDYXN0Q2FjaGUiO2E6MDp7fXM6MjE6IgAqAGF0dHJpYnV0ZUNhc3RDYWNoZSI7YTowOnt9czoxMzoiACoAZGF0ZUZvcm1hdCI7TjtzOjEwOiIAKgBhcHBlbmRzIjthOjE6e2k6MDtzOjg6ImxvZ29fdXJsIjt9czoxOToiACoAZGlzcGF0Y2hlc0V2ZW50cyI7YTowOnt9czoxNDoiACoAb2JzZXJ2YWJsZXMiO2E6MDp7fXM6MTI6IgAqAHJlbGF0aW9ucyI7YTowOnt9czoxMDoiACoAdG91Y2hlcyI7YTowOnt9czoyNzoiACoAcmVsYXRpb25BdXRvbG9hZENhbGxiYWNrIjtOO3M6MjY6IgAqAHJlbGF0aW9uQXV0b2xvYWRDb250ZXh0IjtOO3M6MTA6InRpbWVzdGFtcHMiO2I6MTtzOjEzOiJ1c2VzVW5pcXVlSWRzIjtiOjA7czo5OiIAKgBoaWRkZW4iO2E6MDp7fXM6MTA6IgAqAHZpc2libGUiO2E6MDp7fXM6MTE6IgAqAGZpbGxhYmxlIjthOjA6e31zOjEwOiIAKgBndWFyZGVkIjthOjE6e2k6MDtzOjI6ImlkIjt9czoxNzoiY3VzdG9tZXJJcEFkZHJlc3MiO047czoyNDoiZXN0aW1hdGlvbkJpbGxpbmdBZGRyZXNzIjthOjA6e31zOjEzOiJjb2xsZWN0VGF4SWRzIjtiOjA7czo4OiJjb3Vwb25JZCI7TjtzOjE1OiJwcm9tb3Rpb25Db2RlSWQiO047czoxOToiYWxsb3dQcm9tb3Rpb25Db2RlcyI7YjowO319czoxMDoiACoAdG91Y2hlcyI7YTowOnt9czoyNzoiACoAcmVsYXRpb25BdXRvbG9hZENhbGxiYWNrIjtOO3M6MjY6IgAqAHJlbGF0aW9uQXV0b2xvYWRDb250ZXh0IjtOO3M6MTA6InRpbWVzdGFtcHMiO2I6MTtzOjEzOiJ1c2VzVW5pcXVlSWRzIjtiOjA7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X25ld19vcmRlcnMiO2k6MDtzOjIxOiJoaWRlX25ld19yZXNlcnZhdGlvbnMiO2k6MDtzOjIzOiJoaWRlX25ld193YWl0ZXJfcmVxdWVzdCI7aTowO3M6MTE6ImN1cnJlbmN5X2lkIjtpOjU7czoxMjoibGljZW5zZV90eXBlIjtzOjQ6ImZyZWUiO3M6OToiaXNfYWN0aXZlIjtpOjE7czoxMDoiY3JlYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoxMDoidXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0yMyAxMTo0MToyNyI7czoyMzoiY3VzdG9tZXJfbG9naW5fcmVxdWlyZWQiO2k6MDtzOjg6ImFib3V0X3VzIjtOO3M6MzA6ImFsbG93X2N1c3RvbWVyX2RlbGl2ZXJ5X29yZGVycyI7aToxO3M6Mjg6ImFsbG93X2N1c3RvbWVyX3BpY2t1cF9vcmRlcnMiO2k6MTtzOjE3OiJwaWNrdXBfZGF5c19yYW5nZSI7aTo3O3M6MjE6ImFsbG93X2N1c3RvbWVyX29yZGVycyI7aToxO3M6MjA6ImFsbG93X2RpbmVfaW5fb3JkZXJzIjtpOjE7czo4OiJzaG93X3ZlZyI7aToxO3M6MTA6InNob3dfaGFsYWwiO2k6MDtzOjEwOiJwYWNrYWdlX2lkIjtpOjU7czoxMjoicGFja2FnZV90eXBlIjtzOjU6InRyaWFsIjtzOjY6InN0YXR1cyI7czo2OiJhY3RpdmUiO3M6MTc6ImxpY2Vuc2VfZXhwaXJlX29uIjtzOjE5OiIyMDI2LTA1LTE1IDA3OjMxOjQ1IjtzOjEzOiJ0cmlhbF9lbmRzX2F0IjtzOjE5OiIyMDI2LTA1LTE1IDA3OjMxOjQ1IjtzOjE4OiJsaWNlbnNlX3VwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6MjM6InN1YnNjcmlwdGlvbl91cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjk6InN0cmlwZV9pZCI7TjtzOjc6InBtX3R5cGUiO047czoxMjoicG1fbGFzdF9mb3VyIjtOO3M6MjU6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWQiO2k6MTtzOjMyOiJkZWZhdWx0X3RhYmxlX3Jlc2VydmF0aW9uX3N0YXR1cyI7czo5OiJDb25maXJtZWQiO3M6MjA6ImRpc2FibGVfc2xvdF9taW51dGVzIjtpOjMwO3M6MTU6ImFwcHJvdmFsX3N0YXR1cyI7czo4OiJBcHByb3ZlZCI7czoxNjoicmVqZWN0aW9uX3JlYXNvbiI7TjtzOjEzOiJmYWNlYm9va19saW5rIjtOO3M6MTQ6Imluc3RhZ3JhbV9saW5rIjtOO3M6MTI6InR3aXR0ZXJfbGluayI7TjtzOjk6InllbHBfbGluayI7TjtzOjIwOiJnb29nbGVfYnVzaW5lc3NfbGluayI7TjtzOjk6IndpZmlfbmFtZSI7TjtzOjEzOiJ3aWZpX3Bhc3N3b3JkIjtOO3M6MTQ6InNob3dfd2lmaV9pY29uIjtpOjA7czoxNDoidGFibGVfcmVxdWlyZWQiO2k6MDtzOjE0OiJzaG93X2xvZ29fdGV4dCI7aToxO3M6MTI6Im1ldGFfa2V5d29yZCI7TjtzOjE2OiJtZXRhX2Rlc2NyaXB0aW9uIjtOO3M6MzQ6InVwbG9hZF9mYXZfaWNvbl9hbmRyb2lkX2Nocm9tZV8xOTIiO047czozNDoidXBsb2FkX2Zhdl9pY29uX2FuZHJvaWRfY2hyb21lXzUxMiI7TjtzOjMyOiJ1cGxvYWRfZmF2X2ljb25fYXBwbGVfdG91Y2hfaWNvbiI7TjtzOjE3OiJ1cGxvYWRfZmF2aWNvbl8xNiI7TjtzOjE3OiJ1cGxvYWRfZmF2aWNvbl8zMiI7TjtzOjc6ImZhdmljb24iO047czozNjoiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vbl9kZXNrdG9wIjtpOjE7czozNToiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZF9vbl9tb2JpbGUiO2k6MTtzOjM2OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkX29wZW5fYnlfcXIiO2k6MDtzOjExOiJ3ZWJtYW5pZmVzdCI7TjtzOjE1OiJlbmFibGVfdGlwX3Nob3AiO2k6MTtzOjE0OiJlbmFibGVfdGlwX3BvcyI7aToxO3M6MjU6ImlzX3B3YV9pbnN0YWxsX2FsZXJ0X3Nob3ciO2k6MDtzOjE5OiJhdXRvX2NvbmZpcm1fb3JkZXJzIjtpOjA7czozNDoiYXV0b19jb25maXJtX29yZGVyc19iZWZvcmVfcGF5bWVudCI7aTowO3M6MzM6ImF1dG9fY29uZmlybV9vcmRlcnNfYWZ0ZXJfcGF5bWVudCI7aTowO3M6Mjk6InJlc3RyaWN0X3FyX29yZGVyX2J5X2xvY2F0aW9uIjtpOjA7czoyMjoicXJfb3JkZXJfcmFkaXVzX21ldGVycyI7TjtzOjIzOiJzaG93X29yZGVyX3R5cGVfb3B0aW9ucyI7aToxO3M6MjQ6ImRpc2FibGVfb3JkZXJfdHlwZV9wb3B1cCI7aToxO3M6MjY6InJlc3RhdXJhbnRfb3Blbl9jbG9zZV9tb2RlIjtzOjQ6ImF1dG8iO3M6MzM6InJlc3RhdXJhbnRfbWFudWFsX29wZW5fY2xvc2VfdHlwZSI7czo0OiJ0aW1lIjtzOjE2OiJtYW51YWxfb3Blbl90aW1lIjtOO3M6MTc6Im1hbnVhbF9jbG9zZV90aW1lIjtOO3M6MjE6ImlzX3RlbXBvcmFyaWx5X2Nsb3NlZCI7aTowO3M6MjE6ImRlZmF1bHRfb3JkZXJfdHlwZV9pZCI7aTo3O3M6Mjc6ImhpZGVfbWVudV9pdGVtX2ltYWdlX29uX3BvcyI7aTowO3M6Mzc6ImhpZGVfbWVudV9pdGVtX2ltYWdlX29uX2N1c3RvbWVyX3NpdGUiO2k6MDtzOjg6InRheF9tb2RlIjtzOjU6Im9yZGVyIjtzOjEzOiJ0YXhfaW5jbHVzaXZlIjtpOjA7czoyNzoiaW5jbHVkZV9jaGFyZ2VzX2luX3RheF9iYXNlIjtpOjA7czoyMjoiY3VzdG9tZXJfc2l0ZV9sYW5ndWFnZSI7czoyOiJlbiI7czoyNDoiZW5hYmxlX2FkbWluX3Jlc2VydmF0aW9uIjtpOjE7czoyNzoiZW5hYmxlX2N1c3RvbWVyX3Jlc2VydmF0aW9uIjtpOjE7czoxODoibWluaW11bV9wYXJ0eV9zaXplIjtpOjE7czoyNjoidGFibGVfbG9ja190aW1lb3V0X21pbnV0ZXMiO2k6MTA7czoxODoibW9sbGllX2N1c3RvbWVyX2lkIjtOO31zOjExOiIAKgBvcmlnaW5hbCI7YTo5NTp7czoyOiJpZCI7aToyO3M6NDoibmFtZSI7czo0OiJUZXN0IjtzOjQ6Imhhc2giO3M6NDoidGVzdCI7czo3OiJhZGRyZXNzIjtzOjQ6InRlc3QiO3M6MTI6InBob25lX251bWJlciI7czo5OiIxMjM0NTY3ODkiO3M6MTA6InBob25lX2NvZGUiO3M6MjoiOTIiO3M6NToiZW1haWwiO3M6MTM6InRlc3RAdGVzdC5jb20iO3M6ODoidGltZXpvbmUiO3M6MTI6IkFzaWEvS2FyYWNoaSI7czoxMToidGltZV9mb3JtYXQiO3M6NToiaDppIEEiO3M6MTE6ImRhdGVfZm9ybWF0IjtzOjU6ImQvbS9ZIjtzOjk6InRoZW1lX2hleCI7czo3OiIjQTc4QkZBIjtzOjk6InRoZW1lX3JnYiI7czoxMzoiMTY3LCAxMzksIDI1MCI7czo0OiJsb2dvIjtOO3M6MTA6ImNvdW50cnlfaWQiO2k6MTY4O3M6MTU6ImhpZGVfbmV3X29yZGVycyI7aTowO3M6MjE6ImhpZGVfbmV3X3Jlc2VydmF0aW9ucyI7aTowO3M6MjM6ImhpZGVfbmV3X3dhaXRlcl9yZXF1ZXN0IjtpOjA7czoxMToiY3VycmVuY3lfaWQiO2k6NTtzOjEyOiJsaWNlbnNlX3R5cGUiO3M6NDoiZnJlZSI7czo5OiJpc19hY3RpdmUiO2k6MTtzOjEwOiJjcmVhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTE1IDA3OjMxOjQ1IjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjE5OiIyMDI2LTA0LTIzIDExOjQxOjI3IjtzOjIzOiJjdXN0b21lcl9sb2dpbl9yZXF1aXJlZCI7aTowO3M6ODoiYWJvdXRfdXMiO047czozMDoiYWxsb3dfY3VzdG9tZXJfZGVsaXZlcnlfb3JkZXJzIjtpOjE7czoyODoiYWxsb3dfY3VzdG9tZXJfcGlja3VwX29yZGVycyI7aToxO3M6MTc6InBpY2t1cF9kYXlzX3JhbmdlIjtpOjc7czoyMToiYWxsb3dfY3VzdG9tZXJfb3JkZXJzIjtpOjE7czoyMDoiYWxsb3dfZGluZV9pbl9vcmRlcnMiO2k6MTtzOjg6InNob3dfdmVnIjtpOjE7czoxMDoic2hvd19oYWxhbCI7aTowO3M6MTA6InBhY2thZ2VfaWQiO2k6NTtzOjEyOiJwYWNrYWdlX3R5cGUiO3M6NToidHJpYWwiO3M6Njoic3RhdHVzIjtzOjY6ImFjdGl2ZSI7czoxNzoibGljZW5zZV9leHBpcmVfb24iO3M6MTk6IjIwMjYtMDUtMTUgMDc6MzE6NDUiO3M6MTM6InRyaWFsX2VuZHNfYXQiO3M6MTk6IjIwMjYtMDUtMTUgMDc6MzE6NDUiO3M6MTg6ImxpY2Vuc2VfdXBkYXRlZF9hdCI7czoxOToiMjAyNi0wNC0xNSAwNzozMTo0NSI7czoyMzoic3Vic2NyaXB0aW9uX3VwZGF0ZWRfYXQiO3M6MTk6IjIwMjYtMDQtMTUgMDc6MzE6NDUiO3M6OToic3RyaXBlX2lkIjtOO3M6NzoicG1fdHlwZSI7TjtzOjEyOiJwbV9sYXN0X2ZvdXIiO047czoyNToiaXNfd2FpdGVyX3JlcXVlc3RfZW5hYmxlZCI7aToxO3M6MzI6ImRlZmF1bHRfdGFibGVfcmVzZXJ2YXRpb25fc3RhdHVzIjtzOjk6IkNvbmZpcm1lZCI7czoyMDoiZGlzYWJsZV9zbG90X21pbnV0ZXMiO2k6MzA7czoxNToiYXBwcm92YWxfc3RhdHVzIjtzOjg6IkFwcHJvdmVkIjtzOjE2OiJyZWplY3Rpb25fcmVhc29uIjtOO3M6MTM6ImZhY2Vib29rX2xpbmsiO047czoxNDoiaW5zdGFncmFtX2xpbmsiO047czoxMjoidHdpdHRlcl9saW5rIjtOO3M6OToieWVscF9saW5rIjtOO3M6MjA6Imdvb2dsZV9idXNpbmVzc19saW5rIjtOO3M6OToid2lmaV9uYW1lIjtOO3M6MTM6IndpZmlfcGFzc3dvcmQiO047czoxNDoic2hvd193aWZpX2ljb24iO2k6MDtzOjE0OiJ0YWJsZV9yZXF1aXJlZCI7aTowO3M6MTQ6InNob3dfbG9nb190ZXh0IjtpOjE7czoxMjoibWV0YV9rZXl3b3JkIjtOO3M6MTY6Im1ldGFfZGVzY3JpcHRpb24iO047czozNDoidXBsb2FkX2Zhdl9pY29uX2FuZHJvaWRfY2hyb21lXzE5MiI7TjtzOjM0OiJ1cGxvYWRfZmF2X2ljb25fYW5kcm9pZF9jaHJvbWVfNTEyIjtOO3M6MzI6InVwbG9hZF9mYXZfaWNvbl9hcHBsZV90b3VjaF9pY29uIjtOO3M6MTc6InVwbG9hZF9mYXZpY29uXzE2IjtOO3M6MTc6InVwbG9hZF9mYXZpY29uXzMyIjtOO3M6NzoiZmF2aWNvbiI7TjtzOjM2OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkX29uX2Rlc2t0b3AiO2k6MTtzOjM1OiJpc193YWl0ZXJfcmVxdWVzdF9lbmFibGVkX29uX21vYmlsZSI7aToxO3M6MzY6ImlzX3dhaXRlcl9yZXF1ZXN0X2VuYWJsZWRfb3Blbl9ieV9xciI7aTowO3M6MTE6IndlYm1hbmlmZXN0IjtOO3M6MTU6ImVuYWJsZV90aXBfc2hvcCI7aToxO3M6MTQ6ImVuYWJsZV90aXBfcG9zIjtpOjE7czoyNToiaXNfcHdhX2luc3RhbGxfYWxlcnRfc2hvdyI7aTowO3M6MTk6ImF1dG9fY29uZmlybV9vcmRlcnMiO2k6MDtzOjM0OiJhdXRvX2NvbmZpcm1fb3JkZXJzX2JlZm9yZV9wYXltZW50IjtpOjA7czozMzoiYXV0b19jb25maXJtX29yZGVyc19hZnRlcl9wYXltZW50IjtpOjA7czoyOToicmVzdHJpY3RfcXJfb3JkZXJfYnlfbG9jYXRpb24iO2k6MDtzOjIyOiJxcl9vcmRlcl9yYWRpdXNfbWV0ZXJzIjtOO3M6MjM6InNob3dfb3JkZXJfdHlwZV9vcHRpb25zIjtpOjE7czoyNDoiZGlzYWJsZV9vcmRlcl90eXBlX3BvcHVwIjtpOjE7czoyNjoicmVzdGF1cmFudF9vcGVuX2Nsb3NlX21vZGUiO3M6NDoiYXV0byI7czozMzoicmVzdGF1cmFudF9tYW51YWxfb3Blbl9jbG9zZV90eXBlIjtzOjQ6InRpbWUiO3M6MTY6Im1hbnVhbF9vcGVuX3RpbWUiO047czoxNzoibWFudWFsX2Nsb3NlX3RpbWUiO047czoyMToiaXNfdGVtcG9yYXJpbHlfY2xvc2VkIjtpOjA7czoyMToiZGVmYXVsdF9vcmRlcl90eXBlX2lkIjtpOjc7czoyNzoiaGlkZV9tZW51X2l0ZW1faW1hZ2Vfb25fcG9zIjtpOjA7czozNzoiaGlkZV9tZW51X2l0ZW1faW1hZ2Vfb25fY3VzdG9tZXJfc2l0ZSI7aTowO3M6ODoidGF4X21vZGUiO3M6NToib3JkZXIiO3M6MTM6InRheF9pbmNsdXNpdmUiO2k6MDtzOjI3OiJpbmNsdWRlX2NoYXJnZXNfaW5fdGF4X2Jhc2UiO2k6MDtzOjIyOiJjdXN0b21lcl9zaXRlX2xhbmd1YWdlIjtzOjI6ImVuIjtzOjI0OiJlbmFibGVfYWRtaW5fcmVzZXJ2YXRpb24iO2k6MTtzOjI3OiJlbmFibGVfY3VzdG9tZXJfcmVzZXJ2YXRpb24iO2k6MTtzOjE4OiJtaW5pbXVtX3BhcnR5X3NpemUiO2k6MTtzOjI2OiJ0YWJsZV9sb2NrX3RpbWVvdXRfbWludXRlcyI7aToxMDtzOjE4OiJtb2xsaWVfY3VzdG9tZXJfaWQiO047fXM6MTA6IgAqAGNoYW5nZXMiO2E6MDp7fXM6MTE6IgAqAHByZXZpb3VzIjthOjA6e31zOjg6IgAqAGNhc3RzIjthOjE2OntzOjE3OiJsaWNlbnNlX2V4cGlyZV9vbiI7czo4OiJkYXRldGltZSI7czoxNToidHJpYWxfZXhwaXJlX29uIjtzOjg6ImRhdGV0aW1lIjtzOjE4OiJsaWNlbnNlX3VwZGF0ZWRfYXQiO3M6ODoiZGF0ZXRpbWUiO3M6MjM6InN1YnNjcmlwdGlvbl91cGRhdGVkX2F0IjtzOjg6ImRhdGV0aW1lIjtzOjEwOiJjcmVhdGVkX2F0IjtzOjg6ImRhdGV0aW1lIjtzOjEwOiJ1cGRhdGVkX2F0IjtzOjg6ImRhdGV0aW1lIjtzOjIzOiJjdXN0b21fZGVsaXZlcnlfb3B0aW9ucyI7czo1OiJhcnJheSI7czo5OiJpc19hY3RpdmUiO3M6NzoiYm9vbGVhbiI7czoyNDoiZW5hYmxlX2FkbWluX3Jlc2VydmF0aW9uIjtzOjc6ImJvb2xlYW4iO3M6Mjc6ImVuYWJsZV9jdXN0b21lcl9yZXNlcnZhdGlvbiI7czo3OiJib29sZWFuIjtzOjI5OiJyZXN0cmljdF9xcl9vcmRlcl9ieV9sb2NhdGlvbiI7czo3OiJib29sZWFuIjtzOjEwOiJhaV9lbmFibGVkIjtzOjc6ImJvb2xlYW4iO3M6MTY6ImFpX2FsbG93ZWRfcm9sZXMiO3M6NToiYXJyYXkiO3M6MTk6ImFpX21vbnRobHlfcmVzZXRfYXQiO3M6NDoiZGF0ZSI7czoyMToiaXNfdGVtcG9yYXJpbHlfY2xvc2VkIjtzOjc6ImJvb2xlYW4iO3M6MzM6InJlc3RhdXJhbnRfbWFudWFsX29wZW5fY2xvc2VfdHlwZSI7czo2OiJzdHJpbmciO31zOjE3OiIAKgBjbGFzc0Nhc3RDYWNoZSI7YTowOnt9czoyMToiACoAYXR0cmlidXRlQ2FzdENhY2hlIjthOjA6e31zOjEzOiIAKgBkYXRlRm9ybWF0IjtOO3M6MTA6IgAqAGFwcGVuZHMiO2E6MTp7aTowO3M6ODoibG9nb191cmwiO31zOjE5OiIAKgBkaXNwYXRjaGVzRXZlbnRzIjthOjA6e31zOjE0OiIAKgBvYnNlcnZhYmxlcyI7YTowOnt9czoxMjoiACoAcmVsYXRpb25zIjthOjA6e31zOjEwOiIAKgB0b3VjaGVzIjthOjA6e31zOjI3OiIAKgByZWxhdGlvbkF1dG9sb2FkQ2FsbGJhY2siO047czoyNjoiACoAcmVsYXRpb25BdXRvbG9hZENvbnRleHQiO047czoxMDoidGltZXN0YW1wcyI7YjoxO3M6MTM6InVzZXNVbmlxdWVJZHMiO2I6MDtzOjk6IgAqAGhpZGRlbiI7YTowOnt9czoxMDoiACoAdmlzaWJsZSI7YTowOnt9czoxMToiACoAZmlsbGFibGUiO2E6MDp7fXM6MTA6IgAqAGd1YXJkZWQiO2E6MTp7aTowO3M6MjoiaWQiO31zOjE3OiJjdXN0b21lcklwQWRkcmVzcyI7TjtzOjI0OiJlc3RpbWF0aW9uQmlsbGluZ0FkZHJlc3MiO2E6MDp7fXM6MTM6ImNvbGxlY3RUYXhJZHMiO2I6MDtzOjg6ImNvdXBvbklkIjtOO3M6MTU6InByb21vdGlvbkNvZGVJZCI7TjtzOjE5OiJhbGxvd1Byb21vdGlvbkNvZGVzIjtiOjA7fX1zOjEwOiIAKgB0b3VjaGVzIjthOjA6e31zOjI3OiIAKgByZWxhdGlvbkF1dG9sb2FkQ2FsbGJhY2siO047czoyNjoiACoAcmVsYXRpb25BdXRvbG9hZENvbnRleHQiO047czoxMDoidGltZXN0YW1wcyI7YjowO3M6MTM6InVzZXNVbmlxdWVJZHMiO2I6MDtzOjk6IgAqAGhpZGRlbiI7YTowOnt9czoxMDoiACoAdmlzaWJsZSI7YTowOnt9czoxMToiACoAZmlsbGFibGUiO2E6MDp7fXM6MTA6IgAqAGd1YXJkZWQiO2E6MTp7aTowO3M6MToiKiI7fX1zOjg6ImN1cnJlbmN5IjtzOjg6Itix24zYp9mEIjtzOjU6ImlzUnRsIjtiOjA7czoxNjoibGFzdF9vcmRlcl9jb3VudCI7aTowO3M6MTc6InRvZGF5X29yZGVyX2NvdW50IjtpOjA7czoyODoiYWN0aXZlX3dhaXRlcl9yZXF1ZXN0c19jb3VudCI7aTowO3M6ODoiYnJhbmNoZXMiO3I6MTA3NztzOjIzOiJjdXJyZW5jeV9mb3JtYXRfc2V0dGluZyI7cjo4OTA7fQ==', 1786343910);

-- --------------------------------------------------------

--
-- Table structure for table `split_orders`
--

CREATE TABLE `split_orders` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) 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,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `tap_payments`
--

CREATE TABLE `tap_payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `taxes`
--

CREATE TABLE `taxes` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `taxes`
--

INSERT INTO `taxes` (`id`, `restaurant_id`, `branch_id`, `tax_name`, `tax_percent`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'SGST', '2.5', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(2, 1, 1, 'CGST', '2.5', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(3, 1, 2, 'SGST', '2.5', '2026-04-15 11:20:00', '2026-04-15 11:20:00'),
(4, 1, 2, 'CGST', '2.5', '2026-04-15 11:20:00', '2026-04-15 11:20:00');

-- --------------------------------------------------------

--
-- Table structure for table `waiter_requests`
--

CREATE TABLE `waiter_requests` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `waiter_requests`
--

INSERT INTO `waiter_requests` (`id`, `branch_id`, `table_id`, `status`, `created_at`, `updated_at`) VALUES
(1, 3, 1, 'completed', '2026-04-15 14:41:11', '2026-04-15 14:41:34');

-- --------------------------------------------------------

--
-- Table structure for table `xendit_payments`
--

CREATE TABLE `xendit_payments` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `areas`
--
ALTER TABLE `areas`
  ADD PRIMARY KEY (`id`),
  ADD KEY `areas_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `assign_waiter_to_tables`
--
ALTER TABLE `assign_waiter_to_tables`
  ADD PRIMARY KEY (`id`),
  ADD KEY `assign_waiter_to_tables_waiter_id_foreign` (`waiter_id`),
  ADD KEY `assign_waiter_to_tables_backup_waiter_id_foreign` (`backup_waiter_id`),
  ADD KEY `assign_waiter_to_tables_assigned_by_foreign` (`assigned_by`),
  ADD KEY `assign_waiter_to_tables_table_id_waiter_id_index` (`table_id`,`waiter_id`),
  ADD KEY `assign_waiter_to_tables_is_active_index` (`is_active`);

--
-- Indexes for table `branches`
--
ALTER TABLE `branches`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `branches_unique_hash_unique` (`unique_hash`),
  ADD KEY `branches_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `branch_delivery_settings`
--
ALTER TABLE `branch_delivery_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `branch_delivery_settings_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `branch_operational_shifts`
--
ALTER TABLE `branch_operational_shifts`
  ADD PRIMARY KEY (`id`),
  ADD KEY `branch_operational_shifts_branch_id_is_active_index` (`branch_id`,`is_active`),
  ADD KEY `branch_operational_shifts_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `cart_header_images`
--
ALTER TABLE `cart_header_images`
  ADD PRIMARY KEY (`id`),
  ADD KEY `cart_header_images_cart_header_setting_id_foreign` (`cart_header_setting_id`);

--
-- Indexes for table `cart_header_settings`
--
ALTER TABLE `cart_header_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `cart_header_settings_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `cart_item_modifier_options`
--
ALTER TABLE `cart_item_modifier_options`
  ADD PRIMARY KEY (`id`),
  ADD KEY `cart_item_modifier_options_cart_item_id_foreign` (`cart_item_id`),
  ADD KEY `cart_item_modifier_options_modifier_option_id_foreign` (`modifier_option_id`);

--
-- Indexes for table `contacts`
--
ALTER TABLE `contacts`
  ADD PRIMARY KEY (`id`),
  ADD KEY `contacts_language_setting_id_foreign` (`language_setting_id`);

--
-- Indexes for table `countries`
--
ALTER TABLE `countries`
  ADD PRIMARY KEY (`id`),
  ADD KEY `countries_countries_code_index` (`countries_code`);

--
-- Indexes for table `currencies`
--
ALTER TABLE `currencies`
  ADD PRIMARY KEY (`id`),
  ADD KEY `currencies_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `customer_addresses`
--
ALTER TABLE `customer_addresses`
  ADD PRIMARY KEY (`id`),
  ADD KEY `customer_addresses_customer_id_foreign` (`customer_id`);

--
-- Indexes for table `custom_menus`
--
ALTER TABLE `custom_menus`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `custom_menus_menu_slug_unique` (`menu_slug`);

--
-- Indexes for table `delivery_cash_settlements`
--
ALTER TABLE `delivery_cash_settlements`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `delivery_cash_settlements_settlement_number_unique` (`settlement_number`),
  ADD KEY `delivery_cash_settlements_branch_id_foreign` (`branch_id`),
  ADD KEY `dcs_exec_status_idx` (`delivery_executive_id`,`status`);

--
-- Indexes for table `delivery_cash_settlement_items`
--
ALTER TABLE `delivery_cash_settlement_items`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `dcsi_settlement_collection_unique` (`settlement_id`,`order_cash_collection_id`),
  ADD KEY `delivery_cash_settlement_items_order_cash_collection_id_foreign` (`order_cash_collection_id`),
  ADD KEY `delivery_cash_settlement_items_order_id_foreign` (`order_id`);

--
-- Indexes for table `delivery_executives`
--
ALTER TABLE `delivery_executives`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `delivery_executives_email_unique` (`email`),
  ADD KEY `delivery_executives_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `delivery_fee_tiers`
--
ALTER TABLE `delivery_fee_tiers`
  ADD PRIMARY KEY (`id`),
  ADD KEY `delivery_fee_tiers_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `delivery_platforms`
--
ALTER TABLE `delivery_platforms`
  ADD PRIMARY KEY (`id`),
  ADD KEY `delivery_platforms_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `desktop_mobile_application`
--
ALTER TABLE `desktop_mobile_application`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `expenses`
--
ALTER TABLE `expenses`
  ADD PRIMARY KEY (`id`),
  ADD KEY `expenses_expense_category_id_foreign` (`expense_category_id`),
  ADD KEY `expenses_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `expense_categories`
--
ALTER TABLE `expense_categories`
  ADD PRIMARY KEY (`id`),
  ADD KEY `expense_categories_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Indexes for table `file_storage`
--
ALTER TABLE `file_storage`
  ADD PRIMARY KEY (`id`),
  ADD KEY `file_storage_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `file_storage_settings`
--
ALTER TABLE `file_storage_settings`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `flags`
--
ALTER TABLE `flags`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `flutterwave_payments`
--
ALTER TABLE `flutterwave_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `flutterwave_payments_order_id_foreign` (`order_id`);

--
-- Indexes for table `front_details`
--
ALTER TABLE `front_details`
  ADD PRIMARY KEY (`id`),
  ADD KEY `front_details_language_setting_id_foreign` (`language_setting_id`);

--
-- Indexes for table `front_faq_settings`
--
ALTER TABLE `front_faq_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `front_faq_settings_language_setting_id_foreign` (`language_setting_id`);

--
-- Indexes for table `front_features`
--
ALTER TABLE `front_features`
  ADD PRIMARY KEY (`id`),
  ADD KEY `front_features_language_setting_id_foreign` (`language_setting_id`);

--
-- Indexes for table `front_review_settings`
--
ALTER TABLE `front_review_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `front_review_settings_language_setting_id_foreign` (`language_setting_id`);

--
-- Indexes for table `global_currencies`
--
ALTER TABLE `global_currencies`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `item_categories`
--
ALTER TABLE `item_categories`
  ADD PRIMARY KEY (`id`),
  ADD KEY `item_categories_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `item_modifiers`
--
ALTER TABLE `item_modifiers`
  ADD PRIMARY KEY (`id`),
  ADD KEY `item_modifiers_menu_item_id_foreign` (`menu_item_id`),
  ADD KEY `item_modifiers_modifier_group_id_foreign` (`modifier_group_id`),
  ADD KEY `item_modifiers_menu_item_variation_id_foreign` (`menu_item_variation_id`);

--
-- Indexes for table `jobs`
--
ALTER TABLE `jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `jobs_queue_index` (`queue`);

--
-- Indexes for table `job_batches`
--
ALTER TABLE `job_batches`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `kots`
--
ALTER TABLE `kots`
  ADD PRIMARY KEY (`id`),
  ADD KEY `kots_cancel_reason_id_foreign` (`cancel_reason_id`),
  ADD KEY `kots_order_type_id_foreign` (`order_type_id`),
  ADD KEY `idx_kots_order_status` (`order_id`,`status`),
  ADD KEY `idx_kots_branch` (`branch_id`);

--
-- Indexes for table `kot_cancel_reasons`
--
ALTER TABLE `kot_cancel_reasons`
  ADD PRIMARY KEY (`id`),
  ADD KEY `kot_cancel_reasons_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `kot_items`
--
ALTER TABLE `kot_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `kot_items_menu_item_variation_id_foreign` (`menu_item_variation_id`),
  ADD KEY `kot_items_cancel_reason_id_foreign` (`cancel_reason_id`),
  ADD KEY `idx_kot_items_kot_status` (`kot_id`,`status`),
  ADD KEY `idx_kot_items_menu_variation_qty` (`menu_item_id`,`menu_item_variation_id`,`quantity`),
  ADD KEY `idx_kot_items_order_item` (`order_item_id`),
  ADD KEY `kot_items_cancelled_by_foreign` (`cancelled_by`);

--
-- Indexes for table `kot_item_modifier_options`
--
ALTER TABLE `kot_item_modifier_options`
  ADD PRIMARY KEY (`id`),
  ADD KEY `kot_item_modifier_options_kot_item_id_foreign` (`kot_item_id`),
  ADD KEY `kot_item_modifier_options_modifier_option_id_foreign` (`modifier_option_id`);

--
-- Indexes for table `kot_places`
--
ALTER TABLE `kot_places`
  ADD PRIMARY KEY (`id`),
  ADD KEY `kot_places_branch_id_foreign` (`branch_id`),
  ADD KEY `kot_places_printer_id_foreign` (`printer_id`);

--
-- Indexes for table `kot_settings`
--
ALTER TABLE `kot_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `kot_settings_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `language_settings`
--
ALTER TABLE `language_settings`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `menus`
--
ALTER TABLE `menus`
  ADD PRIMARY KEY (`id`),
  ADD KEY `menus_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `menu_items`
--
ALTER TABLE `menu_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_branch_available` (`branch_id`,`is_available`),
  ADD KEY `idx_menu_items_category` (`item_category_id`),
  ADD KEY `idx_menu_items_menu` (`menu_id`),
  ADD KEY `idx_menu_items_menu_category` (`menu_id`,`item_category_id`);

--
-- Indexes for table `menu_item_prices`
--
ALTER TABLE `menu_item_prices`
  ADD PRIMARY KEY (`id`),
  ADD KEY `menu_item_prices_delivery_app_id_foreign` (`delivery_app_id`),
  ADD KEY `menu_item_prices_menu_item_variation_id_foreign` (`menu_item_variation_id`),
  ADD KEY `idx_prices_item_status_variation_type_app` (`menu_item_id`,`status`,`menu_item_variation_id`,`order_type_id`,`delivery_app_id`),
  ADD KEY `idx_prices_item_status_type_app` (`menu_item_id`,`status`,`order_type_id`,`delivery_app_id`),
  ADD KEY `idx_prices_type_app_status` (`order_type_id`,`delivery_app_id`,`status`),
  ADD KEY `idx_prices_menu_item_id` (`menu_item_id`);

--
-- Indexes for table `menu_item_tax`
--
ALTER TABLE `menu_item_tax`
  ADD PRIMARY KEY (`id`),
  ADD KEY `menu_item_tax_menu_item_id_foreign` (`menu_item_id`),
  ADD KEY `menu_item_tax_tax_id_foreign` (`tax_id`);

--
-- Indexes for table `menu_item_translations`
--
ALTER TABLE `menu_item_translations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `menu_item_translations_menu_item_id_locale_unique` (`menu_item_id`,`locale`),
  ADD KEY `menu_item_translations_locale_index` (`locale`);

--
-- Indexes for table `menu_item_variations`
--
ALTER TABLE `menu_item_variations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `menu_item_variations_menu_item_id_foreign` (`menu_item_id`);

--
-- Indexes for table `menu_table`
--
ALTER TABLE `menu_table`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `menu_table_table_id_menu_id_unique` (`table_id`,`menu_id`),
  ADD KEY `menu_table_menu_id_foreign` (`menu_id`);

--
-- Indexes for table `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  ADD KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`);

--
-- Indexes for table `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  ADD KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`);

--
-- Indexes for table `modifier_groups`
--
ALTER TABLE `modifier_groups`
  ADD PRIMARY KEY (`id`),
  ADD KEY `modifier_groups_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `modifier_group_translations`
--
ALTER TABLE `modifier_group_translations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `modifier_group_translations_modifier_group_id_locale_unique` (`modifier_group_id`,`locale`),
  ADD KEY `modifier_group_translations_locale_index` (`locale`);

--
-- Indexes for table `modifier_options`
--
ALTER TABLE `modifier_options`
  ADD PRIMARY KEY (`id`),
  ADD KEY `modifier_options_modifier_group_id_foreign` (`modifier_group_id`);

--
-- Indexes for table `modifier_option_prices`
--
ALTER TABLE `modifier_option_prices`
  ADD PRIMARY KEY (`id`),
  ADD KEY `modifier_option_prices_modifier_group_id_foreign` (`modifier_group_id`),
  ADD KEY `modifier_option_prices_modifier_option_id_foreign` (`modifier_option_id`),
  ADD KEY `modifier_option_prices_order_type_id_foreign` (`order_type_id`),
  ADD KEY `modifier_option_prices_delivery_app_id_foreign` (`delivery_app_id`);

--
-- Indexes for table `modules`
--
ALTER TABLE `modules`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `mollie_payments`
--
ALTER TABLE `mollie_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `mollie_payments_order_id_foreign` (`order_id`);

--
-- Indexes for table `notifications`
--
ALTER TABLE `notifications`
  ADD PRIMARY KEY (`id`),
  ADD KEY `notifications_restaurant_id_foreign` (`restaurant_id`),
  ADD KEY `notifications_notifiable_type_notifiable_id_index` (`notifiable_type`,`notifiable_id`);

--
-- Indexes for table `notification_settings`
--
ALTER TABLE `notification_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `notification_settings_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `offline_payment_methods`
--
ALTER TABLE `offline_payment_methods`
  ADD PRIMARY KEY (`id`),
  ADD KEY `offline_payment_methods_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `offline_plan_changes`
--
ALTER TABLE `offline_plan_changes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `offline_plan_changes_restaurant_id_foreign` (`restaurant_id`),
  ADD KEY `offline_plan_changes_package_id_foreign` (`package_id`),
  ADD KEY `offline_plan_changes_invoice_id_foreign` (`invoice_id`),
  ADD KEY `offline_plan_changes_offline_method_id_foreign` (`offline_method_id`);

--
-- Indexes for table `onboarding_steps`
--
ALTER TABLE `onboarding_steps`
  ADD PRIMARY KEY (`id`),
  ADD KEY `onboarding_steps_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `orders`
--
ALTER TABLE `orders`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `orders_uuid_unique` (`uuid`),
  ADD KEY `orders_customer_id_foreign` (`customer_id`),
  ADD KEY `orders_delivery_executive_id_foreign` (`delivery_executive_id`),
  ADD KEY `orders_waiter_id_foreign` (`waiter_id`),
  ADD KEY `orders_cancel_reason_id_foreign` (`cancel_reason_id`),
  ADD KEY `idx_branch_date` (`branch_id`,`date_time`),
  ADD KEY `orders_reservation_id_foreign` (`reservation_id`),
  ADD KEY `orders_added_by_foreign` (`added_by`),
  ADD KEY `orders_cancelled_by_foreign` (`cancelled_by`),
  ADD KEY `idx_orders_branch_table_status` (`branch_id`,`table_id`,`status`),
  ADD KEY `idx_orders_table_branch_status` (`table_id`,`branch_id`,`status`),
  ADD KEY `idx_orders_status_branch` (`status`,`branch_id`),
  ADD KEY `idx_orders_order_type_branch` (`order_type_id`,`branch_id`),
  ADD KEY `idx_orders_delivery_app` (`delivery_app_id`);

--
-- Indexes for table `order_cash_collections`
--
ALTER TABLE `order_cash_collections`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_cash_collections_order_id_foreign` (`order_id`),
  ADD KEY `occ_exec_status_idx` (`delivery_executive_id`,`status`),
  ADD KEY `occ_branch_status_idx` (`branch_id`,`status`);

--
-- Indexes for table `order_charges`
--
ALTER TABLE `order_charges`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_charges_order_id_foreign` (`order_id`),
  ADD KEY `order_charges_charge_id_foreign` (`charge_id`);

--
-- Indexes for table `order_histories`
--
ALTER TABLE `order_histories`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_histories_order_id_foreign` (`order_id`);

--
-- Indexes for table `order_items`
--
ALTER TABLE `order_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_items_menu_item_id_foreign` (`menu_item_id`),
  ADD KEY `order_items_menu_item_variation_id_foreign` (`menu_item_variation_id`),
  ADD KEY `order_items_branch_id_foreign` (`branch_id`),
  ADD KEY `idx_order_items_order_menu_variation` (`order_id`,`menu_item_id`,`menu_item_variation_id`),
  ADD KEY `idx_order_items_order_id` (`order_id`);

--
-- Indexes for table `order_item_modifier_options`
--
ALTER TABLE `order_item_modifier_options`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_item_modifier_options_order_item_id_foreign` (`order_item_id`),
  ADD KEY `order_item_modifier_options_modifier_option_id_foreign` (`modifier_option_id`);

--
-- Indexes for table `order_notification_settings`
--
ALTER TABLE `order_notification_settings`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `order_notification_restaurant_role_unique` (`restaurant_id`,`role_id`),
  ADD KEY `order_notification_settings_role_id_foreign` (`role_id`);

--
-- Indexes for table `order_number_settings`
--
ALTER TABLE `order_number_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_number_settings_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `order_places`
--
ALTER TABLE `order_places`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_places_branch_id_foreign` (`branch_id`),
  ADD KEY `order_places_printer_id_foreign` (`printer_id`);

--
-- Indexes for table `order_taxes`
--
ALTER TABLE `order_taxes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_taxes_order_id_foreign` (`order_id`),
  ADD KEY `order_taxes_tax_id_foreign` (`tax_id`);

--
-- Indexes for table `order_types`
--
ALTER TABLE `order_types`
  ADD PRIMARY KEY (`id`),
  ADD KEY `order_types_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `packages`
--
ALTER TABLE `packages`
  ADD PRIMARY KEY (`id`),
  ADD KEY `packages_currency_id_foreign` (`currency_id`);

--
-- Indexes for table `package_modules`
--
ALTER TABLE `package_modules`
  ADD PRIMARY KEY (`id`),
  ADD KEY `package_modules_package_id_foreign` (`package_id`),
  ADD KEY `package_modules_module_id_foreign` (`module_id`);

--
-- Indexes for table `payfast_payments`
--
ALTER TABLE `payfast_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `payfast_payments_order_id_foreign` (`order_id`);

--
-- Indexes for table `payments`
--
ALTER TABLE `payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `payments_order_id_foreign` (`order_id`),
  ADD KEY `payments_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `paypal_payments`
--
ALTER TABLE `paypal_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `paypal_payments_order_id_foreign` (`order_id`);

--
-- Indexes for table `paystack_payments`
--
ALTER TABLE `paystack_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `paystack_payments_order_id_foreign` (`order_id`);

--
-- Indexes for table `permissions`
--
ALTER TABLE `permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`),
  ADD KEY `permissions_module_id_foreign` (`module_id`);

--
-- Indexes for table `predefined_amounts`
--
ALTER TABLE `predefined_amounts`
  ADD PRIMARY KEY (`id`),
  ADD KEY `predefined_amounts_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `printers`
--
ALTER TABLE `printers`
  ADD PRIMARY KEY (`id`),
  ADD KEY `printers_restaurant_id_foreign` (`restaurant_id`),
  ADD KEY `printers_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `print_jobs`
--
ALTER TABLE `print_jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `print_jobs_printer_id_foreign` (`printer_id`),
  ADD KEY `print_jobs_restaurant_id_foreign` (`restaurant_id`),
  ADD KEY `print_jobs_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `razorpay_payments`
--
ALTER TABLE `razorpay_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `razorpay_payments_order_id_foreign` (`order_id`);

--
-- Indexes for table `receipt_settings`
--
ALTER TABLE `receipt_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `receipt_settings_restaurant_id_foreign` (`restaurant_id`),
  ADD KEY `receipt_settings_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `refunds`
--
ALTER TABLE `refunds`
  ADD PRIMARY KEY (`id`),
  ADD KEY `refunds_branch_id_foreign` (`branch_id`),
  ADD KEY `refunds_payment_id_foreign` (`payment_id`),
  ADD KEY `refunds_order_id_foreign` (`order_id`),
  ADD KEY `refunds_delivery_app_id_foreign` (`delivery_app_id`),
  ADD KEY `refunds_refund_reason_id_foreign` (`refund_reason_id`),
  ADD KEY `refunds_processed_by_foreign` (`processed_by`);

--
-- Indexes for table `refund_reasons`
--
ALTER TABLE `refund_reasons`
  ADD PRIMARY KEY (`id`),
  ADD KEY `refund_reasons_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `reservations`
--
ALTER TABLE `reservations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `reservations_table_id_foreign` (`table_id`),
  ADD KEY `reservations_customer_id_foreign` (`customer_id`),
  ADD KEY `reservations_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `reservation_settings`
--
ALTER TABLE `reservation_settings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `reservation_settings_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `restaurant_charges`
--
ALTER TABLE `restaurant_charges`
  ADD PRIMARY KEY (`id`),
  ADD KEY `restaurant_charges_restaurant_id_foreign` (`restaurant_id`),
  ADD KEY `restaurant_charges_charge_name_index` (`charge_name`);

--
-- Indexes for table `restaurant_taxes`
--
ALTER TABLE `restaurant_taxes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `restaurant_taxes_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `roles`
--
ALTER TABLE `roles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`),
  ADD KEY `roles_restaurant_id_foreign` (`restaurant_id`);

--
-- Indexes for table `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`role_id`),
  ADD KEY `role_has_permissions_role_id_foreign` (`role_id`);

--
-- Indexes for table `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Indexes for table `split_orders`
--
ALTER TABLE `split_orders`
  ADD PRIMARY KEY (`id`),
  ADD KEY `split_orders_order_id_foreign` (`order_id`);

--
-- Indexes for table `split_order_items`
--
ALTER TABLE `split_order_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `split_order_items_split_order_id_foreign` (`split_order_id`),
  ADD KEY `split_order_items_order_item_id_foreign` (`order_item_id`);

--
-- Indexes for table `tap_payments`
--
ALTER TABLE `tap_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `tap_payments_order_id_foreign` (`order_id`);

--
-- Indexes for table `taxes`
--
ALTER TABLE `taxes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `taxes_restaurant_id_foreign` (`restaurant_id`),
  ADD KEY `taxes_branch_id_foreign` (`branch_id`);

--
-- Indexes for table `waiter_requests`
--
ALTER TABLE `waiter_requests`
  ADD PRIMARY KEY (`id`),
  ADD KEY `waiter_requests_branch_id_foreign` (`branch_id`),
  ADD KEY `waiter_requests_table_id_foreign` (`table_id`);

--
-- Indexes for table `xendit_payments`
--
ALTER TABLE `xendit_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `xendit_payments_order_id_foreign` (`order_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `areas`
--
ALTER TABLE `areas`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `assign_waiter_to_tables`
--
ALTER TABLE `assign_waiter_to_tables`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `branches`
--
ALTER TABLE `branches`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `branch_delivery_settings`
--
ALTER TABLE `branch_delivery_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `branch_operational_shifts`
--
ALTER TABLE `branch_operational_shifts`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `cart_header_images`
--
ALTER TABLE `cart_header_images`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `cart_header_settings`
--
ALTER TABLE `cart_header_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `cart_item_modifier_options`
--
ALTER TABLE `cart_item_modifier_options`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `contacts`
--
ALTER TABLE `contacts`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `countries`
--
ALTER TABLE `countries`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=250;

--
-- AUTO_INCREMENT for table `currencies`
--
ALTER TABLE `currencies`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT for table `customer_addresses`
--
ALTER TABLE `customer_addresses`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `custom_menus`
--
ALTER TABLE `custom_menus`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `delivery_cash_settlements`
--
ALTER TABLE `delivery_cash_settlements`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `delivery_cash_settlement_items`
--
ALTER TABLE `delivery_cash_settlement_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `delivery_executives`
--
ALTER TABLE `delivery_executives`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `delivery_fee_tiers`
--
ALTER TABLE `delivery_fee_tiers`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `delivery_platforms`
--
ALTER TABLE `delivery_platforms`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `desktop_mobile_application`
--
ALTER TABLE `desktop_mobile_application`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `expenses`
--
ALTER TABLE `expenses`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `expense_categories`
--
ALTER TABLE `expense_categories`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31;

--
-- AUTO_INCREMENT for table `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `file_storage`
--
ALTER TABLE `file_storage`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT for table `file_storage_settings`
--
ALTER TABLE `file_storage_settings`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `flags`
--
ALTER TABLE `flags`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=267;

--
-- AUTO_INCREMENT for table `flutterwave_payments`
--
ALTER TABLE `flutterwave_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `front_details`
--
ALTER TABLE `front_details`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `front_faq_settings`
--
ALTER TABLE `front_faq_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT for table `front_features`
--
ALTER TABLE `front_features`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;

--
-- AUTO_INCREMENT for table `front_review_settings`
--
ALTER TABLE `front_review_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `global_currencies`
--
ALTER TABLE `global_currencies`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `item_categories`
--
ALTER TABLE `item_categories`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT for table `item_modifiers`
--
ALTER TABLE `item_modifiers`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `jobs`
--
ALTER TABLE `jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `kots`
--
ALTER TABLE `kots`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `kot_cancel_reasons`
--
ALTER TABLE `kot_cancel_reasons`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT for table `kot_items`
--
ALTER TABLE `kot_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `kot_item_modifier_options`
--
ALTER TABLE `kot_item_modifier_options`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `kot_places`
--
ALTER TABLE `kot_places`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `kot_settings`
--
ALTER TABLE `kot_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `language_settings`
--
ALTER TABLE `language_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;

--
-- AUTO_INCREMENT for table `menus`
--
ALTER TABLE `menus`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `menu_items`
--
ALTER TABLE `menu_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `menu_item_prices`
--
ALTER TABLE `menu_item_prices`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT for table `menu_item_tax`
--
ALTER TABLE `menu_item_tax`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `menu_item_translations`
--
ALTER TABLE `menu_item_translations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `menu_item_variations`
--
ALTER TABLE `menu_item_variations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `menu_table`
--
ALTER TABLE `menu_table`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=310;

--
-- AUTO_INCREMENT for table `modifier_groups`
--
ALTER TABLE `modifier_groups`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `modifier_group_translations`
--
ALTER TABLE `modifier_group_translations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `modifier_options`
--
ALTER TABLE `modifier_options`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `modifier_option_prices`
--
ALTER TABLE `modifier_option_prices`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `modules`
--
ALTER TABLE `modules`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;

--
-- AUTO_INCREMENT for table `mollie_payments`
--
ALTER TABLE `mollie_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `notification_settings`
--
ALTER TABLE `notification_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT for table `offline_payment_methods`
--
ALTER TABLE `offline_payment_methods`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `offline_plan_changes`
--
ALTER TABLE `offline_plan_changes`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `onboarding_steps`
--
ALTER TABLE `onboarding_steps`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `orders`
--
ALTER TABLE `orders`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT for table `order_cash_collections`
--
ALTER TABLE `order_cash_collections`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT for table `order_charges`
--
ALTER TABLE `order_charges`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `order_histories`
--
ALTER TABLE `order_histories`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `order_items`
--
ALTER TABLE `order_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `order_item_modifier_options`
--
ALTER TABLE `order_item_modifier_options`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `order_notification_settings`
--
ALTER TABLE `order_notification_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `order_number_settings`
--
ALTER TABLE `order_number_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `order_places`
--
ALTER TABLE `order_places`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `order_taxes`
--
ALTER TABLE `order_taxes`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `order_types`
--
ALTER TABLE `order_types`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT for table `packages`
--
ALTER TABLE `packages`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `package_modules`
--
ALTER TABLE `package_modules`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=81;

--
-- AUTO_INCREMENT for table `payfast_payments`
--
ALTER TABLE `payfast_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `payments`
--
ALTER TABLE `payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `paypal_payments`
--
ALTER TABLE `paypal_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `paystack_payments`
--
ALTER TABLE `paystack_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `permissions`
--
ALTER TABLE `permissions`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=75;

--
-- AUTO_INCREMENT for table `predefined_amounts`
--
ALTER TABLE `predefined_amounts`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- AUTO_INCREMENT for table `printers`
--
ALTER TABLE `printers`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `print_jobs`
--
ALTER TABLE `print_jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `razorpay_payments`
--
ALTER TABLE `razorpay_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `receipt_settings`
--
ALTER TABLE `receipt_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT for table `refunds`
--
ALTER TABLE `refunds`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `refund_reasons`
--
ALTER TABLE `refund_reasons`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `reservations`
--
ALTER TABLE `reservations`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `reservation_settings`
--
ALTER TABLE `reservation_settings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=85;

--
-- AUTO_INCREMENT for table `restaurant_charges`
--
ALTER TABLE `restaurant_charges`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `restaurant_taxes`
--
ALTER TABLE `restaurant_taxes`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `roles`
--
ALTER TABLE `roles`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT for table `split_orders`
--
ALTER TABLE `split_orders`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `split_order_items`
--
ALTER TABLE `split_order_items`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tap_payments`
--
ALTER TABLE `tap_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `taxes`
--
ALTER TABLE `taxes`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `waiter_requests`
--
ALTER TABLE `waiter_requests`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT for table `xendit_payments`
--
ALTER TABLE `xendit_payments`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `areas`
--
ALTER TABLE `areas`
  ADD CONSTRAINT `areas_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `assign_waiter_to_tables`
--
ALTER TABLE `assign_waiter_to_tables`
  ADD CONSTRAINT `assign_waiter_to_tables_assigned_by_foreign` FOREIGN KEY (`assigned_by`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `assign_waiter_to_tables_backup_waiter_id_foreign` FOREIGN KEY (`backup_waiter_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `assign_waiter_to_tables_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `assign_waiter_to_tables_waiter_id_foreign` FOREIGN KEY (`waiter_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Constraints for table `branches`
--
ALTER TABLE `branches`
  ADD CONSTRAINT `branches_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `branch_delivery_settings`
--
ALTER TABLE `branch_delivery_settings`
  ADD CONSTRAINT `branch_delivery_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `branch_operational_shifts`
--
ALTER TABLE `branch_operational_shifts`
  ADD CONSTRAINT `branch_operational_shifts_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `branch_operational_shifts_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `cart_header_images`
--
ALTER TABLE `cart_header_images`
  ADD CONSTRAINT `cart_header_images_cart_header_setting_id_foreign` FOREIGN KEY (`cart_header_setting_id`) REFERENCES `cart_header_settings` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `cart_header_settings`
--
ALTER TABLE `cart_header_settings`
  ADD CONSTRAINT `cart_header_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `cart_item_modifier_options`
--
ALTER TABLE `cart_item_modifier_options`
  ADD CONSTRAINT `cart_item_modifier_options_cart_item_id_foreign` FOREIGN KEY (`cart_item_id`) REFERENCES `cart_items` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `cart_item_modifier_options_modifier_option_id_foreign` FOREIGN KEY (`modifier_option_id`) REFERENCES `modifier_options` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `contacts`
--
ALTER TABLE `contacts`
  ADD CONSTRAINT `contacts_language_setting_id_foreign` FOREIGN KEY (`language_setting_id`) REFERENCES `language_settings` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `currencies`
--
ALTER TABLE `currencies`
  ADD CONSTRAINT `currencies_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `customer_addresses`
--
ALTER TABLE `customer_addresses`
  ADD CONSTRAINT `customer_addresses_customer_id_foreign` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `delivery_cash_settlements`
--
ALTER TABLE `delivery_cash_settlements`
  ADD CONSTRAINT `delivery_cash_settlements_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `delivery_cash_settlements_delivery_executive_id_foreign` FOREIGN KEY (`delivery_executive_id`) REFERENCES `delivery_executives` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `delivery_cash_settlement_items`
--
ALTER TABLE `delivery_cash_settlement_items`
  ADD CONSTRAINT `delivery_cash_settlement_items_order_cash_collection_id_foreign` FOREIGN KEY (`order_cash_collection_id`) REFERENCES `order_cash_collections` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `delivery_cash_settlement_items_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `delivery_cash_settlement_items_settlement_id_foreign` FOREIGN KEY (`settlement_id`) REFERENCES `delivery_cash_settlements` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `delivery_executives`
--
ALTER TABLE `delivery_executives`
  ADD CONSTRAINT `delivery_executives_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `delivery_fee_tiers`
--
ALTER TABLE `delivery_fee_tiers`
  ADD CONSTRAINT `delivery_fee_tiers_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `delivery_platforms`
--
ALTER TABLE `delivery_platforms`
  ADD CONSTRAINT `delivery_platforms_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `expenses`
--
ALTER TABLE `expenses`
  ADD CONSTRAINT `expenses_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `expenses_expense_category_id_foreign` FOREIGN KEY (`expense_category_id`) REFERENCES `expense_categories` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `expense_categories`
--
ALTER TABLE `expense_categories`
  ADD CONSTRAINT `expense_categories_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `file_storage`
--
ALTER TABLE `file_storage`
  ADD CONSTRAINT `file_storage_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `flutterwave_payments`
--
ALTER TABLE `flutterwave_payments`
  ADD CONSTRAINT `flutterwave_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `front_details`
--
ALTER TABLE `front_details`
  ADD CONSTRAINT `front_details_language_setting_id_foreign` FOREIGN KEY (`language_setting_id`) REFERENCES `language_settings` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `front_faq_settings`
--
ALTER TABLE `front_faq_settings`
  ADD CONSTRAINT `front_faq_settings_language_setting_id_foreign` FOREIGN KEY (`language_setting_id`) REFERENCES `language_settings` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `front_features`
--
ALTER TABLE `front_features`
  ADD CONSTRAINT `front_features_language_setting_id_foreign` FOREIGN KEY (`language_setting_id`) REFERENCES `language_settings` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `front_review_settings`
--
ALTER TABLE `front_review_settings`
  ADD CONSTRAINT `front_review_settings_language_setting_id_foreign` FOREIGN KEY (`language_setting_id`) REFERENCES `language_settings` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `item_categories`
--
ALTER TABLE `item_categories`
  ADD CONSTRAINT `item_categories_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `item_modifiers`
--
ALTER TABLE `item_modifiers`
  ADD CONSTRAINT `item_modifiers_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `item_modifiers_menu_item_variation_id_foreign` FOREIGN KEY (`menu_item_variation_id`) REFERENCES `menu_item_variations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `item_modifiers_modifier_group_id_foreign` FOREIGN KEY (`modifier_group_id`) REFERENCES `modifier_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `kots`
--
ALTER TABLE `kots`
  ADD CONSTRAINT `kots_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `kots_cancel_reason_id_foreign` FOREIGN KEY (`cancel_reason_id`) REFERENCES `kot_cancel_reasons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `kots_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `kots_order_type_id_foreign` FOREIGN KEY (`order_type_id`) REFERENCES `order_types` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `kot_cancel_reasons`
--
ALTER TABLE `kot_cancel_reasons`
  ADD CONSTRAINT `kot_cancel_reasons_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `kot_items`
--
ALTER TABLE `kot_items`
  ADD CONSTRAINT `kot_items_cancel_reason_id_foreign` FOREIGN KEY (`cancel_reason_id`) REFERENCES `kot_cancel_reasons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `kot_items_cancelled_by_foreign` FOREIGN KEY (`cancelled_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `kot_items_kot_id_foreign` FOREIGN KEY (`kot_id`) REFERENCES `kots` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `kot_items_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `kot_items_menu_item_variation_id_foreign` FOREIGN KEY (`menu_item_variation_id`) REFERENCES `menu_item_variations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `kot_items_order_item_id_foreign` FOREIGN KEY (`order_item_id`) REFERENCES `order_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `kot_item_modifier_options`
--
ALTER TABLE `kot_item_modifier_options`
  ADD CONSTRAINT `kot_item_modifier_options_kot_item_id_foreign` FOREIGN KEY (`kot_item_id`) REFERENCES `kot_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `kot_item_modifier_options_modifier_option_id_foreign` FOREIGN KEY (`modifier_option_id`) REFERENCES `modifier_options` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `kot_places`
--
ALTER TABLE `kot_places`
  ADD CONSTRAINT `kot_places_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `kot_places_printer_id_foreign` FOREIGN KEY (`printer_id`) REFERENCES `printers` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `kot_settings`
--
ALTER TABLE `kot_settings`
  ADD CONSTRAINT `kot_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `menus`
--
ALTER TABLE `menus`
  ADD CONSTRAINT `menus_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `menu_items`
--
ALTER TABLE `menu_items`
  ADD CONSTRAINT `menu_items_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `menu_items_item_category_id_foreign` FOREIGN KEY (`item_category_id`) REFERENCES `item_categories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `menu_items_menu_id_foreign` FOREIGN KEY (`menu_id`) REFERENCES `menus` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `menu_item_prices`
--
ALTER TABLE `menu_item_prices`
  ADD CONSTRAINT `menu_item_prices_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `menu_item_prices_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD 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,
  ADD CONSTRAINT `menu_item_prices_order_type_id_foreign` FOREIGN KEY (`order_type_id`) REFERENCES `order_types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `menu_item_tax`
--
ALTER TABLE `menu_item_tax`
  ADD CONSTRAINT `menu_item_tax_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `menu_item_tax_tax_id_foreign` FOREIGN KEY (`tax_id`) REFERENCES `taxes` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `menu_item_translations`
--
ALTER TABLE `menu_item_translations`
  ADD CONSTRAINT `menu_item_translations_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `menu_item_variations`
--
ALTER TABLE `menu_item_variations`
  ADD CONSTRAINT `menu_item_variations_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `menu_table`
--
ALTER TABLE `menu_table`
  ADD CONSTRAINT `menu_table_menu_id_foreign` FOREIGN KEY (`menu_id`) REFERENCES `menus` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `menu_table_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `modifier_groups`
--
ALTER TABLE `modifier_groups`
  ADD CONSTRAINT `modifier_groups_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `modifier_group_translations`
--
ALTER TABLE `modifier_group_translations`
  ADD CONSTRAINT `modifier_group_translations_modifier_group_id_foreign` FOREIGN KEY (`modifier_group_id`) REFERENCES `modifier_groups` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `modifier_options`
--
ALTER TABLE `modifier_options`
  ADD CONSTRAINT `modifier_options_modifier_group_id_foreign` FOREIGN KEY (`modifier_group_id`) REFERENCES `modifier_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `modifier_option_prices`
--
ALTER TABLE `modifier_option_prices`
  ADD CONSTRAINT `modifier_option_prices_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `modifier_option_prices_modifier_group_id_foreign` FOREIGN KEY (`modifier_group_id`) REFERENCES `modifier_groups` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `modifier_option_prices_modifier_option_id_foreign` FOREIGN KEY (`modifier_option_id`) REFERENCES `modifier_options` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `modifier_option_prices_order_type_id_foreign` FOREIGN KEY (`order_type_id`) REFERENCES `order_types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `mollie_payments`
--
ALTER TABLE `mollie_payments`
  ADD CONSTRAINT `mollie_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `notifications`
--
ALTER TABLE `notifications`
  ADD CONSTRAINT `notifications_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `notification_settings`
--
ALTER TABLE `notification_settings`
  ADD CONSTRAINT `notification_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `offline_payment_methods`
--
ALTER TABLE `offline_payment_methods`
  ADD CONSTRAINT `offline_payment_methods_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `offline_plan_changes`
--
ALTER TABLE `offline_plan_changes`
  ADD CONSTRAINT `offline_plan_changes_invoice_id_foreign` FOREIGN KEY (`invoice_id`) REFERENCES `global_invoices` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `offline_plan_changes_offline_method_id_foreign` FOREIGN KEY (`offline_method_id`) REFERENCES `offline_payment_methods` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `offline_plan_changes_package_id_foreign` FOREIGN KEY (`package_id`) REFERENCES `packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `offline_plan_changes_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `onboarding_steps`
--
ALTER TABLE `onboarding_steps`
  ADD CONSTRAINT `onboarding_steps_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `orders`
--
ALTER TABLE `orders`
  ADD CONSTRAINT `orders_added_by_foreign` FOREIGN KEY (`added_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `orders_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `orders_cancel_reason_id_foreign` FOREIGN KEY (`cancel_reason_id`) REFERENCES `kot_cancel_reasons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `orders_cancelled_by_foreign` FOREIGN KEY (`cancelled_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `orders_customer_id_foreign` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `orders_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `orders_delivery_executive_id_foreign` FOREIGN KEY (`delivery_executive_id`) REFERENCES `delivery_executives` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `orders_order_type_id_foreign` FOREIGN KEY (`order_type_id`) REFERENCES `order_types` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `orders_reservation_id_foreign` FOREIGN KEY (`reservation_id`) REFERENCES `reservations` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `orders_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `orders_waiter_id_foreign` FOREIGN KEY (`waiter_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `order_cash_collections`
--
ALTER TABLE `order_cash_collections`
  ADD CONSTRAINT `order_cash_collections_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_cash_collections_delivery_executive_id_foreign` FOREIGN KEY (`delivery_executive_id`) REFERENCES `delivery_executives` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `order_cash_collections_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `order_charges`
--
ALTER TABLE `order_charges`
  ADD CONSTRAINT `order_charges_charge_id_foreign` FOREIGN KEY (`charge_id`) REFERENCES `restaurant_charges` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_charges_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `order_histories`
--
ALTER TABLE `order_histories`
  ADD CONSTRAINT `order_histories_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `order_items`
--
ALTER TABLE `order_items`
  ADD CONSTRAINT `order_items_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `order_items_menu_item_id_foreign` FOREIGN KEY (`menu_item_id`) REFERENCES `menu_items` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_items_menu_item_variation_id_foreign` FOREIGN KEY (`menu_item_variation_id`) REFERENCES `menu_item_variations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_items_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `order_item_modifier_options`
--
ALTER TABLE `order_item_modifier_options`
  ADD 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,
  ADD CONSTRAINT `order_item_modifier_options_order_item_id_foreign` FOREIGN KEY (`order_item_id`) REFERENCES `order_items` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `order_notification_settings`
--
ALTER TABLE `order_notification_settings`
  ADD CONSTRAINT `order_notification_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_notification_settings_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `order_number_settings`
--
ALTER TABLE `order_number_settings`
  ADD CONSTRAINT `order_number_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `order_places`
--
ALTER TABLE `order_places`
  ADD CONSTRAINT `order_places_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_places_printer_id_foreign` FOREIGN KEY (`printer_id`) REFERENCES `printers` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `order_taxes`
--
ALTER TABLE `order_taxes`
  ADD CONSTRAINT `order_taxes_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `order_taxes_tax_id_foreign` FOREIGN KEY (`tax_id`) REFERENCES `taxes` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `order_types`
--
ALTER TABLE `order_types`
  ADD CONSTRAINT `order_types_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `packages`
--
ALTER TABLE `packages`
  ADD CONSTRAINT `packages_currency_id_foreign` FOREIGN KEY (`currency_id`) REFERENCES `global_currencies` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `package_modules`
--
ALTER TABLE `package_modules`
  ADD CONSTRAINT `package_modules_module_id_foreign` FOREIGN KEY (`module_id`) REFERENCES `modules` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `package_modules_package_id_foreign` FOREIGN KEY (`package_id`) REFERENCES `packages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `payfast_payments`
--
ALTER TABLE `payfast_payments`
  ADD CONSTRAINT `payfast_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `payments`
--
ALTER TABLE `payments`
  ADD CONSTRAINT `payments_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `paypal_payments`
--
ALTER TABLE `paypal_payments`
  ADD CONSTRAINT `paypal_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `paystack_payments`
--
ALTER TABLE `paystack_payments`
  ADD CONSTRAINT `paystack_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `permissions`
--
ALTER TABLE `permissions`
  ADD CONSTRAINT `permissions_module_id_foreign` FOREIGN KEY (`module_id`) REFERENCES `modules` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `predefined_amounts`
--
ALTER TABLE `predefined_amounts`
  ADD CONSTRAINT `predefined_amounts_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `printers`
--
ALTER TABLE `printers`
  ADD CONSTRAINT `printers_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `printers_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `print_jobs`
--
ALTER TABLE `print_jobs`
  ADD CONSTRAINT `print_jobs_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `print_jobs_printer_id_foreign` FOREIGN KEY (`printer_id`) REFERENCES `printers` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `print_jobs_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `razorpay_payments`
--
ALTER TABLE `razorpay_payments`
  ADD CONSTRAINT `razorpay_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `receipt_settings`
--
ALTER TABLE `receipt_settings`
  ADD CONSTRAINT `receipt_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `receipt_settings_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `refunds`
--
ALTER TABLE `refunds`
  ADD CONSTRAINT `refunds_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `refunds_delivery_app_id_foreign` FOREIGN KEY (`delivery_app_id`) REFERENCES `delivery_platforms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `refunds_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `refunds_payment_id_foreign` FOREIGN KEY (`payment_id`) REFERENCES `payments` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `refunds_processed_by_foreign` FOREIGN KEY (`processed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `refunds_refund_reason_id_foreign` FOREIGN KEY (`refund_reason_id`) REFERENCES `refund_reasons` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Constraints for table `refund_reasons`
--
ALTER TABLE `refund_reasons`
  ADD CONSTRAINT `refund_reasons_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `reservations`
--
ALTER TABLE `reservations`
  ADD CONSTRAINT `reservations_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `reservations_customer_id_foreign` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `reservations_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `reservation_settings`
--
ALTER TABLE `reservation_settings`
  ADD CONSTRAINT `reservation_settings_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `restaurant_charges`
--
ALTER TABLE `restaurant_charges`
  ADD CONSTRAINT `restaurant_charges_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `restaurant_taxes`
--
ALTER TABLE `restaurant_taxes`
  ADD CONSTRAINT `restaurant_taxes_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `roles`
--
ALTER TABLE `roles`
  ADD CONSTRAINT `roles_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `split_orders`
--
ALTER TABLE `split_orders`
  ADD CONSTRAINT `split_orders_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `split_order_items`
--
ALTER TABLE `split_order_items`
  ADD CONSTRAINT `split_order_items_order_item_id_foreign` FOREIGN KEY (`order_item_id`) REFERENCES `order_items` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `split_order_items_split_order_id_foreign` FOREIGN KEY (`split_order_id`) REFERENCES `split_orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `tap_payments`
--
ALTER TABLE `tap_payments`
  ADD CONSTRAINT `tap_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `taxes`
--
ALTER TABLE `taxes`
  ADD CONSTRAINT `taxes_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `taxes_restaurant_id_foreign` FOREIGN KEY (`restaurant_id`) REFERENCES `restaurants` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `waiter_requests`
--
ALTER TABLE `waiter_requests`
  ADD CONSTRAINT `waiter_requests_branch_id_foreign` FOREIGN KEY (`branch_id`) REFERENCES `branches` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `waiter_requests_table_id_foreign` FOREIGN KEY (`table_id`) REFERENCES `tables` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `xendit_payments`
--
ALTER TABLE `xendit_payments`
  ADD CONSTRAINT `xendit_payments_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;
COMMIT;

