-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Generation Time: Jun 19, 2026 at 08:07 PM
-- Server version: 8.0.31
-- PHP Version: 8.2.0

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `pvcpsb_wecare`
--

-- --------------------------------------------------------

--
-- Table structure for table `adjustment_definitions`
--

DROP TABLE IF EXISTS `adjustment_definitions`;
CREATE TABLE IF NOT EXISTS `adjustment_definitions` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `type` enum('fee','discount','tax') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `target_module` tinyint NOT NULL DEFAULT '3' COMMENT '1: order, 2: service_request, 3: both',
  `calculation_order` tinyint NOT NULL,
  `calculation_base` enum('subtotal','running_total') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `is_taxable` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `adjustment_definitions_code_unique` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `adjustment_definitions`
--

INSERT INTO `adjustment_definitions` (`id`, `code`, `name`, `name_ar`, `type`, `target_module`, `calculation_order`, `calculation_base`, `is_taxable`, `created_at`, `updated_at`) VALUES
(1, 'SERVICE_CHARGE_PSK-PYR', 'Service Charge', 'رسوم الخدمة ', 'fee', 2, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-24 11:34:49'),
(2, 'COVER_CHARGE_PSK-PYR', 'Cover Charge', 'رسوم الغطاء', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 11:06:58'),
(3, 'VAT_PSK-PYR', 'VAT', 'ضريبة القيمة المضافة', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 16:58:32'),
(4, 'SERVICE_CHARGE_PSK-HOTEL', 'Service Charge - Porto Sokhna - Hotel', 'رسوم الخدمة - Porto Sokhna - Hotel', 'fee', 3, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(5, 'COVER_CHARGE_PSK-HOTEL', 'Cover Charge - Porto Sokhna - Hotel', 'رسوم الغطاء - Porto Sokhna - Hotel', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(6, 'VAT_PSK-HOTEL', 'VAT (14%) - Porto Sokhna - Hotel', 'ضريبة القيمة المضافة ١٤٪ - Porto Sokhna - Hotel', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(7, 'SERVICE_CHARGE_PSK-GOLF', 'Service Charge - Porto Sokhna - Golf', 'رسوم الخدمة - Porto Sokhna - Golf', 'fee', 3, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(8, 'COVER_CHARGE_PSK-GOLF', 'Cover Charge - Porto Sokhna - Golf', 'رسوم الغطاء - Porto Sokhna - Golf', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(9, 'VAT_PSK-GOLF', 'VAT (14%) - Porto Sokhna - Golf', 'ضريبة القيمة المضافة ١٤٪ - Porto Sokhna - Golf', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(10, 'SERVICE_CHARGE_PSB-GENWA', 'Service Charge - Porto South Beach - Genwa', 'رسوم الخدمة - Porto South Beach - Genwa', 'fee', 3, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(11, 'COVER_CHARGE_PSB-GENWA', 'Cover Charge - Porto South Beach - Genwa', 'رسوم الغطاء - Porto South Beach - Genwa', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(12, 'VAT_PSB-GENWA', 'VAT (14%) - Porto South Beach - Genwa', 'ضريبة القيمة المضافة ١٤٪ - Porto South Beach - Genwa', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(13, 'SERVICE_CHARGE_PSB-PVC', 'Service Charge - Porto South Beach - PVC Timeshare', 'رسوم الخدمة - Porto South Beach - PVC Timeshare', 'fee', 3, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(14, 'COVER_CHARGE_PSB-PVC', 'Cover Charge - Porto South Beach - PVC Timeshare', 'رسوم الغطاء - Porto South Beach - PVC Timeshare', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(15, 'VAT_PSB-PVC', 'VAT (14%) - Porto South Beach - PVC Timeshare', 'ضريبة القيمة المضافة ١٤٪ - Porto South Beach - PVC Timeshare', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(16, 'SERVICE_CHARGE_PMR-TOWERS', 'Service Charge - Porto Marina - Towers', 'رسوم الخدمة - Porto Marina - Towers', 'fee', 3, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(17, 'COVER_CHARGE_PMR-TOWERS', 'Cover Charge - Porto Marina - Towers', 'رسوم الغطاء - Porto Marina - Towers', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(18, 'VAT_PMR-TOWERS', 'VAT (14%) - Porto Marina - Towers', 'ضريبة القيمة المضافة ١٤٪ - Porto Marina - Towers', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(19, 'SERVICE_CHARGE_PMR-HOTEL', 'Service Charge - Porto Marina - Hotel', 'رسوم الخدمة - Porto Marina - Hotel', 'fee', 3, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(20, 'COVER_CHARGE_PMR-HOTEL', 'Cover Charge - Porto Marina - Hotel', 'رسوم الغطاء - Porto Marina - Hotel', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(21, 'VAT_PMR-HOTEL', 'VAT (14%) - Porto Marina - Hotel', 'ضريبة القيمة المضافة ١٤٪ - Porto Marina - Hotel', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(22, 'SERVICE_CHARGE_PMR-GOLF', 'Service Charge - Porto Marina - Golf', 'رسوم الخدمة - Porto Marina - Golf', 'fee', 3, 1, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(23, 'COVER_CHARGE_PMR-GOLF', 'Cover Charge - Porto Marina - Golf', 'رسوم الغطاء - Porto Marina - Golf', 'fee', 1, 2, 'subtotal', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(24, 'VAT_PMR-GOLF', 'VAT (14%) - Porto Marina - Golf', 'ضريبة القيمة المضافة ١٤٪ - Porto Marina - Golf', 'fee', 3, 3, 'running_total', 0, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(43, 'adjusment1', 'adjusment1', 'adjusment1', 'fee', 3, 4, 'subtotal', 1, '2026-06-13 13:00:30', '2026-06-13 13:00:30');

-- --------------------------------------------------------

--
-- Table structure for table `areas`
--

DROP TABLE IF EXISTS `areas`;
CREATE TABLE IF NOT EXISTS `areas` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `areas_code_unique` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `areas`
--

INSERT INTO `areas` (`id`, `name`, `name_ar`, `code`, `created_at`, `updated_at`) VALUES
(1, 'Ain Sokhna', 'العين السخنة', 'AS', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 'North Coast', 'الساحل الشمالي', 'NS', '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `attachments`
--

DROP TABLE IF EXISTS `attachments`;
CREATE TABLE IF NOT EXISTS `attachments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `type` int NOT NULL,
  `target_id` int NOT NULL,
  `real_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `saved_name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `size` bigint NOT NULL,
  `att_type` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `attachments`
--

INSERT INTO `attachments` (`id`, `type`, `target_id`, `real_name`, `saved_name`, `size`, `att_type`, `created_at`, `updated_at`) VALUES
(1, 2, 10, 'logo-500x500', '11bf3f66a72602e770b52ca517d59645', 64569, 'png', '2026-06-18 09:10:33', '2026-06-18 09:10:33');

-- --------------------------------------------------------

--
-- Table structure for table `banks`
--

DROP TABLE IF EXISTS `banks`;
CREATE TABLE IF NOT EXISTS `banks` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `short_code` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `status` tinyint NOT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `banks_short_code_index` (`short_code`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `banks`
--

INSERT INTO `banks` (`id`, `name`, `short_code`, `status`, `notes`, `created_at`, `updated_at`) VALUES
(1, 'National Bank of Egypt', 'NBE', 1, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 'Commercial International Bank', 'CIB', 1, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 'Arab African International Bank', 'AAIB', 1, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `bank_accounts`
--

DROP TABLE IF EXISTS `bank_accounts`;
CREATE TABLE IF NOT EXISTS `bank_accounts` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `bank_id` bigint UNSIGNED NOT NULL,
  `account_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `account_number` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `iban` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `currency` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'EGP',
  `is_default` tinyint(1) NOT NULL DEFAULT '0',
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  PRIMARY KEY (`id`),
  KEY `bank_accounts_bank_id_foreign` (`bank_id`),
  KEY `idx_bank_accounts_zone_id` (`zone_id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `bank_accounts`
--

INSERT INTO `bank_accounts` (`id`, `created_at`, `updated_at`, `bank_id`, `account_name`, `account_number`, `iban`, `currency`, `is_default`, `zone_id`, `is_active`, `notes`) VALUES
(1, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSK-PYR - NBE EGP', 'NBE-PSK-PYR-EGP-001', NULL, 'EGP', 0, 1, 1, NULL),
(2, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSK-PYR - NBE USD', 'NBE-PSK-PYR-USD-001', NULL, 'USD', 0, 1, 1, NULL),
(3, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSK-HOTEL - NBE EGP', 'NBE-PSK-HOTEL-EGP-001', NULL, 'EGP', 0, 2, 1, NULL),
(4, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSK-HOTEL - NBE USD', 'NBE-PSK-HOTEL-USD-001', NULL, 'USD', 0, 2, 1, NULL),
(5, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSK-GOLF - NBE EGP', 'NBE-PSK-GOLF-EGP-001', NULL, 'EGP', 0, 3, 1, NULL),
(6, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSK-GOLF - NBE USD', 'NBE-PSK-GOLF-USD-001', NULL, 'USD', 0, 3, 1, NULL),
(7, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSB-GENWA - NBE EGP', 'NBE-PSB-GENWA-EGP-001', NULL, 'EGP', 0, 4, 1, NULL),
(8, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PSB-PVC - NBE EGP', 'NBE-PSB-PVC-EGP-001', NULL, 'EGP', 0, 5, 1, NULL),
(9, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PMR-TOWERS - NBE EGP', 'NBE-PMR-TOWERS-EGP-001', NULL, 'EGP', 0, 6, 1, NULL),
(10, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PMR-TOWERS - NBE USD', 'NBE-PMR-TOWERS-USD-001', NULL, 'USD', 0, 6, 1, NULL),
(11, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PMR-HOTEL - NBE EGP', 'NBE-PMR-HOTEL-EGP-001', NULL, 'EGP', 0, 7, 1, NULL),
(12, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PMR-HOTEL - NBE USD', 'NBE-PMR-HOTEL-USD-001', NULL, 'USD', 0, 7, 1, NULL),
(13, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PMR-GOLF - NBE EGP', 'NBE-PMR-GOLF-EGP-001', NULL, 'EGP', 0, 8, 1, NULL),
(14, '2026-05-23 00:27:02', '2026-05-23 00:27:02', 1, 'PMR-GOLF - NBE USD', 'NBE-PMR-GOLF-USD-001', NULL, 'USD', 0, 8, 1, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `bank_sequences`
--

DROP TABLE IF EXISTS `bank_sequences`;
CREATE TABLE IF NOT EXISTS `bank_sequences` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `bank_account_id` bigint UNSIGNED NOT NULL,
  `prefix` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `current_number` int UNSIGNED NOT NULL DEFAULT '0',
  `padding` tinyint UNSIGNED NOT NULL DEFAULT '4',
  `example_format` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `bank_sequences_bank_account_id_prefix_unique` (`bank_account_id`,`prefix`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `bank_sequences`
--

INSERT INTO `bank_sequences` (`id`, `bank_account_id`, `prefix`, `current_number`, `padding`, `example_format`, `created_at`, `updated_at`) VALUES
(1, 1, 'PSK-PYR-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 2, 'PSK-PYR-USD', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 3, 'PSK-HOTEL-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(4, 4, 'PSK-HOTEL-USD', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(5, 5, 'PSK-GOLF-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(6, 6, 'PSK-GOLF-USD', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(7, 7, 'PSB-GENWA-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(8, 8, 'PSB-PVC-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(9, 9, 'PMR-TOWERS-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(10, 10, 'PMR-TOWERS-USD', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(11, 11, 'PMR-HOTEL-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(12, 12, 'PMR-HOTEL-USD', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(13, 13, 'PMR-GOLF-EGP', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(14, 14, 'PMR-GOLF-USD', 0, 4, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `bank_transactions`
--

DROP TABLE IF EXISTS `bank_transactions`;
CREATE TABLE IF NOT EXISTS `bank_transactions` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `account_id` bigint UNSIGNED NOT NULL,
  `daily_closing_id` bigint UNSIGNED DEFAULT NULL,
  `house_fund_transaction_id` bigint UNSIGNED DEFAULT NULL,
  `cheque_num` int NOT NULL,
  `beneficiary` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `transfer` tinyint NOT NULL,
  `type` tinyint NOT NULL,
  `source_type` enum('card_payment','online_payment','cash_deposit','manual','wallet_payment','transfer_payment') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `amount` decimal(10,2) NOT NULL,
  `status` tinyint NOT NULL,
  `description` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `reference` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `maturity_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `business_date` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `bank_transactions_account_id_foreign` (`account_id`),
  KEY `bank_transactions_daily_closing_id_foreign` (`daily_closing_id`),
  KEY `bank_transactions_house_fund_transaction_id_foreign` (`house_fund_transaction_id`),
  KEY `bank_trans_business_source_idx` (`business_date`,`source_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `branches`
--

DROP TABLE IF EXISTS `branches`;
CREATE TABLE IF NOT EXISTS `branches` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `canned_messages`
--

DROP TABLE IF EXISTS `canned_messages`;
CREATE TABLE IF NOT EXISTS `canned_messages` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `message` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `type` tinyint DEFAULT NULL,
  `status` tinyint DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `carts`
--

DROP TABLE IF EXISTS `carts`;
CREATE TABLE IF NOT EXISTS `carts` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `session_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `contact_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `service_context_type` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `service_point_id` bigint UNSIGNED DEFAULT NULL,
  `service_location_label` varchar(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `subtotal` int UNSIGNED NOT NULL DEFAULT '0',
  `discount_total` int UNSIGNED NOT NULL DEFAULT '0',
  `service_fee` int UNSIGNED NOT NULL DEFAULT '0',
  `tax_total` int UNSIGNED NOT NULL DEFAULT '0',
  `grand_total` int UNSIGNED NOT NULL DEFAULT '0',
  `currency` varchar(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'EGP',
  `coupon_code` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `service_fee_rate` decimal(5,4) NOT NULL DEFAULT '0.0000',
  `tax_rate` decimal(5,4) NOT NULL DEFAULT '0.1400',
  `status` enum('active','abandoned','converted') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'active',
  `expires_at` datetime DEFAULT NULL,
  `converted_to_order_id` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `carts_session_id_index` (`session_id`),
  KEY `carts_user_id_index` (`user_id`),
  KEY `carts_contact_id_index` (`contact_id`),
  KEY `carts_zone_id_index` (`zone_id`),
  KEY `carts_status_index` (`status`),
  KEY `carts_outlet_id_foreign` (`outlet_id`),
  KEY `carts_zone_outlet_status_idx` (`zone_id`,`outlet_id`,`status`),
  KEY `carts_service_point_id_foreign` (`service_point_id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `carts`
--

INSERT INTO `carts` (`id`, `session_id`, `user_id`, `contact_id`, `zone_id`, `outlet_id`, `service_context_type`, `service_point_id`, `service_location_label`, `subtotal`, `discount_total`, `service_fee`, `tax_total`, `grand_total`, `currency`, `coupon_code`, `notes`, `service_fee_rate`, `tax_rate`, `status`, `expires_at`, `converted_to_order_id`, `created_at`, `updated_at`) VALUES
(1, '05aUavZWr9ohmKyNdbBIzO6G6PPEoHES14mSyGE3', NULL, NULL, 1, NULL, NULL, NULL, NULL, 10000, 0, 3566, 0, 13566, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-05-28 11:32:35', 8, '2026-05-24 11:32:35', '2026-05-24 11:33:25'),
(2, 'lbAC3nvo1tmNNg2YPesrltXUgetg9WwGkZIn3fDt', NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 1200, 0, 5700, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-05-28 11:35:29', 9, '2026-05-24 11:35:29', '2026-05-24 11:36:02'),
(3, 'lbAC3nvo1tmNNg2YPesrltXUgetg9WwGkZIn3fDt', NULL, NULL, 1, NULL, NULL, NULL, NULL, 32000, 0, 5050, 0, 37050, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-05-28 13:13:51', 10, '2026-05-24 13:13:51', '2026-05-24 13:43:12'),
(4, 'UDeLp4ZU9EnoZ03xfNpId1Jq0g0k2xW3acQoTuXj', NULL, NULL, 1, NULL, NULL, NULL, NULL, 24500, 0, 4000, 0, 28500, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-05-28 14:08:20', 11, '2026-05-24 11:08:20', '2026-05-24 11:14:20'),
(5, 'UDeLp4ZU9EnoZ03xfNpId1Jq0g0k2xW3acQoTuXj', NULL, NULL, 1, NULL, NULL, NULL, NULL, 3500, 0, 1060, 0, 4560, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-05-28 14:24:10', 12, '2026-05-24 11:24:10', '2026-05-24 11:24:15'),
(6, 'UDeLp4ZU9EnoZ03xfNpId1Jq0g0k2xW3acQoTuXj', NULL, NULL, 1, NULL, NULL, NULL, NULL, 3500, 0, 1060, 0, 4560, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-05-28 14:28:46', 13, '2026-05-24 11:28:46', '2026-05-24 11:28:50'),
(7, 'UDeLp4ZU9EnoZ03xfNpId1Jq0g0k2xW3acQoTuXj', NULL, NULL, 1, NULL, NULL, NULL, NULL, 3500, 0, 1060, 0, 4560, 'EGP', NULL, NULL, '0.0000', '0.1400', 'active', '2026-05-28 14:43:35', NULL, '2026-05-24 11:43:35', '2026-05-24 11:43:35'),
(8, '9IRylClkFsYofKVrg9gHFLO1cGuagm54si7Qoyd2', NULL, NULL, 1, NULL, NULL, NULL, NULL, 5500, 0, 1340, 0, 6840, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-02 14:18:17', 14, '2026-05-29 11:18:17', '2026-05-29 11:25:39'),
(9, '9IRylClkFsYofKVrg9gHFLO1cGuagm54si7Qoyd2', NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 1200, 0, 5700, 'EGP', NULL, NULL, '0.0000', '0.1400', 'active', '2026-06-02 17:13:39', NULL, '2026-05-29 14:13:39', '2026-05-29 14:13:39'),
(10, 'oLXv3FrAJHLfQwlKeEiQNXJEjlo0hTi5vG3NCDsK', NULL, NULL, 1, NULL, NULL, NULL, NULL, 2000, 0, 850, 0, 2850, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-03 17:44:19', 15, '2026-05-30 14:44:19', '2026-05-30 14:44:25'),
(11, 'NVX0wYAxsH4eTHkqjMZtRtVXYrg32VpTtvwJweyE', NULL, NULL, 1, NULL, NULL, NULL, NULL, 1500, 0, 780, 0, 2280, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-03 22:03:39', 16, '2026-05-30 19:03:39', '2026-05-30 19:03:44'),
(12, 'gw5T1uzi1kFP2OmS6F2bz0MqHrJzGM1agR7jp5cZ', NULL, NULL, 1, NULL, NULL, NULL, NULL, 21000, 0, 3510, 0, 24510, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-08 15:02:22', 17, '2026-06-04 12:02:22', '2026-06-04 19:43:54'),
(13, 'gw5T1uzi1kFP2OmS6F2bz0MqHrJzGM1agR7jp5cZ', NULL, NULL, 1, NULL, NULL, NULL, NULL, 11000, 0, 2110, 0, 13110, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-09 00:05:39', 18, '2026-06-04 21:05:39', '2026-06-04 22:00:52'),
(14, 'KiEDqw7ciIYPbjzrSxIYC8vTfsMnnfBgXPRDIDOZ', NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 1200, 0, 5700, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-13 01:36:58', 19, '2026-06-06 01:36:58', '2026-06-06 01:37:42'),
(15, 'YUCSbZZIzWmLJd6KbOWxyU5bi3KnEXYUcx3vYL1a', NULL, NULL, 1, NULL, NULL, NULL, NULL, 9000, 0, 1830, 0, 10830, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-13 01:46:53', 20, '2026-06-06 01:46:53', '2026-06-06 01:47:11'),
(16, 'EfnZD2Vlc0SdgXlynHjEye4oQuENGBAggUJIPfHY', NULL, NULL, 1, NULL, NULL, NULL, NULL, 11500, 0, 2180, 0, 13680, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-13 01:51:30', 21, '2026-06-06 01:51:30', '2026-06-06 01:54:20'),
(17, 'EfnZD2Vlc0SdgXlynHjEye4oQuENGBAggUJIPfHY', NULL, NULL, 1, NULL, NULL, NULL, NULL, 15000, 0, 2670, 0, 17670, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-13 01:56:48', 23, '2026-06-06 01:56:48', '2026-06-06 02:49:48'),
(18, 'EfnZD2Vlc0SdgXlynHjEye4oQuENGBAggUJIPfHY', NULL, NULL, 1, NULL, NULL, NULL, NULL, 9000, 0, 1830, 0, 10830, 'EGP', NULL, NULL, '0.0000', '0.1400', 'active', '2026-06-13 02:50:43', NULL, '2026-06-06 02:50:43', '2026-06-06 02:50:44'),
(19, 'sYuNGBmPDMhiFJhU7kwu59Uw1WCPaqsJqKvs7CCu', NULL, NULL, 1, NULL, NULL, NULL, NULL, 0, 0, 570, 0, 570, 'EGP', NULL, NULL, '0.0000', '0.1400', 'active', '2026-06-15 10:43:23', NULL, '2026-06-08 07:43:23', '2026-06-08 07:44:31'),
(20, 'isttOWBUIlWcR8uwXV703ciL7UcotpNRK8UCmC62', NULL, NULL, 1, NULL, NULL, NULL, NULL, 5500, 0, 1340, 0, 6840, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-16 21:46:18', 50, '2026-06-09 18:46:18', '2026-06-09 18:46:28'),
(21, 'EQHOGvw0TkKtis7ifRMrYJHGHjDiFIxkZoJbpV5M', NULL, NULL, 1, 16, 'room_service', NULL, 'Room 102', 5500, 0, 770, 0, 6270, 'EGP', NULL, NULL, '0.0000', '0.1400', 'active', '2026-06-20 23:58:20', NULL, '2026-06-13 20:58:20', '2026-06-13 20:58:20'),
(22, '7GEtAuJomVZGc6TYmri1smP12v6qrUYi0XAu2ZIn', NULL, NULL, 1, 16, 'room_service', NULL, 'Room 101', 7500, 0, 11050, 0, 18550, 'EGP', NULL, NULL, '0.0000', '0.1400', 'converted', '2026-06-21 18:10:38', 76, '2026-06-14 18:10:38', '2026-06-14 18:11:16');

-- --------------------------------------------------------

--
-- Table structure for table `cart_items`
--

DROP TABLE IF EXISTS `cart_items`;
CREATE TABLE IF NOT EXISTS `cart_items` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `cart_id` bigint UNSIGNED NOT NULL,
  `menu_item_id` bigint UNSIGNED NOT NULL,
  `featured_item_id` bigint UNSIGNED DEFAULT NULL,
  `name_snapshot` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `quantity` int UNSIGNED NOT NULL DEFAULT '1',
  `unit_price_snapshot` int UNSIGNED NOT NULL DEFAULT '0',
  `line_discount` int UNSIGNED NOT NULL DEFAULT '0',
  `line_total` int UNSIGNED NOT NULL DEFAULT '0',
  `special_instructions` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `cart_items_cart_id_index` (`cart_id`),
  KEY `cart_items_menu_item_id_index` (`menu_item_id`),
  KEY `cart_items_featured_item_id_foreign` (`featured_item_id`)
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `cart_items`
--

INSERT INTO `cart_items` (`id`, `cart_id`, `menu_item_id`, `featured_item_id`, `name_snapshot`, `quantity`, `unit_price_snapshot`, `line_discount`, `line_total`, `special_instructions`, `metadata`, `created_at`, `updated_at`) VALUES
(1, 1, 3, 1, 'Shawarma Special', 1, 5500, 0, 5500, NULL, NULL, '2026-05-24 11:32:35', '2026-05-24 11:32:35'),
(2, 1, 1, NULL, 'Koshary', 1, 4500, 0, 4500, NULL, NULL, '2026-05-24 11:32:38', '2026-05-24 11:32:38'),
(3, 2, 1, NULL, 'Koshary', 1, 4500, 0, 4500, NULL, NULL, '2026-05-24 11:35:29', '2026-05-24 11:35:29'),
(4, 3, 3, 1, 'Shawarma Special', 2, 5500, 0, 11000, NULL, NULL, '2026-05-24 13:13:51', '2026-05-24 13:42:47'),
(5, 3, 1, NULL, 'Koshary', 3, 4500, 0, 13500, NULL, NULL, '2026-05-24 13:14:19', '2026-05-24 13:14:53'),
(6, 3, 4, 2, 'Grilled Kofta', 1, 7500, 0, 7500, NULL, NULL, '2026-05-24 13:42:52', '2026-05-24 13:42:52'),
(7, 4, 3, 1, 'Shawarma Special', 1, 5500, 0, 5500, NULL, NULL, '2026-05-24 11:08:20', '2026-05-24 11:08:20'),
(8, 4, 4, 2, 'Grilled Kofta', 1, 7500, 0, 7500, NULL, NULL, '2026-05-24 11:08:30', '2026-05-24 11:08:30'),
(9, 4, 26, NULL, 'Umm Ali', 2, 3500, 0, 7000, NULL, NULL, '2026-05-24 11:09:17', '2026-05-24 11:12:36'),
(10, 4, 1, NULL, 'Koshary', 1, 4500, 0, 4500, NULL, NULL, '2026-05-24 11:12:34', '2026-05-24 11:12:34'),
(11, 5, 26, NULL, 'Umm Ali', 1, 3500, 0, 3500, NULL, NULL, '2026-05-24 11:24:10', '2026-05-24 11:24:10'),
(12, 6, 26, NULL, 'Umm Ali', 1, 3500, 0, 3500, NULL, NULL, '2026-05-24 11:28:46', '2026-05-24 11:28:46'),
(13, 7, 26, NULL, 'Umm Ali', 1, 3500, 0, 3500, NULL, NULL, '2026-05-24 11:43:35', '2026-05-24 11:43:35'),
(14, 8, 3, 1, 'Shawarma Special', 1, 5500, 0, 5500, NULL, NULL, '2026-05-29 11:18:17', '2026-05-29 11:18:17'),
(15, 9, 27, 3, 'Fresh Kunafa', 1, 4500, 0, 4500, NULL, NULL, '2026-05-29 14:13:39', '2026-05-29 14:13:39'),
(16, 10, 2, NULL, 'Falafel (Taameya)', 1, 2000, 0, 2000, NULL, NULL, '2026-05-30 14:44:19', '2026-05-30 14:44:19'),
(17, 11, 16, NULL, 'Egyptian Tea', 1, 1500, 0, 1500, NULL, NULL, '2026-05-30 19:03:39', '2026-05-30 19:03:39'),
(22, 12, 26, NULL, 'Umm Ali', 6, 3500, 0, 21000, NULL, NULL, '2026-06-04 12:02:47', '2026-06-04 19:18:19'),
(26, 13, 3, NULL, 'شاورما سندوتش', 2, 5500, 0, 11000, NULL, NULL, '2026-06-04 21:05:39', '2026-06-04 21:05:56'),
(27, 14, 27, NULL, 'Kunafa', 1, 4500, 0, 4500, NULL, NULL, '2026-06-06 01:36:58', '2026-06-06 01:36:58'),
(28, 15, 31, NULL, 'Waffle', 1, 4000, 0, 4000, NULL, NULL, '2026-06-06 01:46:53', '2026-06-06 01:46:53'),
(29, 15, 30, NULL, 'Ice Cream', 1, 2800, 0, 2800, NULL, NULL, '2026-06-06 01:46:57', '2026-06-06 01:46:57'),
(30, 15, 32, NULL, 'Rice Pudding', 1, 2200, 0, 2200, NULL, NULL, '2026-06-06 01:47:00', '2026-06-06 01:47:00'),
(31, 16, 1, NULL, 'Koshary', 1, 4500, 0, 4500, NULL, NULL, '2026-06-06 01:51:30', '2026-06-06 01:51:30'),
(32, 16, 16, NULL, 'Egyptian Tea', 1, 1500, 0, 1500, NULL, NULL, '2026-06-06 01:51:32', '2026-06-06 01:53:03'),
(33, 16, 2, NULL, 'Falafel (Taameya)', 1, 2000, 0, 2000, NULL, NULL, '2026-06-06 01:51:35', '2026-06-06 01:53:01'),
(34, 16, 26, NULL, 'Umm Ali', 1, 3500, 0, 3500, NULL, NULL, '2026-06-06 01:51:50', '2026-06-06 01:51:50'),
(36, 17, 4, 2, 'Grilled Kofta', 2, 7500, 0, 15000, NULL, NULL, '2026-06-06 02:47:27', '2026-06-06 02:47:28'),
(37, 18, 1, NULL, 'Koshary', 2, 4500, 0, 9000, NULL, NULL, '2026-06-06 02:50:43', '2026-06-06 02:50:44'),
(40, 20, 3, 1, 'Shawarma Special', 1, 5500, 0, 5500, NULL, NULL, '2026-06-09 18:46:18', '2026-06-09 18:46:18'),
(41, 21, 3, 103, 'Shawarma Special', 1, 5500, 0, 5500, NULL, NULL, '2026-06-13 20:58:20', '2026-06-13 20:58:20'),
(42, 22, 4, 104, 'Grilled Kofta', 1, 7500, 0, 7500, NULL, NULL, '2026-06-14 18:10:38', '2026-06-14 18:10:38');

-- --------------------------------------------------------

--
-- Table structure for table `cashier_shifts`
--

DROP TABLE IF EXISTS `cashier_shifts`;
CREATE TABLE IF NOT EXISTS `cashier_shifts` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `cashier_id` bigint UNSIGNED NOT NULL,
  `branch_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED NOT NULL COMMENT 'Zone (primary in WeCare) - REQUIRED',
  `opening_time` datetime NOT NULL COMMENT 'Shift opening time',
  `business_date` date NOT NULL COMMENT 'Business date for financial grouping - REQUIRED',
  `closing_time` datetime DEFAULT NULL COMMENT 'Shift closing time',
  `reconciled_at` timestamp NULL DEFAULT NULL,
  `reconciled_by` bigint UNSIGNED DEFAULT NULL,
  `is_closed` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is shift closed?',
  `reconciliation_status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending',
  `opening_float` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Opening cash float',
  `float_used` decimal(12,2) NOT NULL DEFAULT '0.00',
  `total_cash_in` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total cash received',
  `total_cash_out` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total cash paid out (refunds)',
  `net_cash` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Net cash in drawer',
  `expected_cash` decimal(10,2) DEFAULT NULL,
  `actual_cash` decimal(10,2) DEFAULT NULL,
  `cash_difference` decimal(10,2) DEFAULT NULL,
  `orders_count` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of orders',
  `cancelled_count` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of cancelled orders',
  `refunded_count` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of refunded orders',
  `is_last_shift_of_day` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is last shift of the day',
  `is_night_locked` tinyint(1) NOT NULL DEFAULT '0',
  `daily_closing_id` bigint UNSIGNED DEFAULT NULL COMMENT 'Link to daily closing',
  `opening_notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci COMMENT 'Opening notes',
  `closing_notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci COMMENT 'Closing notes',
  `float_resolution` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL COMMENT 'return or keep',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `cashier_shifts_branch_id_foreign` (`branch_id`),
  KEY `cashier_shifts_cashier_id_index` (`cashier_id`),
  KEY `cashier_shifts_zone_id_index` (`zone_id`),
  KEY `cashier_shifts_opening_time_index` (`opening_time`),
  KEY `cashier_shifts_is_closed_index` (`is_closed`),
  KEY `cashier_shifts_cashier_id_is_closed_index` (`cashier_id`,`is_closed`),
  KEY `shifts_zone_business_idx` (`zone_id`,`business_date`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `cashier_shifts`
--

INSERT INTO `cashier_shifts` (`id`, `cashier_id`, `branch_id`, `zone_id`, `opening_time`, `business_date`, `closing_time`, `reconciled_at`, `reconciled_by`, `is_closed`, `reconciliation_status`, `opening_float`, `float_used`, `total_cash_in`, `total_cash_out`, `net_cash`, `expected_cash`, `actual_cash`, `cash_difference`, `orders_count`, `cancelled_count`, `refunded_count`, `is_last_shift_of_day`, `is_night_locked`, `daily_closing_id`, `opening_notes`, `closing_notes`, `float_resolution`, `created_at`, `updated_at`) VALUES
(1, 1, NULL, 1, '2026-05-23 14:08:06', '2026-05-23', NULL, NULL, NULL, 0, 'pending', '0.00', '0.00', '1569.90', '239.03', '0.00', '1569.90', NULL, NULL, 11, 0, 4, 1, 1, 1, '', NULL, NULL, '2026-05-23 11:08:06', '2026-06-03 07:46:13'),
(2, 2, NULL, 1, '2026-05-24 03:12:29', '2026-05-23', '2026-06-03 10:47:07', NULL, NULL, 1, 'reconciled', '0.00', '0.00', '1364.38', '129.96', '1234.42', '1234.42', '1234.42', NULL, 6, 0, 1, 1, 1, 1, '', '', 'return', '2026-05-24 03:12:29', '2026-06-03 07:47:07'),
(3, 2, NULL, 1, '2026-06-03 10:47:18', '2026-05-24', '2026-06-03 10:48:17', NULL, NULL, 1, 'reconciled', '0.00', '0.00', '194.94', '0.00', '194.94', NULL, '194.94', NULL, 1, 0, 0, 1, 0, 2, '', '', 'return', '2026-06-03 07:47:18', '2026-06-06 03:02:42'),
(4, 2, NULL, 1, '2026-06-03 10:48:34', '2026-05-24', '2026-06-06 03:04:06', NULL, NULL, 1, 'reconciled', '100.00', '50.00', '295.99', '50.00', '295.99', '345.99', '345.99', NULL, 1, 0, 2, 1, 1, 2, '', '', 'keep', '2026-06-03 07:48:34', '2026-06-06 03:04:06'),
(5, 2, NULL, 1, '2026-06-06 03:06:27', '2026-05-25', '2026-06-12 16:54:55', NULL, NULL, 1, 'reconciled', '50.00', '50.00', '1481.99', '324.90', '1207.09', '1207.09', '1207.09', '0.00', 4, 0, 1, 1, 1, 3, '', '', 'return', '2026-06-06 03:06:27', '2026-06-12 13:54:55'),
(6, 2, NULL, 1, '2026-06-12 16:55:13', '2026-05-26', '2026-06-18 15:53:25', NULL, NULL, 1, 'reconciled', '500.00', '57.00', '2069.29', '57.00', '2512.29', '2512.29', '2512.29', '0.00', 12, 0, 1, 1, 1, 4, '', '', 'return', '2026-06-12 13:55:13', '2026-06-18 12:53:25'),
(7, 2, NULL, 1, '2026-06-18 15:53:29', '2026-05-27', '2026-06-18 16:07:35', NULL, NULL, 1, 'reconciled', '0.00', '0.00', '271.00', '0.00', '271.00', '271.00', '271.00', '0.00', 1, 0, 0, 1, 1, 5, '', '', 'return', '2026-06-18 12:53:29', '2026-06-18 13:07:35'),
(8, 2, NULL, 1, '2026-06-18 16:37:54', '2026-05-29', '2026-06-18 17:02:16', NULL, NULL, 1, 'reconciled', '271.00', '0.00', '285.00', '0.00', '556.00', '556.00', '556.00', '0.00', 1, 0, 0, 1, 1, 7, '', '', 'return', '2026-06-18 13:37:54', '2026-06-18 14:02:16'),
(9, 2, NULL, 1, '2026-06-18 17:02:43', '2026-05-30', '2026-06-18 19:16:09', NULL, NULL, 1, 'reconciled', '0.00', '0.00', '385.00', '194.94', '190.06', '190.06', '190.06', '0.00', 1, 0, 1, 1, 1, 8, '', '', 'return', '2026-06-18 14:02:43', '2026-06-18 16:16:09'),
(10, 2, NULL, 1, '2026-06-18 19:16:23', '2026-05-31', NULL, NULL, NULL, 0, 'pending', '0.00', '0.00', '2778.04', '1640.14', '1137.90', '1137.90', NULL, NULL, 6, 0, 4, 0, 0, NULL, '', NULL, NULL, '2026-06-18 16:16:23', '2026-06-18 17:41:28');

--
-- Triggers `cashier_shifts`
--
DROP TRIGGER IF EXISTS `cashier_shifts_before_insert`;
DELIMITER $$
CREATE TRIGGER `cashier_shifts_before_insert` BEFORE INSERT ON `cashier_shifts` FOR EACH ROW BEGIN
                IF NEW.zone_id IS NULL THEN
                    SIGNAL SQLSTATE '45000'
                    SET MESSAGE_TEXT = 'CashierShift requires zone_id. A shift must be associated with a zone for proper financial tracking.';
                END IF;
                
                IF NEW.business_date IS NULL THEN
                    SIGNAL SQLSTATE '45000'
                    SET MESSAGE_TEXT = 'CashierShift requires business_date. A shift must have a business date for proper financial tracking.';
                END IF;
            END
$$
DELIMITER ;
DROP TRIGGER IF EXISTS `cashier_shifts_before_update`;
DELIMITER $$
CREATE TRIGGER `cashier_shifts_before_update` BEFORE UPDATE ON `cashier_shifts` FOR EACH ROW BEGIN
                IF NEW.zone_id IS NULL THEN
                    SIGNAL SQLSTATE '45000'
                    SET MESSAGE_TEXT = 'CashierShift zone_id cannot be set to NULL.';
                END IF;
                
                IF NEW.business_date IS NULL THEN
                    SIGNAL SQLSTATE '45000'
                    SET MESSAGE_TEXT = 'CashierShift business_date cannot be set to NULL.';
                END IF;
            END
$$
DELIMITER ;

-- --------------------------------------------------------

--
-- Table structure for table `cashier_shift_payments`
--

DROP TABLE IF EXISTS `cashier_shift_payments`;
CREATE TABLE IF NOT EXISTS `cashier_shift_payments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `cashier_shift_id` bigint UNSIGNED NOT NULL,
  `payment_method` tinyint UNSIGNED NOT NULL COMMENT '1=Cash, 2=Card, 3=Online, 4=Wallet, 5=Transfer',
  `expected_amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Expected from system',
  `actual_amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Actual entered by cashier',
  `difference` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Difference (actual - expected)',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_shift_payment_method` (`cashier_shift_id`,`payment_method`),
  KEY `cashier_shift_payments_cashier_shift_id_index` (`cashier_shift_id`)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `cashier_shift_payments`
--

INSERT INTO `cashier_shift_payments` (`id`, `cashier_shift_id`, `payment_method`, `expected_amount`, `actual_amount`, `difference`, `created_at`, `updated_at`) VALUES
(1, 2, 1, '1234.42', '1234.42', '0.00', '2026-06-03 07:47:07', '2026-06-03 07:47:07'),
(2, 2, 2, '0.00', '0.00', '0.00', '2026-06-03 07:47:07', '2026-06-03 07:47:07'),
(3, 2, 3, '0.00', '0.00', '0.00', '2026-06-03 07:47:07', '2026-06-03 07:47:07'),
(4, 2, 4, '0.00', '0.00', '0.00', '2026-06-03 07:47:07', '2026-06-03 07:47:07'),
(5, 2, 5, '0.00', '0.00', '0.00', '2026-06-03 07:47:07', '2026-06-03 07:47:07'),
(6, 2, 6, '0.00', '0.00', '0.00', '2026-06-03 07:47:07', '2026-06-03 07:47:07'),
(7, 3, 1, '194.94', '194.94', '0.00', '2026-06-03 07:48:17', '2026-06-03 07:48:17'),
(8, 3, 2, '0.00', '0.00', '0.00', '2026-06-03 07:48:17', '2026-06-03 07:48:17'),
(9, 3, 3, '0.00', '0.00', '0.00', '2026-06-03 07:48:17', '2026-06-03 07:48:17'),
(10, 3, 4, '0.00', '0.00', '0.00', '2026-06-03 07:48:17', '2026-06-03 07:48:17'),
(11, 3, 5, '0.00', '0.00', '0.00', '2026-06-03 07:48:17', '2026-06-03 07:48:17'),
(12, 3, 6, '0.00', '0.00', '0.00', '2026-06-03 07:48:17', '2026-06-03 07:48:17'),
(13, 4, 1, '295.99', '295.99', '0.00', '2026-06-06 03:04:06', '2026-06-06 03:04:06'),
(14, 4, 2, '0.00', '0.00', '0.00', '2026-06-06 03:04:06', '2026-06-06 03:04:06'),
(15, 4, 3, '0.00', '0.00', '0.00', '2026-06-06 03:04:06', '2026-06-06 03:04:06'),
(16, 4, 4, '0.00', '0.00', '0.00', '2026-06-06 03:04:06', '2026-06-06 03:04:06'),
(17, 4, 5, '0.00', '0.00', '0.00', '2026-06-06 03:04:06', '2026-06-06 03:04:06'),
(18, 4, 6, '0.00', '0.00', '0.00', '2026-06-06 03:04:06', '2026-06-06 03:04:06'),
(19, 5, 1, '1207.09', '1207.09', '0.00', '2026-06-12 13:54:55', '2026-06-12 13:54:55'),
(20, 5, 2, '0.00', '0.00', '0.00', '2026-06-12 13:54:55', '2026-06-12 13:54:55'),
(21, 5, 3, '0.00', '0.00', '0.00', '2026-06-12 13:54:55', '2026-06-12 13:54:55'),
(22, 5, 4, '0.00', '0.00', '0.00', '2026-06-12 13:54:55', '2026-06-12 13:54:55'),
(23, 5, 5, '0.00', '0.00', '0.00', '2026-06-12 13:54:55', '2026-06-12 13:54:55'),
(24, 5, 6, '0.00', '0.00', '0.00', '2026-06-12 13:54:55', '2026-06-12 13:54:55'),
(25, 6, 1, '2069.29', '2069.29', '0.00', '2026-06-18 12:53:25', '2026-06-18 12:53:25'),
(26, 6, 2, '0.00', '0.00', '0.00', '2026-06-18 12:53:25', '2026-06-18 12:53:25'),
(27, 6, 3, '0.00', '0.00', '0.00', '2026-06-18 12:53:25', '2026-06-18 12:53:25'),
(28, 6, 4, '0.00', '0.00', '0.00', '2026-06-18 12:53:25', '2026-06-18 12:53:25'),
(29, 6, 5, '0.00', '0.00', '0.00', '2026-06-18 12:53:25', '2026-06-18 12:53:25'),
(30, 6, 6, '0.00', '0.00', '0.00', '2026-06-18 12:53:25', '2026-06-18 12:53:25'),
(31, 7, 1, '271.00', '271.00', '0.00', '2026-06-18 13:07:35', '2026-06-18 13:07:35'),
(32, 7, 2, '0.00', '0.00', '0.00', '2026-06-18 13:07:35', '2026-06-18 13:07:35'),
(33, 7, 3, '0.00', '0.00', '0.00', '2026-06-18 13:07:35', '2026-06-18 13:07:35'),
(34, 7, 4, '0.00', '0.00', '0.00', '2026-06-18 13:07:35', '2026-06-18 13:07:35'),
(35, 7, 5, '0.00', '0.00', '0.00', '2026-06-18 13:07:35', '2026-06-18 13:07:35'),
(36, 7, 6, '0.00', '0.00', '0.00', '2026-06-18 13:07:35', '2026-06-18 13:07:35'),
(37, 8, 1, '285.00', '285.00', '0.00', '2026-06-18 14:02:15', '2026-06-18 14:02:15'),
(38, 8, 2, '0.00', '0.00', '0.00', '2026-06-18 14:02:15', '2026-06-18 14:02:15'),
(39, 8, 3, '0.00', '0.00', '0.00', '2026-06-18 14:02:15', '2026-06-18 14:02:15'),
(40, 8, 4, '0.00', '0.00', '0.00', '2026-06-18 14:02:16', '2026-06-18 14:02:16'),
(41, 8, 5, '0.00', '0.00', '0.00', '2026-06-18 14:02:16', '2026-06-18 14:02:16'),
(42, 8, 6, '0.00', '0.00', '0.00', '2026-06-18 14:02:16', '2026-06-18 14:02:16'),
(43, 9, 1, '190.06', '190.06', '0.00', '2026-06-18 16:16:09', '2026-06-18 16:16:09'),
(44, 9, 2, '0.00', '0.00', '0.00', '2026-06-18 16:16:09', '2026-06-18 16:16:09'),
(45, 9, 3, '0.00', '0.00', '0.00', '2026-06-18 16:16:09', '2026-06-18 16:16:09'),
(46, 9, 4, '0.00', '0.00', '0.00', '2026-06-18 16:16:09', '2026-06-18 16:16:09'),
(47, 9, 5, '0.00', '0.00', '0.00', '2026-06-18 16:16:09', '2026-06-18 16:16:09'),
(48, 9, 6, '0.00', '0.00', '0.00', '2026-06-18 16:16:09', '2026-06-18 16:16:09');

-- --------------------------------------------------------

--
-- Table structure for table `categories`
--

DROP TABLE IF EXISTS `categories`;
CREATE TABLE IF NOT EXISTS `categories` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `status` tinyint NOT NULL DEFAULT '1',
  `order` int DEFAULT NULL,
  `priority` tinyint NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `contacts`
--

DROP TABLE IF EXISTS `contacts`;
CREATE TABLE IF NOT EXISTS `contacts` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'other',
  `full_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `address` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `mobile` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `email` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `job` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `id_card` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `nationality` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `religion` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `marital_status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `date_of_birth` date DEFAULT NULL,
  `is_guest_blocked` tinyint(1) NOT NULL DEFAULT '0',
  `guest_blocked_reason` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `guest_blocked_at` timestamp NULL DEFAULT NULL,
  `guest_blocked_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `contacts_type_index` (`type`),
  KEY `contacts_mobile_index` (`mobile`),
  KEY `contacts_guest_blocked_by_foreign` (`guest_blocked_by`),
  KEY `contacts_is_guest_blocked_index` (`is_guest_blocked`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `contacts`
--

INSERT INTO `contacts` (`id`, `type`, `full_name`, `address`, `mobile`, `email`, `job`, `id_card`, `nationality`, `religion`, `marital_status`, `date_of_birth`, `is_guest_blocked`, `guest_blocked_reason`, `guest_blocked_at`, `guest_blocked_by`, `created_at`, `updated_at`) VALUES
(5, 'other', 'Taha Eid', '', '1200250791', '', NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '2026-06-06 01:44:49', '2026-06-06 01:44:49'),
(3, 'other', 'Sami', '', '1098246137', '', NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '2026-06-03 07:37:12', '2026-06-12 13:44:22'),
(6, 'other', 'Mostafa Elsaadany', NULL, '1117076651', 'melsaadany@acapitalholding.com', NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '2026-06-06 01:58:22', '2026-06-06 01:58:22'),
(7, 'other', 'Ziad Tarek', NULL, '1000205146', '', NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '2026-06-14 18:10:57', '2026-06-14 18:10:57');

-- --------------------------------------------------------

--
-- Table structure for table `contact_links`
--

DROP TABLE IF EXISTS `contact_links`;
CREATE TABLE IF NOT EXISTS `contact_links` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `contact_id` bigint UNSIGNED NOT NULL,
  `membership_id` bigint UNSIGNED DEFAULT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `relation` enum('primary','spouse','son','daughter','father','mother','other') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `vip` enum('1','2','3','4') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `contact_links_contact_id_foreign` (`contact_id`),
  KEY `contact_links_membership_id_foreign` (`membership_id`),
  KEY `contact_links_user_id_foreign` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `contact_ticket`
--

DROP TABLE IF EXISTS `contact_ticket`;
CREATE TABLE IF NOT EXISTS `contact_ticket` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `contact_id` bigint UNSIGNED NOT NULL,
  `ticket_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `contact_ticket_ticket_id_unique` (`ticket_id`),
  KEY `contact_ticket_contact_id_index` (`contact_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `contact_ticket`
--

INSERT INTO `contact_ticket` (`id`, `contact_id`, `ticket_id`, `created_at`, `updated_at`) VALUES
(1, 1, 2, '2026-05-24 18:35:01', '2026-05-24 18:35:01'),
(2, 2, 3, '2026-05-26 15:12:00', '2026-05-26 15:12:00'),
(3, 1, 9, '2026-05-29 11:16:14', '2026-05-29 11:16:14'),
(4, 3, 10, '2026-06-03 07:38:01', '2026-06-03 07:38:01'),
(5, 1, 11, '2026-06-05 18:39:36', '2026-06-05 18:39:36'),
(6, 1, 12, '2026-06-06 01:39:10', '2026-06-06 01:39:10'),
(7, 5, 13, '2026-06-06 01:45:44', '2026-06-06 01:45:44');

-- --------------------------------------------------------

--
-- Table structure for table `daily_closings`
--

DROP TABLE IF EXISTS `daily_closings`;
CREATE TABLE IF NOT EXISTS `daily_closings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `branch_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `closing_date` date NOT NULL COMMENT 'Closing date',
  `total_revenue` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total revenue',
  `total_cash` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total cash',
  `total_card` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total card',
  `total_online` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total online',
  `total_wallet` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total wallet',
  `total_transfer` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total transfer',
  `total_orders` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of orders',
  `total_cancelled` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of cancelled',
  `total_refunded` int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of refunded',
  `total_refund_amount` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT 'Total refund amount',
  `is_closed` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Is closed?',
  `day_status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'open',
  `closed_by` bigint UNSIGNED DEFAULT NULL,
  `closed_at` datetime DEFAULT NULL COMMENT 'Closing time',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `is_night_run_closed` tinyint(1) NOT NULL DEFAULT '0',
  `all_shifts_reconciled` tinyint(1) NOT NULL DEFAULT '0',
  `night_run_by` bigint UNSIGNED DEFAULT NULL,
  `night_run_at` timestamp NULL DEFAULT NULL,
  `cash_confirmed_at` timestamp NULL DEFAULT NULL,
  `cash_confirmed_by` bigint UNSIGNED DEFAULT NULL,
  `night_run_started_at` timestamp NULL DEFAULT NULL,
  `night_run_started_by` bigint UNSIGNED DEFAULT NULL,
  `house_fund_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `expected_cash` decimal(10,2) DEFAULT NULL,
  `confirmed_cash` decimal(10,2) DEFAULT NULL,
  `bank_card_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `bank_online_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `bank_wallet_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `bank_transfer_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_branch_date` (`branch_id`,`closing_date`),
  UNIQUE KEY `unique_zone_date` (`zone_id`,`closing_date`),
  KEY `daily_closings_closed_by_foreign` (`closed_by`),
  KEY `daily_closings_closing_date_index` (`closing_date`),
  KEY `daily_closings_zone_id_index` (`zone_id`),
  KEY `daily_closings_branch_id_index` (`branch_id`),
  KEY `daily_closings_night_run_by_foreign` (`night_run_by`),
  KEY `daily_closings_night_run_started_by_foreign` (`night_run_started_by`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `daily_closings`
--

INSERT INTO `daily_closings` (`id`, `branch_id`, `zone_id`, `closing_date`, `total_revenue`, `total_cash`, `total_card`, `total_online`, `total_wallet`, `total_transfer`, `total_orders`, `total_cancelled`, `total_refunded`, `total_refund_amount`, `is_closed`, `day_status`, `closed_by`, `closed_at`, `created_at`, `updated_at`, `is_night_run_closed`, `all_shifts_reconciled`, `night_run_by`, `night_run_at`, `cash_confirmed_at`, `cash_confirmed_by`, `night_run_started_at`, `night_run_started_by`, `house_fund_amount`, `expected_cash`, `confirmed_cash`, `bank_card_amount`, `bank_online_amount`, `bank_wallet_amount`, `bank_transfer_amount`) VALUES
(1, NULL, 1, '2026-05-23', '2804.32', '2804.32', '0.00', '0.00', '0.00', '0.00', 17, 0, 5, '368.99', 1, 'night_rolled', 2, '2026-06-03 10:46:13', '2026-06-03 07:46:13', '2026-06-03 07:46:29', 1, 0, 2, '2026-06-03 07:46:29', NULL, NULL, '2026-06-03 07:46:29', 2, '2804.32', '2804.32', NULL, '0.00', '0.00', '0.00', '0.00'),
(2, NULL, 1, '2026-05-24', '490.93', '490.93', '0.00', '0.00', '0.00', '0.00', 2, 0, 2, '50.00', 1, 'night_rolled', 2, '2026-06-06 03:02:42', '2026-06-03 07:46:29', '2026-06-06 03:05:01', 1, 1, 2, '2026-06-06 03:05:01', NULL, NULL, '2026-06-06 03:05:01', 2, '490.93', '490.93', NULL, '0.00', '0.00', '0.00', '0.00'),
(3, NULL, 1, '2026-05-25', '1207.09', '1207.09', '0.00', '0.00', '0.00', '0.00', 4, 0, 1, '324.90', 1, 'night_rolled', 2, '2026-06-12 16:53:30', '2026-06-06 03:05:01', '2026-06-12 13:54:55', 1, 1, 2, '2026-06-12 13:53:45', NULL, NULL, '2026-06-12 13:53:44', 2, '1207.09', '1207.09', NULL, '0.00', '0.00', '0.00', '0.00'),
(4, NULL, 1, '2026-05-26', '2069.29', '2069.29', '0.00', '0.00', '0.00', '0.00', 12, 0, 1, '57.00', 1, 'night_rolled', 2, '2026-06-18 11:58:03', '2026-06-12 13:53:45', '2026-06-18 12:53:25', 1, 1, 2, '2026-06-18 09:01:07', NULL, NULL, '2026-06-18 09:01:07', 2, '2069.29', '2069.29', NULL, '0.00', '0.00', '0.00', '0.00'),
(5, NULL, 1, '2026-05-27', '271.00', '271.00', '0.00', '0.00', '0.00', '0.00', 1, 0, 0, '0.00', 1, 'night_rolled', 2, '2026-06-18 15:54:12', '2026-06-18 09:01:07', '2026-06-18 13:07:35', 1, 1, 2, '2026-06-18 12:54:23', NULL, NULL, '2026-06-18 12:54:23', 2, '271.00', '271.00', NULL, '0.00', '0.00', '0.00', '0.00'),
(6, NULL, 1, '2026-05-28', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', 0, 0, 0, '0.00', 1, 'night_rolled', 2, '2026-06-18 16:07:09', '2026-06-18 12:54:23', '2026-06-18 13:07:13', 1, 1, 2, '2026-06-18 13:07:13', NULL, NULL, '2026-06-18 13:07:12', 2, '0.00', '0.00', NULL, '0.00', '0.00', '0.00', '0.00'),
(7, NULL, 1, '2026-05-29', '285.00', '285.00', '0.00', '0.00', '0.00', '0.00', 1, 0, 0, '0.00', 1, 'night_rolled', 2, '2026-06-18 16:51:04', '2026-06-18 13:07:13', '2026-06-18 14:02:16', 1, 1, 2, '2026-06-18 13:51:38', NULL, NULL, '2026-06-18 13:51:38', 2, '285.00', '285.00', NULL, '0.00', '0.00', '0.00', '0.00'),
(8, NULL, 1, '2026-05-30', '190.06', '190.06', '0.00', '0.00', '0.00', '0.00', 1, 0, 1, '194.94', 1, 'night_rolled', 2, '2026-06-18 17:03:53', '2026-06-18 13:51:38', '2026-06-18 16:16:09', 1, 1, 2, '2026-06-18 14:04:07', NULL, NULL, '2026-06-18 14:04:07', 2, '190.06', '190.06', NULL, '0.00', '0.00', '0.00', '0.00'),
(9, NULL, 1, '2026-05-31', '0.00', '0.00', '0.00', '0.00', '0.00', '0.00', 0, 0, 0, '0.00', 0, 'open', NULL, NULL, '2026-06-18 14:04:07', '2026-06-18 14:04:07', 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, '0.00', NULL, NULL, '0.00', '0.00', '0.00', '0.00');

-- --------------------------------------------------------

--
-- Table structure for table `departments`
--

DROP TABLE IF EXISTS `departments`;
CREATE TABLE IF NOT EXISTS `departments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `code` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `icon` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `color` varchar(7) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `departments_code_unique` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `departments`
--

INSERT INTO `departments` (`id`, `name`, `name_ar`, `code`, `icon`, `color`, `sort_order`, `active`, `created_at`, `updated_at`) VALUES
(1, 'Maintenance', 'الصيانة', 'MNT', NULL, NULL, 0, 1, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 'Housekeeping', 'التنظيف', 'HKP', NULL, NULL, 0, 1, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 'Security', 'الأمن', 'SEC', NULL, NULL, 0, 1, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(4, 'Front Desk', 'الاستقبال', 'FDK', NULL, NULL, 0, 1, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(5, 'Engineering', 'الهندسة', 'ENG', NULL, NULL, 0, 1, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(6, 'Food & Beverage', 'طعام ومشروبات', 'FNB', 'fas fa-utensils', NULL, 6, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(7, 'Guest Services', 'خدمات الضيوف', 'GST', 'fas fa-user-tie', NULL, 7, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06');

-- --------------------------------------------------------

--
-- Table structure for table `department_site`
--

DROP TABLE IF EXISTS `department_site`;
CREATE TABLE IF NOT EXISTS `department_site` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `department_id` bigint UNSIGNED NOT NULL,
  `site_id` bigint UNSIGNED NOT NULL,
  `short_label` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `settings` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `department_site_department_id_site_id_unique` (`department_id`,`site_id`),
  KEY `department_site_site_id_active_index` (`site_id`,`active`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `department_user`
--

DROP TABLE IF EXISTS `department_user`;
CREATE TABLE IF NOT EXISTS `department_user` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED NOT NULL,
  `department_id` bigint UNSIGNED NOT NULL,
  `is_default` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `department_user_user_id_foreign` (`user_id`),
  KEY `department_user_department_id_foreign` (`department_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `department_zone`
--

DROP TABLE IF EXISTS `department_zone`;
CREATE TABLE IF NOT EXISTS `department_zone` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `department_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `department_zone_department_id_zone_id_unique` (`department_id`,`zone_id`),
  KEY `department_zone_zone_id_foreign` (`zone_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `failed_jobs`
--

DROP TABLE IF EXISTS `failed_jobs`;
CREATE TABLE IF NOT EXISTS `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `uuid` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `connection` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `queue` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `payload` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `exception` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `featured_items`
--

DROP TABLE IF EXISTS `featured_items`;
CREATE TABLE IF NOT EXISTS `featured_items` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `menu_item_id` bigint UNSIGNED DEFAULT NULL,
  `title` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `title_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `subtitle` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `subtitle_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cta_text` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'View Details',
  `cta_target` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `badge_text` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `badge_color` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `meta_time_minutes` int DEFAULT NULL,
  `meta_rating` decimal(2,1) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT NULL,
  `price_note` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `background_type` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'gradient',
  `gradient_from` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '#1e3a5f',
  `gradient_to` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '#2d5a87',
  `background_color` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `image_path` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `display_type` tinyint NOT NULL DEFAULT '0',
  `sort_order` int NOT NULL DEFAULT '0',
  `active_from` timestamp NULL DEFAULT NULL,
  `active_until` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `featured_items_menu_item_id_foreign` (`menu_item_id`),
  KEY `featured_items_is_active_sort_order_index` (`is_active`,`sort_order`)
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `featured_items`
--

INSERT INTO `featured_items` (`id`, `menu_item_id`, `title`, `title_ar`, `subtitle`, `subtitle_ar`, `cta_text`, `cta_target`, `badge_text`, `badge_color`, `meta_time_minutes`, `meta_rating`, `price`, `price_note`, `background_type`, `gradient_from`, `gradient_to`, `background_color`, `image_path`, `is_active`, `display_type`, `sort_order`, `active_from`, `active_until`, `created_at`, `updated_at`) VALUES
(115, 99, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(116, 100, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(117, 123, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(134, 241, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:48', '2026-06-11 16:35:48'),
(132, 228, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:48', '2026-06-11 16:35:48'),
(133, 251, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:48', '2026-06-11 16:35:48'),
(130, 209, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:48', '2026-06-11 16:35:48'),
(131, 227, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:48', '2026-06-11 16:35:48'),
(128, 196, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(129, 219, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:48', '2026-06-11 16:35:48'),
(125, 187, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(126, 177, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(127, 195, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(123, 163, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(124, 164, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(121, 155, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(122, 145, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(119, 131, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(120, 132, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(118, 113, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(112, 68, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(113, 91, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(33, NULL, 'Porto Sokhna', 'بورتو السخنة', 'Where Mountains Meet the Red Sea', 'حيث تلتقي الجبال بالبحر الأحمر', 'View', '#contact', 'Featured', '#C9A84C', NULL, NULL, NULL, NULL, 'image', '#0c4a6e', '#0369a1', NULL, 'featured-items/y5K9pITu9WMxcjjIP5dL9aU519O6YhoIKUQzxLMA.jpg', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:04', '2026-06-05 19:15:59'),
(34, NULL, 'Porto Marina', 'بورتو مارينا', 'Egypt\'s Premier Marina Destination', 'وجهة المارينا الأولى في مصر', 'View', '#contact', 'Featured', '#C9A84C', NULL, NULL, NULL, NULL, 'image', '#1e3a5f', '#1a56db', NULL, 'featured-items/XgVPjHVWjroKzDqgpvmsqzJuXy7o7mo7T2kdcPPi.webp', 1, 1, 2, NULL, NULL, '2026-05-23 00:27:04', '2026-06-05 19:16:08'),
(35, NULL, 'Porto South Beach', 'بورتو ساوث بيتش', 'Resort Living on the Red Sea', 'حياة منتجعية على البحر الأحمر', 'View', '#contact', 'Featured', '#C9A84C', NULL, NULL, NULL, NULL, 'image', '#065f46', '#0891b2', NULL, 'featured-items/XTOedfYkYBPXz0jldQecy9rfDuhRPn9M5cVS0B8L.png', 1, 1, 3, NULL, NULL, '2026-05-23 00:27:04', '2026-06-12 16:05:14'),
(37, NULL, 'Summer 2025 Packages', 'باقات صيف 2025', 'Exclusive Coastal Offers - Limited Time', 'عروض ساحلية حصرية لفترة محدودة', 'View', '#contact', 'Featured', '#C9A84C', NULL, NULL, NULL, NULL, 'image', '#92400e', '#d97706', NULL, 'featured-items/Q5tLD6OxjnRJRtoZPN0yjpRGLSAwNDWF5FJbjnxJ.jpg', 1, 1, 5, NULL, NULL, '2026-05-23 00:27:04', '2026-06-05 19:18:08'),
(38, NULL, 'VIP Membership', 'عضوية VIP', 'Exclusive Access. Unmatched Privileges.', 'وصول حصري وامتيازات لا مثيل لها', 'View', '#contact', 'Featured', '#C9A84C', NULL, NULL, NULL, NULL, 'image', '#1f2937', '#374151', NULL, 'https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=85', 1, 1, 6, NULL, NULL, '2026-05-23 00:27:04', '2026-06-03 22:39:18'),
(114, 81, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(111, 67, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(110, 49, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(109, 59, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(108, 36, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(107, 35, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(105, 27, 'Fresh Kunafa', 'كنافة طازجة', 'Sweet & Crispy', 'حلوة ومقرمشة', 'Order', '/menu', 'Must Try', '#8b5cf6', 15, '4.9', '45.00', NULL, 'gradient', '#4c1d95', '#7c3aed', NULL, NULL, 1, 0, 3, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(106, 17, 'Karkade Special', 'كركديه مميز', 'Refreshing & Cold', 'منعش وبارد', 'Refresh', '/menu', 'Refreshing', '#ec4899', 3, '4.6', '18.00', NULL, 'gradient', '#831843', '#be185d', NULL, NULL, 1, 0, 4, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(104, 4, 'Grilled Kofta', 'كفتة مشوية', 'Authentic Egyptian Flavor', 'طعم مصري أصيل', 'Try Now', '/menu', 'Chef\'s Pick', '#dc2626', 18, '4.7', '75.00', NULL, 'gradient', '#7c2d12', '#b45309', NULL, NULL, 1, 0, 2, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47'),
(103, 3, 'Shawarma Special', 'عرض الشاورما', 'Tender & Juicy', 'طري ومميز', 'Order Now', '/menu', 'Best Seller', '#f59e0b', 10, '4.8', '55.00', NULL, 'gradient', '#166534', '#15803d', NULL, NULL, 1, 0, 1, NULL, NULL, '2026-06-11 16:35:47', '2026-06-11 16:35:47');

-- --------------------------------------------------------

--
-- Table structure for table `featured_item_zone`
--

DROP TABLE IF EXISTS `featured_item_zone`;
CREATE TABLE IF NOT EXISTS `featured_item_zone` (
  `featured_item_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED NOT NULL,
  PRIMARY KEY (`featured_item_id`,`zone_id`),
  KEY `featured_item_zone_zone_id_foreign` (`zone_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `featured_item_zone`
--

INSERT INTO `featured_item_zone` (`featured_item_id`, `zone_id`) VALUES
(33, 1),
(34, 1),
(35, 1),
(37, 1),
(103, 1),
(104, 1),
(105, 1),
(106, 1),
(107, 2),
(108, 2),
(109, 2),
(110, 2),
(111, 3),
(112, 3),
(113, 3),
(114, 3),
(115, 4),
(116, 4),
(117, 4),
(118, 4),
(119, 5),
(120, 5),
(121, 5),
(122, 5),
(123, 6),
(124, 6),
(125, 6),
(126, 6),
(127, 7),
(128, 7),
(129, 7),
(130, 7),
(131, 8),
(132, 8),
(133, 8),
(134, 8);

-- --------------------------------------------------------

--
-- Table structure for table `float_issuances`
--

DROP TABLE IF EXISTS `float_issuances`;
CREATE TABLE IF NOT EXISTS `float_issuances` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `remaining_amount` decimal(12,2) NOT NULL,
  `issued_date` date NOT NULL,
  `house_fund_transaction_id` bigint UNSIGNED DEFAULT NULL,
  `parent_float_id` bigint UNSIGNED DEFAULT NULL,
  `cashier_shift_id` bigint UNSIGNED DEFAULT NULL,
  `status` enum('pending','active','used','returned') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending',
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `issued_by` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `float_issuances_house_fund_transaction_id_foreign` (`house_fund_transaction_id`),
  KEY `float_issuances_cashier_shift_id_foreign` (`cashier_shift_id`),
  KEY `float_issuances_issued_by_foreign` (`issued_by`),
  KEY `float_issuances_zone_id_status_index` (`zone_id`,`status`),
  KEY `float_issuances_user_id_status_index` (`user_id`,`status`),
  KEY `float_issuances_parent_float_id_foreign` (`parent_float_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `float_issuances`
--

INSERT INTO `float_issuances` (`id`, `zone_id`, `user_id`, `amount`, `remaining_amount`, `issued_date`, `house_fund_transaction_id`, `parent_float_id`, `cashier_shift_id`, `status`, `notes`, `issued_by`, `created_at`, `updated_at`) VALUES
(1, 1, 2, '100.00', '0.00', '2026-05-24', 2, NULL, 4, 'used', NULL, 2, '2026-06-03 07:47:58', '2026-06-06 03:04:06'),
(2, 1, 2, '50.00', '50.00', '2026-05-24', NULL, 1, 5, 'returned', 'Transferred from shift #4', 2, '2026-06-06 03:04:06', '2026-06-12 13:54:55'),
(3, 1, 2, '500.00', '57.00', '2026-05-26', 5, NULL, 6, 'returned', NULL, 2, '2026-06-12 13:54:19', '2026-06-18 12:53:25'),
(4, 1, 2, '271.00', '0.00', '2026-05-28', 9, NULL, 8, 'returned', NULL, 2, '2026-06-18 13:06:58', '2026-06-18 14:02:16');

-- --------------------------------------------------------

--
-- Table structure for table `gates`
--

DROP TABLE IF EXISTS `gates`;
CREATE TABLE IF NOT EXISTS `gates` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `zone_id` bigint UNSIGNED NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `type` enum('in','out') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_gates_zone_id` (`zone_id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `gates`
--

INSERT INTO `gates` (`id`, `name`, `name_ar`, `zone_id`, `is_active`, `type`, `created_at`, `updated_at`) VALUES
(1, 'PSK-PYR Main Gate', 'البوابة الرئيسية بورتو السخنة - ', 1, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 'PSK-PYR Service Gate', 'بوابة الخدمة بورتو السخنة - ', 1, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 'PSK-HOTEL Main Gate', 'البوابة الرئيسية بورتو السخنة - ', 2, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(4, 'PSK-HOTEL Service Gate', 'بوابة الخدمة بورتو السخنة - ', 2, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(5, 'PSK-GOLF Main Gate', 'البوابة الرئيسية بورتو السخنة - ', 3, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(6, 'PSK-GOLF Service Gate', 'بوابة الخدمة بورتو السخنة - ', 3, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(7, 'PSB-GENWA Main Gate', 'البوابة الرئيسية بورتو ساوث بيتش - ', 4, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(8, 'PSB-GENWA Service Gate', 'بوابة الخدمة بورتو ساوث بيتش - ', 4, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(9, 'PSB-PVC Main Gate', 'البوابة الرئيسية بورتو ساوث بيتش - ', 5, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(10, 'PSB-PVC Service Gate', 'بوابة الخدمة بورتو ساوث بيتش - ', 5, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(11, 'PMR-TOWERS Main Gate', 'البوابة الرئيسية بورتو مارينا - ', 6, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(12, 'PMR-TOWERS Service Gate', 'بوابة الخدمة بورتو مارينا - ', 6, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(13, 'PMR-HOTEL Main Gate', 'البوابة الرئيسية بورتو مارينا - ', 7, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(14, 'PMR-HOTEL Service Gate', 'بوابة الخدمة بورتو مارينا - ', 7, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(15, 'PMR-GOLF Main Gate', 'البوابة الرئيسية بورتو مارينا - ', 8, 1, 'in', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(16, 'PMR-GOLF Service Gate', 'بوابة الخدمة بورتو مارينا - ', 8, 1, 'out', '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `guest_survey_instances`
--

DROP TABLE IF EXISTS `guest_survey_instances`;
CREATE TABLE IF NOT EXISTS `guest_survey_instances` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `token` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `contact_id` bigint UNSIGNED DEFAULT NULL,
  `unit_id` bigint UNSIGNED DEFAULT NULL,
  `survey_template_id` bigint UNSIGNED NOT NULL,
  `trigger_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `source_kind` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending',
  `source_type` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
  `source_id` bigint UNSIGNED NOT NULL,
  `source_code` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `source_context` json DEFAULT NULL,
  `opened_at` timestamp NULL DEFAULT NULL,
  `completed_at` timestamp NULL DEFAULT NULL,
  `skipped_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `guest_survey_source_unique` (`source_type`,`source_id`),
  UNIQUE KEY `guest_survey_instances_token_unique` (`token`),
  KEY `guest_survey_instances_survey_template_id_foreign` (`survey_template_id`),
  KEY `guest_survey_contact_status_idx` (`contact_id`,`status`,`created_at`),
  KEY `guest_survey_zone_status_idx` (`zone_id`,`status`,`created_at`),
  KEY `guest_survey_instances_trigger_type_index` (`trigger_type`),
  KEY `guest_survey_instances_source_kind_index` (`source_kind`),
  KEY `guest_survey_instances_status_index` (`status`),
  KEY `guest_survey_instances_source_code_index` (`source_code`),
  KEY `guest_survey_instances_expires_at_index` (`expires_at`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `guest_survey_instances`
--

INSERT INTO `guest_survey_instances` (`id`, `token`, `zone_id`, `contact_id`, `unit_id`, `survey_template_id`, `trigger_type`, `source_kind`, `status`, `source_type`, `source_id`, `source_code`, `source_context`, `opened_at`, `completed_at`, `skipped_at`, `expires_at`, `created_at`, `updated_at`) VALUES
(1, '9bec982b-dc29-490c-9879-ec3e90425b3f', 1, 5, 2, 1, 'post_service', 'ticket', 'completed', 'App\\Models\\Tickets\\Ticket', 13, 'TKT-20260606-ID8J', '{\"code\": \"TKT-20260606-ID8J\", \"room\": \"102\", \"label\": \"Ticket\", \"summary\": \"Door/Window Repair\"}', '2026-06-19 12:34:48', '2026-06-19 12:35:12', NULL, NULL, '2026-06-19 12:34:48', '2026-06-19 12:35:12'),
(2, '05f56f52-f66e-44e3-87d4-540dd5178e02', 1, 3, 1, 1, 'post_service', 'service_request', 'pending', 'App\\Models\\ServiceRequest', 13, 'SR-20260523-0013', '{\"code\": \"SR-20260523-0013\", \"room\": \"101\", \"label\": \"Service request\", \"summary\": \"Deep Cleaning\"}', NULL, NULL, NULL, '2026-06-26 15:48:40', '2026-06-19 15:48:40', '2026-06-19 15:48:40'),
(3, '126b8b80-fffc-48b2-88fa-7d594e240260', 1, 2, 2, 1, 'post_service', 'service_request', 'opened', 'App\\Models\\ServiceRequest', 16, 'SR-20260526-0001', '{\"code\": \"SR-20260526-0001\", \"room\": \"102\", \"label\": \"Service request\", \"summary\": \"Plumbing Fix\"}', '2026-06-19 17:58:54', NULL, NULL, '2026-06-26 15:48:40', '2026-06-19 15:48:40', '2026-06-19 17:58:54'),
(4, 'dfe1a1c9-05ef-44d6-a996-acfbe246326a', 1, 2, 2, 1, 'post_service', 'service_request', 'completed', 'App\\Models\\ServiceRequest', 17, 'SR-20260527-0001', '{\"code\": \"SR-20260527-0001\", \"room\": \"102\", \"label\": \"Service request\", \"summary\": \"Extra Cleaning\"}', '2026-06-19 16:45:01', '2026-06-19 16:45:10', NULL, '2026-06-26 15:48:41', '2026-06-19 15:48:41', '2026-06-19 16:45:10'),
(5, 'b8d4466c-f92f-42f9-a7ea-559ebdf286c4', 1, 2, 2, 1, 'post_service', 'service_request', 'skipped', 'App\\Models\\ServiceRequest', 18, 'SR-20260530-0001', '{\"code\": \"SR-20260530-0001\", \"room\": \"102\", \"label\": \"Service request\", \"summary\": \"Linen Change\"}', '2026-06-19 16:45:35', NULL, '2026-06-19 16:45:38', '2026-06-26 15:48:41', '2026-06-19 15:48:41', '2026-06-19 16:45:38');

-- --------------------------------------------------------

--
-- Table structure for table `guest_survey_responses`
--

DROP TABLE IF EXISTS `guest_survey_responses`;
CREATE TABLE IF NOT EXISTS `guest_survey_responses` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `guest_survey_instance_id` bigint UNSIGNED NOT NULL,
  `survey_question_id` bigint UNSIGNED NOT NULL,
  `response_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `rating` smallint UNSIGNED DEFAULT NULL,
  `reason` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `comment` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `guest_survey_response_unique` (`guest_survey_instance_id`,`survey_question_id`),
  KEY `guest_survey_response_rating_idx` (`survey_question_id`,`rating`),
  KEY `guest_survey_responses_reason_index` (`reason`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `guest_survey_responses`
--

INSERT INTO `guest_survey_responses` (`id`, `guest_survey_instance_id`, `survey_question_id`, `response_type`, `rating`, `reason`, `comment`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'star5', 5, 'fast', 'Good', '2026-06-19 12:35:12', '2026-06-19 12:35:12'),
(2, 4, 1, 'star5', 5, NULL, NULL, '2026-06-19 16:45:10', '2026-06-19 16:45:10');

-- --------------------------------------------------------

--
-- Table structure for table `house_fund_transactions`
--

DROP TABLE IF EXISTS `house_fund_transactions`;
CREATE TABLE IF NOT EXISTS `house_fund_transactions` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `type` enum('night_run_in','bank_transfer_out','adjustment','float_issuance_out','float_return_in') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `confirmation_status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'confirmed',
  `amount` decimal(12,2) NOT NULL,
  `balance_after` decimal(12,2) NOT NULL DEFAULT '0.00',
  `transaction_date` date NOT NULL,
  `daily_closing_id` bigint UNSIGNED DEFAULT NULL,
  `bank_account_id` bigint UNSIGNED DEFAULT NULL,
  `reference` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_by` bigint UNSIGNED NOT NULL,
  `confirmed_by` bigint UNSIGNED DEFAULT NULL,
  `confirmed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `house_fund_transactions_daily_closing_id_foreign` (`daily_closing_id`),
  KEY `house_fund_transactions_bank_account_id_foreign` (`bank_account_id`),
  KEY `house_fund_transactions_created_by_foreign` (`created_by`),
  KEY `house_fund_transactions_zone_id_transaction_date_index` (`zone_id`,`transaction_date`),
  KEY `house_fund_transactions_type_index` (`type`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `house_fund_transactions`
--

INSERT INTO `house_fund_transactions` (`id`, `zone_id`, `type`, `confirmation_status`, `amount`, `balance_after`, `transaction_date`, `daily_closing_id`, `bank_account_id`, `reference`, `notes`, `created_by`, `confirmed_by`, `confirmed_at`, `created_at`, `updated_at`) VALUES
(1, 1, 'night_run_in', 'confirmed', '1234.42', '2804.32', '2026-05-23', 1, NULL, NULL, 'Night Run - Expected cash from shifts (pending confirmation)', 2, 2, '2026-06-03 07:47:07', '2026-06-03 07:46:29', '2026-06-03 07:47:07'),
(2, 1, 'float_issuance_out', 'confirmed', '100.00', '2704.32', '2026-05-24', NULL, NULL, 'Float Issuance', NULL, 2, NULL, NULL, '2026-06-03 07:47:58', '2026-06-03 07:47:58'),
(3, 1, 'night_run_in', 'pending', '490.93', '3195.25', '2026-05-24', 2, NULL, NULL, 'Night Run - Expected cash from shifts (pending confirmation)', 2, NULL, NULL, '2026-06-06 03:05:01', '2026-06-06 03:05:01'),
(4, 1, 'night_run_in', 'confirmed', '1207.09', '4402.34', '2026-05-25', 3, NULL, NULL, 'Night Run - Expected cash from shifts (pending confirmation)', 2, 2, '2026-06-12 13:54:55', '2026-06-12 13:53:45', '2026-06-12 13:54:55'),
(5, 1, 'float_issuance_out', 'confirmed', '500.00', '3902.34', '2026-05-26', NULL, NULL, 'Float Issuance', NULL, 2, NULL, NULL, '2026-06-12 13:54:19', '2026-06-12 13:54:19'),
(6, 1, 'night_run_in', 'confirmed', '2512.29', '5971.63', '2026-05-26', 4, NULL, NULL, 'Night Run - Expected cash from shifts (pending confirmation)', 2, 2, '2026-06-18 12:53:25', '2026-06-18 09:01:07', '2026-06-18 12:53:25'),
(7, 1, 'float_return_in', 'confirmed', '443.00', '6414.63', '2026-05-26', NULL, NULL, 'Float Return', 'Remaining float returned from shift #6 by cashier #2', 2, NULL, NULL, '2026-06-18 12:53:25', '2026-06-18 12:53:25'),
(8, 1, 'night_run_in', 'confirmed', '271.00', '6685.63', '2026-05-27', 5, NULL, NULL, 'Night Run - Expected cash from shifts (pending confirmation)', 2, 2, '2026-06-18 13:07:35', '2026-06-18 12:54:23', '2026-06-18 13:07:35'),
(9, 1, 'float_issuance_out', 'confirmed', '271.00', '6414.63', '2026-05-28', NULL, NULL, 'Float Issuance', NULL, 2, NULL, NULL, '2026-06-18 13:06:58', '2026-06-18 13:06:58'),
(10, 1, 'night_run_in', 'confirmed', '556.00', '6699.63', '2026-05-29', 7, NULL, NULL, 'Night Run - Expected cash from shifts (pending confirmation)', 2, 2, '2026-06-18 14:02:16', '2026-06-18 13:51:38', '2026-06-18 14:02:16'),
(11, 1, 'float_return_in', 'confirmed', '271.00', '6970.63', '2026-05-29', NULL, NULL, 'Float Return', 'Remaining float returned from shift #8 by cashier #2', 2, NULL, NULL, '2026-06-18 14:02:16', '2026-06-18 14:02:16'),
(12, 1, 'night_run_in', 'confirmed', '190.06', '7160.69', '2026-05-30', 8, NULL, NULL, 'Night Run - Expected cash from shifts (pending confirmation)', 2, 2, '2026-06-18 16:16:09', '2026-06-18 14:04:07', '2026-06-18 16:16:09');

-- --------------------------------------------------------

--
-- Table structure for table `invoices`
--

DROP TABLE IF EXISTS `invoices`;
CREATE TABLE IF NOT EXISTS `invoices` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `invoice_number` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `invoice_issued_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `invoice_type` tinyint NOT NULL COMMENT '0=service_request, 1=order',
  `invoiceable_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `business_date` date NOT NULL,
  `subtotal` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Piastres',
  `discount_total` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Piastres',
  `service_fee` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Piastres',
  `tax_total` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Piastres',
  `grand_total` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Piastres',
  `refunded_amount` bigint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Piastres',
  `currency` varchar(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'EGP',
  `printed_count` int UNSIGNED NOT NULL DEFAULT '0',
  `last_printed_at` timestamp NULL DEFAULT NULL,
  `last_printed_by` bigint UNSIGNED DEFAULT NULL,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `invoices_invoice_number_unique` (`invoice_number`),
  KEY `invoiceable_index` (`invoice_type`,`invoiceable_id`),
  KEY `invoices_outlet_id_foreign` (`outlet_id`),
  KEY `invoices_department_id_foreign` (`department_id`),
  KEY `invoices_last_printed_by_foreign` (`last_printed_by`),
  KEY `invoices_created_by_foreign` (`created_by`),
  KEY `invoices_invoice_issued_at_index` (`invoice_issued_at`),
  KEY `invoices_invoice_type_index` (`invoice_type`),
  KEY `invoices_invoiceable_id_index` (`invoiceable_id`),
  KEY `invoices_business_date_index` (`business_date`),
  KEY `idx_invoices_zone_id` (`zone_id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `invoices`
--

INSERT INTO `invoices` (`id`, `invoice_number`, `invoice_issued_at`, `invoice_type`, `invoiceable_id`, `zone_id`, `outlet_id`, `department_id`, `business_date`, `subtotal`, `discount_total`, `service_fee`, `tax_total`, `grand_total`, `refunded_amount`, `currency`, `printed_count`, `last_printed_at`, `last_printed_by`, `created_by`, `created_at`, `updated_at`) VALUES
(1, 'INV-PSK-PYR-20260523-000001', '2026-05-24 00:05:52', 0, 1, 1, NULL, 1, '2026-05-23', 25000, 0, 0, 0, 32490, 0, 'EGP', 30, '2026-05-24 03:05:52', 2, 1, '2026-05-23 11:08:14', '2026-05-24 03:05:52'),
(2, 'INV-PSK-PYR-20260523-000002', '2026-05-23 12:04:14', 1, 1, 1, NULL, 6, '2026-05-23', 4000, 0, 0, 0, 5768, 0, 'EGP', 43, '2026-05-23 16:51:10', 1, 1, '2026-05-23 12:04:14', '2026-05-23 16:51:10'),
(3, 'INV-PSK-PYR-20260523-000003', '2026-05-24 00:26:22', 0, 3, 1, NULL, 2, '2026-05-23', 10000, 0, 0, 0, 12996, 0, 'EGP', 2, '2026-05-24 03:26:22', 2, 2, '2026-05-24 03:12:34', '2026-05-24 03:26:22'),
(4, 'INV-PSK-PYR-20260523-000004', '2026-05-24 00:29:35', 1, 2, 1, NULL, 6, '2026-05-23', 4500, 0, 0, 0, 6418, 4500, 'EGP', 1, '2026-05-24 03:29:35', 2, 2, '2026-05-24 03:29:31', '2026-05-24 03:29:35'),
(5, 'INV-PSK-PYR-20260523-000005', '2026-05-24 03:49:34', 0, 4, 1, NULL, 2, '2026-05-23', 15000, 0, 0, 0, 19494, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 03:49:34', '2026-05-24 03:49:34'),
(6, 'INV-PSK-PYR-20260523-000006', '2026-05-24 03:50:04', 1, 4, 1, NULL, 6, '2026-05-24', 4000, 0, 0, 0, 5768, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 03:50:04', '2026-05-24 03:50:04'),
(7, 'INV-PSK-PYR-20260523-000007', '2026-05-24 05:00:30', 1, 5, 1, NULL, 6, '2026-05-24', 5500, 0, 0, 0, 7717, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 05:00:30', '2026-05-24 05:00:30'),
(8, 'INV-PSK-PYR-20260523-000008', '2026-05-24 05:01:11', 0, 5, 1, NULL, 2, '2026-05-23', 15000, 0, 0, 0, 19494, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 05:01:11', '2026-05-24 05:01:11'),
(9, 'INV-PSK-PYR-20260523-000009', '2026-05-24 05:09:28', 0, 6, 1, NULL, 1, '2026-05-23', 35000, 0, 0, 0, 45486, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 05:09:28', '2026-05-24 05:09:28'),
(10, 'INV-PSK-PYR-20260523-000010', '2026-05-24 05:12:08', 1, 6, 1, NULL, 6, '2026-05-24', 4000, 0, 0, 0, 5768, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 05:12:08', '2026-05-24 05:12:08'),
(11, 'INV-PSK-PYR-20260523-000011', '2026-05-24 05:12:24', 0, 7, 1, NULL, 2, '2026-05-23', 15000, 0, 0, 0, 19494, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 05:12:24', '2026-05-24 05:12:24'),
(12, 'INV-PSK-PYR-20260523-000012', '2026-05-24 05:14:04', 1, 7, 1, NULL, 6, '2026-05-24', 4500, 0, 0, 0, 6418, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 05:14:04', '2026-05-24 05:14:04'),
(13, 'INV-PSK-PYR-20260523-000013', '2026-05-24 05:14:24', 0, 8, 1, NULL, 2, '2026-05-23', 10000, 0, 0, 0, 12996, 0, 'EGP', 0, NULL, NULL, 1, '2026-05-24 05:14:24', '2026-05-24 05:14:24'),
(14, 'INV-PSK-PYR-20260523-000014', '2026-06-15 11:38:07', 1, 10, 1, NULL, 6, '2026-05-24', 24500, 0, 7910, 0, 32410, 32410, 'EGP', 9, '2026-05-24 23:13:39', 2, 2, '2026-05-24 21:48:22', '2026-06-15 11:38:07'),
(15, 'INV-PSK-PYR-20260523-000015', '2026-06-06 00:17:59', 0, 9, 1, NULL, 2, '2026-05-23', 15000, 0, 0, 0, 19494, 0, 'EGP', 1, '2026-06-06 03:17:59', 2, NULL, '2026-05-25 10:37:42', '2026-06-06 03:17:59'),
(16, 'INV-PSK-PYR-20260523-000016', '2026-05-26 18:44:00', 0, 10, 1, NULL, 2, '2026-05-23', 10000, 0, 0, 0, 12996, 0, 'EGP', 0, NULL, NULL, 2, '2026-05-26 18:44:00', '2026-05-26 18:44:00'),
(17, 'INV-PSK-PYR-20260523-000017', '2026-05-29 11:26:20', 0, 12, 1, NULL, 2, '2026-05-23', 15000, 0, 0, 0, 19494, 0, 'EGP', 0, NULL, NULL, NULL, '2026-05-29 11:26:20', '2026-05-29 11:26:20'),
(18, 'INV-PSK-PYR-20260523-000018', '2026-06-03 07:41:20', 0, 13, 1, NULL, 2, '2026-05-23', 40000, 0, 0, 0, 51984, 0, 'EGP', 1, '2026-06-03 07:41:20', 2, NULL, '2026-06-03 07:38:29', '2026-06-03 07:41:20'),
(19, 'INV-PSK-PYR-20260524-000001', '2026-06-04 22:00:46', 0, 14, 1, NULL, 2, '2026-05-24', 40000, 0, 0, 0, 51984, 0, 'EGP', 0, NULL, NULL, NULL, '2026-06-04 22:00:46', '2026-06-04 22:00:46'),
(20, 'INV-PSK-PYR-20260524-000002', '2026-06-05 23:34:31', 1, 22, 1, NULL, 6, '2026-06-06', 27500, 0, 0, 0, 31920, 2321, 'EGP', 1, '2026-06-06 02:34:31', 2, 2, '2026-06-06 02:34:24', '2026-06-06 02:34:31'),
(21, 'INV-PSK-PYR-20260524-000003', '2026-06-06 03:06:39', 0, 15, 1, NULL, 1, '2026-05-24', 25000, 0, 0, 0, 32490, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-06 03:06:39', '2026-06-06 03:06:39'),
(22, 'INV-PSK-PYR-20260525-000001', '2026-06-09 19:22:43', 1, 50, 1, NULL, 6, '2026-06-09', 5500, 0, 1340, 0, 6840, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-09 19:22:43', '2026-06-09 19:22:43'),
(23, 'INV-PSK-PYR-20260525-000002', '2026-06-11 10:34:59', 1, 48, 1, NULL, 6, '2026-06-09', 6000, 0, 0, 0, 7409, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-11 10:34:59', '2026-06-11 10:34:59'),
(24, 'INV-PSK-PYR-20260525-000003', '2026-06-12 11:54:01', 1, 53, 1, 1, 6, '2026-06-12', 88500, 0, 0, 0, 101460, 0, 'EGP', 1, '2026-06-12 11:54:01', 2, 2, '2026-06-12 11:51:01', '2026-06-12 11:54:01'),
(25, 'INV-PSK-PYR-20260525-000004', '2026-06-12 13:55:24', 1, 59, 1, 1, 6, '2026-05-25', 31500, 0, 4980, 0, 36480, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-12 13:55:24', '2026-06-12 13:55:24'),
(26, 'INV-PSK-PYR-20260526-000001', '2026-06-13 13:22:49', 1, 67, 1, 16, 6, '2026-05-26', 4000, 0, 0, 0, 4560, 0, 'EGP', 1, '2026-06-13 13:22:49', 2, 2, '2026-06-13 13:22:37', '2026-06-13 13:22:49'),
(27, 'INV-PSK-PYR-20260526-000002', '2026-06-13 13:23:30', 1, 68, 1, 1, 6, '2026-05-26', 9800, 0, 0, 0, 21742, 0, 'EGP', 1, '2026-06-13 13:23:30', 2, 2, '2026-06-13 13:23:25', '2026-06-13 13:23:30'),
(28, 'INV-PSK-PYR-20260526-000003', '2026-06-13 20:22:06', 1, 69, 1, 1, 6, '2026-05-26', 15700, 0, 12768, 0, 28468, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-13 20:22:06', '2026-06-13 20:22:06'),
(29, 'INV-PSK-PYR-20260526-000004', '2026-06-14 12:37:27', 1, 45, 1, NULL, 6, '2026-06-09', 4500, 0, 1918, 0, 6418, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-14 12:37:27', '2026-06-14 12:37:27'),
(30, 'INV-PSK-PYR-20260526-000005', '2026-06-14 10:25:19', 1, 46, 1, NULL, 6, '2026-06-09', 4500, 0, 1200, 0, 5700, 5700, 'EGP', 0, NULL, NULL, 2, '2026-06-14 12:39:07', '2026-06-14 13:25:19'),
(31, 'INV-PSK-PYR-20260526-000006', '2026-06-14 13:27:11', 1, 70, 1, 1, 6, '2026-05-26', 48000, 0, 0, 0, 65290, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-14 13:27:11', '2026-06-14 13:27:11'),
(32, 'INV-PSK-PYR-20260526-000007', '2026-06-14 13:46:10', 1, 73, 1, 1, 6, '2026-05-26', 2500, 0, 0, 0, 3420, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-14 13:46:10', '2026-06-14 13:46:10'),
(33, 'INV-PSK-PYR-20260526-000008', '2026-06-14 10:50:06', 1, 74, 1, 1, 6, '2026-05-26', 2500, 0, 0, 0, 3420, 0, 'EGP', 1, '2026-06-14 13:50:06', 2, 2, '2026-06-14 13:50:01', '2026-06-14 13:50:06'),
(34, 'INV-PSK-PYR-20260526-000009', '2026-06-14 13:50:30', 1, 75, 1, 16, 6, '2026-05-26', 7500, 0, 0, 0, 18550, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-14 13:50:30', '2026-06-14 13:50:30'),
(35, 'INV-PSK-PYR-20260526-000010', '2026-06-14 15:54:14', 1, 44, 1, NULL, 6, '2026-06-09', 2800, 0, 0, 0, 3761, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-14 15:54:14', '2026-06-14 15:54:14'),
(36, 'INV-PSK-PYR-20260526-000011', '2026-06-14 18:15:58', 1, 77, 1, 1, 6, '2026-05-26', 7500, 0, 0, 0, 9120, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-14 18:15:58', '2026-06-14 18:15:58'),
(37, 'INV-PSK-PYR-20260527-000001', '2026-06-18 12:53:33', 0, 17, 1, 16, 2, '2026-05-27', 15000, 0, 0, 0, 27100, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 12:53:33', '2026-06-18 12:53:33'),
(38, 'INV-PSK-PYR-20260526-000012', '2026-06-18 13:50:47', 0, 16, 1, 16, 1, '2026-05-26', 25000, 0, 0, 0, 28500, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 13:50:47', '2026-06-18 13:50:47'),
(39, 'INV-PSK-PYR-20260530-000001', '2026-06-18 14:03:20', 0, 18, 1, 16, 2, '2026-05-30', 25000, 0, 0, 0, 38500, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 14:03:20', '2026-06-18 14:03:20'),
(40, 'INV-PSK-PYR-20260531-000001', '2026-06-18 16:16:44', 0, 19, 1, 16, 2, '2026-05-31', 10000, 0, 0, 0, 21400, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 16:16:44', '2026-06-18 16:16:44'),
(41, 'INV-PSK-PYR-20260531-000002', '2026-06-18 16:21:30', 0, 20, 1, 16, 1, '2026-05-31', 25000, 0, 0, 0, 38500, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 16:21:30', '2026-06-18 16:21:30'),
(42, 'INV-PSK-PYR-20260531-000003', '2026-06-18 16:37:04', 0, 21, 1, 16, 2, '2026-05-31', 155000, 0, 0, 0, 186700, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 16:37:04', '2026-06-18 16:37:04'),
(43, 'INV-PSK-PYR-20260531-000004', '2026-06-18 17:19:51', 0, 22, 1, 16, 1, '2026-05-31', 30000, 0, 0, 0, 44200, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 17:19:51', '2026-06-18 17:19:51'),
(44, 'INV-PSK-PYR-20260531-000005', '2026-06-18 17:34:24', 1, 80, 1, 1, 6, '2026-05-31', 11300, 0, 0, 0, 13452, 0, 'EGP', 0, NULL, NULL, 2, '2026-06-18 17:34:24', '2026-06-18 17:34:24'),
(45, 'INV-PSK-PYR-20260531-000006', '2026-06-18 17:41:19', 1, 81, 1, 1, 6, '2026-05-31', 6300, 0, 0, 0, 7752, 7752, 'EGP', 1, '2026-06-18 17:35:39', 2, 2, '2026-06-18 17:35:34', '2026-06-18 17:41:19');

-- --------------------------------------------------------

--
-- Table structure for table `invoice_adjustments`
--

DROP TABLE IF EXISTS `invoice_adjustments`;
CREATE TABLE IF NOT EXISTS `invoice_adjustments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `adjustable_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `adjustable_id` bigint UNSIGNED NOT NULL,
  `adjustment_definition_id` bigint UNSIGNED DEFAULT NULL,
  `snapshot_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `snapshot_value` decimal(10,4) NOT NULL,
  `snapshot_is_percentage` tinyint(1) NOT NULL,
  `snapshot_base_amount` bigint NOT NULL,
  `amount` bigint NOT NULL,
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `invoice_adjustments_adjustable_type_adjustable_id_index` (`adjustable_type`,`adjustable_id`),
  KEY `invoice_adjustments_adjustment_definition_id_foreign` (`adjustment_definition_id`)
) ENGINE=InnoDB AUTO_INCREMENT=223 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `invoice_adjustments`
--

INSERT INTO `invoice_adjustments` (`id`, `adjustable_type`, `adjustable_id`, `adjustment_definition_id`, `snapshot_name`, `snapshot_value`, `snapshot_is_percentage`, `snapshot_base_amount`, `amount`, `metadata`, `created_at`, `updated_at`) VALUES
(1, 'service_request', 1, 1, 'Service Charge - Porto Sokhna - Pyramids', '14.0000', 1, 25000, 3500, '{\"code\": \"SERVICE_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 11:02:17', '2026-05-23 11:02:17'),
(2, 'service_request', 1, 3, 'VAT (14%) - Porto Sokhna - Pyramids', '14.0000', 1, 28500, 3990, '{\"code\": \"VAT_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"running_total\"}', '2026-05-23 11:02:17', '2026-05-23 11:02:17'),
(3, 'order', 1, 1, 'Service Charge', '14.0000', 1, 4000, 560, '{\"code\": \"SERVICE_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 12:04:08', '2026-05-23 12:04:08'),
(4, 'order', 1, 2, 'Cover Charge', '5.0000', 0, 4000, 500, '{\"code\": \"COVER_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 12:04:08', '2026-05-23 12:04:08'),
(5, 'order', 1, 3, 'VAT (14%)', '14.0000', 1, 5060, 708, '{\"code\": \"VAT_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"running_total\"}', '2026-05-23 12:04:08', '2026-05-23 12:04:08'),
(6, 'order', 2, 1, 'Service Charge', '14.0000', 1, 4500, 630, '{\"code\": \"SERVICE_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 17:00:31', '2026-05-23 17:00:31'),
(7, 'order', 2, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\": \"COVER_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 17:00:31', '2026-05-23 17:00:31'),
(8, 'order', 2, 3, 'VAT', '14.0000', 1, 5630, 788, '{\"code\": \"VAT_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"running_total\"}', '2026-05-23 17:00:31', '2026-05-23 17:00:31'),
(9, 'order', 3, 1, 'Service Charge', '14.0000', 1, 13000, 1820, '{\"code\": \"SERVICE_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 17:08:17', '2026-05-23 17:08:17'),
(10, 'order', 3, 2, 'Cover Charge', '5.0000', 0, 13000, 500, '{\"code\": \"COVER_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 17:08:17', '2026-05-23 17:08:17'),
(11, 'order', 3, 3, 'VAT', '14.0000', 1, 15320, 2144, '{\"code\": \"VAT_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"running_total\"}', '2026-05-23 17:08:17', '2026-05-23 17:08:17'),
(12, 'service_request', 2, 1, 'Service Charge', '14.0000', 1, 65000, 9100, '{\"code\": \"SERVICE_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 17:24:37', '2026-05-23 17:24:37'),
(13, 'service_request', 2, 3, 'VAT', '14.0000', 1, 74100, 10374, '{\"code\": \"VAT_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"running_total\"}', '2026-05-23 17:24:37', '2026-05-23 17:24:37'),
(14, 'service_request', 3, 1, 'Service Charge', '14.0000', 1, 10000, 1400, '{\"code\": \"SERVICE_CHARGE_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"subtotal\"}', '2026-05-23 22:25:12', '2026-05-23 22:25:12'),
(15, 'service_request', 3, 3, 'VAT', '14.0000', 1, 11400, 1596, '{\"code\": \"VAT_PSK-PYR\", \"type\": \"fee\", \"calculation_base\": \"running_total\"}', '2026-05-23 22:25:12', '2026-05-23 22:25:12'),
(16, 'service_request', 4, 1, 'Service Charge', '14.0000', 1, 15000, 2100, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 03:49:30', '2026-05-24 03:49:30'),
(17, 'service_request', 4, 3, 'VAT', '14.0000', 1, 17100, 2394, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 03:49:30', '2026-05-24 03:49:30'),
(18, 'order', 4, 1, 'Service Charge', '14.0000', 1, 4000, 560, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 03:49:59', '2026-05-24 03:49:59'),
(19, 'order', 4, 2, 'Cover Charge', '5.0000', 0, 4000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 03:49:59', '2026-05-24 03:49:59'),
(20, 'order', 4, 3, 'VAT', '14.0000', 1, 5060, 708, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 03:49:59', '2026-05-24 03:49:59'),
(21, 'order', 5, 1, 'Service Charge', '14.0000', 1, 5500, 770, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:00:24', '2026-05-24 05:00:24'),
(22, 'order', 5, 2, 'Cover Charge', '5.0000', 0, 5500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:00:24', '2026-05-24 05:00:24'),
(23, 'order', 5, 3, 'VAT', '14.0000', 1, 6770, 947, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 05:00:24', '2026-05-24 05:00:24'),
(24, 'service_request', 5, 1, 'Service Charge', '14.0000', 1, 15000, 2100, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:01:07', '2026-05-24 05:01:07'),
(25, 'service_request', 5, 3, 'VAT', '14.0000', 1, 17100, 2394, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 05:01:07', '2026-05-24 05:01:07'),
(26, 'service_request', 6, 1, 'Service Charge', '14.0000', 1, 35000, 4900, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:09:24', '2026-05-24 05:09:24'),
(27, 'service_request', 6, 3, 'VAT', '14.0000', 1, 39900, 5586, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 05:09:24', '2026-05-24 05:09:24'),
(28, 'order', 6, 1, 'Service Charge', '14.0000', 1, 4000, 560, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:12:04', '2026-05-24 05:12:04'),
(29, 'order', 6, 2, 'Cover Charge', '5.0000', 0, 4000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:12:04', '2026-05-24 05:12:04'),
(30, 'order', 6, 3, 'VAT', '14.0000', 1, 5060, 708, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 05:12:04', '2026-05-24 05:12:04'),
(31, 'service_request', 7, 1, 'Service Charge', '14.0000', 1, 15000, 2100, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:12:21', '2026-05-24 05:12:21'),
(32, 'service_request', 7, 3, 'VAT', '14.0000', 1, 17100, 2394, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 05:12:21', '2026-05-24 05:12:21'),
(33, 'order', 7, 1, 'Service Charge', '14.0000', 1, 4500, 630, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:14:00', '2026-05-24 05:14:00'),
(34, 'order', 7, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:14:00', '2026-05-24 05:14:00'),
(35, 'order', 7, 3, 'VAT', '14.0000', 1, 5630, 788, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 05:14:00', '2026-05-24 05:14:00'),
(36, 'service_request', 8, 1, 'Service Charge', '14.0000', 1, 10000, 1400, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 05:14:20', '2026-05-24 05:14:20'),
(37, 'service_request', 8, 3, 'VAT', '14.0000', 1, 11400, 1596, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 05:14:20', '2026-05-24 05:14:20'),
(38, 'order', 8, 1, 'Service Charge', '14.0000', 1, 10000, 1400, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 11:33:25', '2026-05-24 11:33:25'),
(39, 'order', 8, 2, 'Cover Charge', '5.0000', 0, 10000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 11:33:25', '2026-05-24 11:33:25'),
(40, 'order', 8, 3, 'VAT', '14.0000', 1, 11900, 1666, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 11:33:25', '2026-05-24 11:33:25'),
(41, 'order', 9, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 11:36:02', '2026-05-24 11:36:02'),
(42, 'order', 9, 3, 'VAT', '14.0000', 1, 5000, 700, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 11:36:02', '2026-05-24 11:36:02'),
(45, 'order', 11, 2, 'Cover Charge', '5.0000', 0, 24500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 11:14:20', '2026-05-24 11:14:20'),
(46, 'order', 11, 3, 'VAT', '14.0000', 1, 25000, 3500, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 11:14:20', '2026-05-24 11:14:20'),
(47, 'order', 12, 2, 'Cover Charge', '5.0000', 0, 3500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 11:24:15', '2026-05-24 11:24:15'),
(48, 'order', 12, 3, 'VAT', '14.0000', 1, 4000, 560, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 11:24:15', '2026-05-24 11:24:15'),
(49, 'order', 13, 2, 'Cover Charge', '5.0000', 0, 3500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-24 11:28:50', '2026-05-24 11:28:50'),
(50, 'order', 13, 3, 'VAT', '14.0000', 1, 4000, 560, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-24 11:28:50', '2026-05-24 11:28:50'),
(51, 'service_request', 9, 1, 'Service Charge', '14.0000', 1, 15000, 2100, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-25 10:37:42', '2026-05-25 10:37:42'),
(52, 'service_request', 9, 3, 'VAT', '14.0000', 1, 17100, 2394, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-25 10:37:42', '2026-05-25 10:37:42'),
(53, 'service_request', 10, 1, 'Service Charge', '14.0000', 1, 10000, 1400, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-26 18:43:17', '2026-05-26 18:43:17'),
(54, 'service_request', 10, 3, 'VAT', '14.0000', 1, 11400, 1596, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-26 18:43:17', '2026-05-26 18:43:17'),
(55, 'service_request', 11, 1, 'Service Charge', '14.0000', 1, 35000, 4900, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-26 18:52:07', '2026-05-26 18:52:07'),
(56, 'service_request', 11, 3, 'VAT', '14.0000', 1, 39900, 5586, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-26 18:52:07', '2026-05-26 18:52:07'),
(57, 'order', 14, 2, 'Cover Charge', '5.0000', 0, 5500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-29 11:25:39', '2026-05-29 11:25:39'),
(58, 'order', 14, 3, 'VAT', '14.0000', 1, 6000, 840, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-29 11:25:39', '2026-05-29 11:25:39'),
(59, 'service_request', 12, 1, 'Service Charge', '14.0000', 1, 15000, 2100, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-29 11:26:20', '2026-05-29 11:26:20'),
(60, 'service_request', 12, 3, 'VAT', '14.0000', 1, 17100, 2394, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-29 11:26:20', '2026-05-29 11:26:20'),
(61, 'order', 15, 2, 'Cover Charge', '5.0000', 0, 2000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-30 14:44:25', '2026-05-30 14:44:25'),
(62, 'order', 15, 3, 'VAT', '14.0000', 1, 2500, 350, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-30 14:44:25', '2026-05-30 14:44:25'),
(63, 'order', 16, 2, 'Cover Charge', '5.0000', 0, 1500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-05-30 19:03:44', '2026-05-30 19:03:44'),
(64, 'order', 16, 3, 'VAT', '14.0000', 1, 2000, 280, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-05-30 19:03:44', '2026-05-30 19:03:44'),
(65, 'service_request', 13, 1, 'Service Charge', '14.0000', 1, 40000, 5600, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-03 07:38:29', '2026-06-03 07:38:29'),
(66, 'service_request', 13, 3, 'VAT', '14.0000', 1, 45600, 6384, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-03 07:38:29', '2026-06-03 07:38:29'),
(67, 'order', 17, 2, 'Cover Charge', '5.0000', 0, 21000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-04 19:43:54', '2026-06-04 19:43:54'),
(68, 'order', 17, 3, 'VAT', '14.0000', 1, 21500, 3010, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-04 19:43:54', '2026-06-04 19:43:54'),
(69, 'service_request', 14, 1, 'Service Charge', '14.0000', 1, 40000, 5600, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-04 22:00:46', '2026-06-04 22:00:46'),
(70, 'service_request', 14, 3, 'VAT', '14.0000', 1, 45600, 6384, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-04 22:00:46', '2026-06-04 22:00:46'),
(71, 'order', 18, 2, 'Cover Charge', '5.0000', 0, 11000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-04 22:00:52', '2026-06-04 22:00:52'),
(72, 'order', 18, 3, 'VAT', '14.0000', 1, 11500, 1610, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-04 22:00:52', '2026-06-04 22:00:52'),
(73, 'order', 19, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-06 01:37:42', '2026-06-06 01:37:42'),
(74, 'order', 19, 3, 'VAT', '14.0000', 1, 5000, 700, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-06 01:37:42', '2026-06-06 01:37:42'),
(75, 'order', 20, 2, 'Cover Charge', '5.0000', 0, 9000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-06 01:47:11', '2026-06-06 01:47:11'),
(76, 'order', 20, 3, 'VAT', '14.0000', 1, 9500, 1330, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-06 01:47:11', '2026-06-06 01:47:11'),
(77, 'order', 21, 2, 'Cover Charge', '5.0000', 0, 11500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-06 01:54:20', '2026-06-06 01:54:20'),
(78, 'order', 21, 3, 'VAT', '14.0000', 1, 12000, 1680, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-06 01:54:20', '2026-06-06 01:54:20'),
(84, 'order', 22, 2, 'Cover Charge', '5.0000', 0, 27500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-06 02:37:02', '2026-06-06 02:37:02'),
(85, 'order', 22, 3, 'VAT', '14.0000', 1, 28000, 3920, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-06 02:37:02', '2026-06-06 02:37:02'),
(86, 'order', 22, NULL, 'Manual Discount', '50.0000', 0, 31920, 5000, '{\"code\":\"MANUAL_DISCOUNT\",\"type\":\"discount\",\"calculation_base\":\"running_total\",\"reason\":\"Manual discount applied\",\"created_by_id\":2,\"created_by_name\":\"Admin User\",\"created_at\":\"2026-06-06 02:37:02\"}', '2026-06-06 02:37:02', '2026-06-06 02:37:02'),
(87, 'order', 23, 2, 'Cover Charge', '5.0000', 0, 15000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-06 02:49:48', '2026-06-06 02:49:48'),
(88, 'order', 23, 3, 'VAT', '14.0000', 1, 15500, 2170, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-06 02:49:48', '2026-06-06 02:49:48'),
(89, 'service_request', 15, 1, 'Service Charge', '14.0000', 1, 25000, 3500, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-06 03:03:24', '2026-06-06 03:03:24'),
(90, 'service_request', 15, 3, 'VAT', '14.0000', 1, 28500, 3990, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-06 03:03:24', '2026-06-06 03:03:24'),
(91, 'order', 27, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 18:36:41', '2026-06-08 18:36:41'),
(92, 'order', 27, 3, 'VAT', '14.0000', 1, 5000, 700, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 18:36:41', '2026-06-08 18:36:41'),
(93, 'order', 30, 2, 'Cover Charge', '5.0000', 0, 6000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 18:43:42', '2026-06-08 18:43:42'),
(94, 'order', 30, 3, 'VAT', '14.0000', 1, 6500, 910, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 18:43:42', '2026-06-08 18:43:42'),
(95, 'order', 31, 2, 'Cover Charge', '5.0000', 0, 22500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 18:52:05', '2026-06-08 18:52:05'),
(96, 'order', 31, 3, 'VAT', '14.0000', 1, 23000, 3220, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 18:52:05', '2026-06-08 18:52:05'),
(97, 'order', 34, 2, 'Cover Charge', '5.0000', 0, 2000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 19:13:20', '2026-06-08 19:13:20'),
(98, 'order', 34, 3, 'VAT', '14.0000', 1, 2500, 350, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 19:13:20', '2026-06-08 19:13:20'),
(99, 'order', 35, 2, 'Cover Charge', '5.0000', 0, 4000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 19:18:21', '2026-06-08 19:18:21'),
(100, 'order', 35, 3, 'VAT', '14.0000', 1, 4500, 630, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 19:18:21', '2026-06-08 19:18:21'),
(101, 'order', 36, 2, 'Cover Charge', '5.0000', 0, 7500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 19:20:36', '2026-06-08 19:20:36'),
(102, 'order', 36, 3, 'VAT', '14.0000', 1, 8000, 1120, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 19:20:36', '2026-06-08 19:20:36'),
(103, 'order', 37, 2, 'Cover Charge', '5.0000', 0, 4000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 22:04:10', '2026-06-08 22:04:10'),
(104, 'order', 37, 3, 'VAT', '14.0000', 1, 4500, 630, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 22:04:10', '2026-06-08 22:04:10'),
(105, 'order', 38, 2, 'Cover Charge', '5.0000', 0, 14500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 22:07:51', '2026-06-08 22:07:51'),
(106, 'order', 38, 3, 'VAT', '14.0000', 1, 15000, 2100, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 22:07:51', '2026-06-08 22:07:51'),
(107, 'order', 39, 2, 'Cover Charge', '5.0000', 0, 2800, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-08 22:13:36', '2026-06-08 22:13:36'),
(108, 'order', 39, 3, 'VAT', '14.0000', 1, 3300, 462, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-08 22:13:36', '2026-06-08 22:13:36'),
(109, 'order', 41, 2, 'Cover Charge', '5.0000', 0, 2000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 11:38:21', '2026-06-09 11:38:21'),
(110, 'order', 41, 3, 'VAT', '14.0000', 1, 2500, 350, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 11:38:21', '2026-06-09 11:38:21'),
(111, 'order', 42, 2, 'Cover Charge', '5.0000', 0, 2800, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 11:48:13', '2026-06-09 11:48:13'),
(112, 'order', 42, 3, 'VAT', '14.0000', 1, 3300, 462, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 11:48:13', '2026-06-09 11:48:13'),
(113, 'order', 44, 2, 'Cover Charge', '5.0000', 0, 2800, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 11:52:40', '2026-06-09 11:52:40'),
(114, 'order', 44, 3, 'VAT', '14.0000', 1, 3300, 462, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 11:52:40', '2026-06-09 11:52:40'),
(115, 'order', 46, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 16:23:34', '2026-06-09 16:23:34'),
(116, 'order', 46, 3, 'VAT', '14.0000', 1, 5000, 700, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 16:23:34', '2026-06-09 16:23:34'),
(117, 'order', 47, 2, 'Cover Charge', '5.0000', 0, 7500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 16:29:43', '2026-06-09 16:29:43'),
(118, 'order', 47, 3, 'VAT', '14.0000', 1, 8000, 1120, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 16:29:43', '2026-06-09 16:29:43'),
(119, 'order', 48, 2, 'Cover Charge', '5.0000', 0, 6000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 16:43:38', '2026-06-09 16:43:38'),
(120, 'order', 48, 3, 'VAT', '14.0000', 1, 6500, 910, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 16:43:38', '2026-06-09 16:43:38'),
(121, 'order', 49, 2, 'Cover Charge', '5.0000', 0, 7500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 17:01:14', '2026-06-09 17:01:14'),
(122, 'order', 49, 3, 'VAT', '14.0000', 1, 8000, 1120, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 17:01:14', '2026-06-09 17:01:14'),
(123, 'order', 50, 2, 'Cover Charge', '5.0000', 0, 5500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\"}', '2026-06-09 18:46:28', '2026-06-09 18:46:28'),
(124, 'order', 50, 3, 'VAT', '14.0000', 1, 6000, 840, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\"}', '2026-06-09 18:46:28', '2026-06-09 18:46:28'),
(129, 'order', 53, 2, 'Cover Charge', '5.0000', 0, 88500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"outlet_id\":1,\"zone_id\":1}', '2026-06-12 11:42:45', '2026-06-12 11:42:45'),
(130, 'order', 53, 3, 'VAT', '14.0000', 1, 89000, 12460, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"zone\",\"outlet_id\":1,\"zone_id\":1}', '2026-06-12 11:42:45', '2026-06-12 11:42:45'),
(131, 'order', 58, 2, 'Cover Charge', '5.0000', 0, 11000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"outlet_id\":1,\"zone_id\":1}', '2026-06-12 12:21:39', '2026-06-12 12:21:39'),
(132, 'order', 58, 3, 'VAT', '14.0000', 1, 11500, 1610, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"zone\",\"outlet_id\":1,\"zone_id\":1}', '2026-06-12 12:21:39', '2026-06-12 12:21:39'),
(137, 'order', 59, 2, 'Cover Charge', '5.0000', 0, 31500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"outlet_id\":1,\"zone_id\":1}', '2026-06-12 12:25:08', '2026-06-12 12:25:08'),
(138, 'order', 59, 3, 'VAT', '14.0000', 1, 32000, 4480, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"zone\",\"outlet_id\":1,\"zone_id\":1}', '2026-06-12 12:25:08', '2026-06-12 12:25:08'),
(151, 'order', 67, 1, 'Service Charge', '14.0000', 1, 4000, 560, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-13 13:22:21', '2026-06-13 13:22:21'),
(152, 'order', 68, 2, 'Cover Charge', '5.0000', 0, 9800, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":16}', '2026-06-13 13:23:11', '2026-06-13 13:23:11'),
(153, 'order', 68, 3, 'VAT', '14.0000', 1, 10300, 1442, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-13 13:23:11', '2026-06-13 13:23:11'),
(154, 'order', 68, 43, 'adjusment1', '100.0000', 0, 9800, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":18}', '2026-06-13 13:23:11', '2026-06-13 13:23:11'),
(161, 'order', 70, 2, 'Cover Charge', '5.0000', 0, 48000, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":16}', '2026-06-13 18:55:43', '2026-06-13 18:55:43'),
(162, 'order', 70, 3, 'VAT', '14.0000', 1, 48500, 6790, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-13 18:55:43', '2026-06-13 18:55:43'),
(163, 'order', 70, 43, 'adjusment1', '100.0000', 0, 48000, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":18}', '2026-06-13 18:55:43', '2026-06-13 18:55:43'),
(167, 'order', 71, 2, 'Cover Charge', '5.0000', 0, 78900, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":16}', '2026-06-13 18:56:50', '2026-06-13 18:56:50'),
(168, 'order', 71, 3, 'VAT', '14.0000', 1, 79400, 11116, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-13 18:56:50', '2026-06-13 18:56:50'),
(169, 'order', 71, 43, 'adjusment1', '100.0000', 0, 78900, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":18}', '2026-06-13 18:56:50', '2026-06-13 18:56:50'),
(173, 'order', 69, 2, 'Cover Charge', '5.0000', 0, 15700, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":16}', '2026-06-13 19:00:45', '2026-06-13 19:00:45'),
(174, 'order', 69, 3, 'VAT', '14.0000', 1, 16200, 2268, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-13 19:00:45', '2026-06-13 19:00:45'),
(175, 'order', 69, 43, 'adjusment1', '100.0000', 0, 15700, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":18}', '2026-06-13 19:00:45', '2026-06-13 19:00:45'),
(176, 'service_request', 16, 1, 'Service Charge', '14.0000', 1, 25000, 3500, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-13 21:37:50', '2026-06-13 21:37:50'),
(177, 'order', 43, 1, 'Service Charge', '14.0000', 1, 4500, 630, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":51}', '2026-06-14 12:35:31', '2026-06-14 12:35:31'),
(178, 'order', 43, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":52}', '2026-06-14 12:35:31', '2026-06-14 12:35:31'),
(179, 'order', 43, 3, 'VAT', '14.0000', 1, 5630, 788, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":53}', '2026-06-14 12:35:31', '2026-06-14 12:35:31'),
(180, 'order', 43, 43, 'adjusment1', '0.0000', 1, 4500, 0, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":54}', '2026-06-14 12:35:31', '2026-06-14 12:35:31'),
(181, 'order', 45, 1, 'Service Charge', '14.0000', 1, 4500, 630, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":51}', '2026-06-14 12:37:23', '2026-06-14 12:37:23'),
(182, 'order', 45, 2, 'Cover Charge', '5.0000', 0, 4500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":52}', '2026-06-14 12:37:23', '2026-06-14 12:37:23'),
(183, 'order', 45, 3, 'VAT', '14.0000', 1, 5630, 788, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":53}', '2026-06-14 12:37:23', '2026-06-14 12:37:23'),
(184, 'order', 45, 43, 'adjusment1', '0.0000', 1, 4500, 0, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":54}', '2026-06-14 12:37:23', '2026-06-14 12:37:23'),
(185, 'order', 72, 1, 'Service Charge', '14.0000', 1, 65500, 9170, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-14 13:34:12', '2026-06-14 13:34:12'),
(186, 'order', 72, 43, 'adjusment1', '100.0000', 0, 65500, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-14 13:34:12', '2026-06-14 13:34:12'),
(187, 'order', 66, 2, 'Cover Charge', '5.0000', 0, 17900, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-14 13:45:12', '2026-06-14 13:45:12'),
(188, 'order', 66, 3, 'VAT', '14.0000', 1, 18400, 2576, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-14 13:45:12', '2026-06-14 13:45:12'),
(189, 'order', 73, 2, 'Cover Charge', '5.0000', 0, 2500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-14 13:46:03', '2026-06-14 13:46:03'),
(190, 'order', 73, 3, 'VAT', '14.0000', 1, 3000, 420, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-14 13:46:03', '2026-06-14 13:46:03'),
(191, 'order', 74, 2, 'Cover Charge', '5.0000', 0, 2500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-14 13:49:53', '2026-06-14 13:49:53'),
(192, 'order', 74, 3, 'VAT', '14.0000', 1, 3000, 420, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-14 13:49:53', '2026-06-14 13:49:53'),
(193, 'order', 75, 1, 'Service Charge', '14.0000', 1, 7500, 1050, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-14 13:50:23', '2026-06-14 13:50:23'),
(194, 'order', 75, 43, 'adjusment1', '100.0000', 0, 7500, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-14 13:50:23', '2026-06-14 13:50:23'),
(195, 'order', 76, 1, 'Service Charge', '14.0000', 1, 7500, 1050, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-14 18:11:16', '2026-06-14 18:11:16'),
(196, 'order', 76, 43, 'adjusment1', '100.0000', 0, 7500, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-14 18:11:16', '2026-06-14 18:11:16'),
(197, 'order', 77, 2, 'Cover Charge', '5.0000', 0, 7500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-14 18:15:41', '2026-06-14 18:15:41'),
(198, 'order', 77, 3, 'VAT', '14.0000', 1, 8000, 1120, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-14 18:15:41', '2026-06-14 18:15:41'),
(199, 'order', 78, 2, 'Cover Charge', '5.0000', 0, 16700, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-14 18:25:28', '2026-06-14 18:25:28'),
(200, 'order', 78, 3, 'VAT', '14.0000', 1, 17200, 2408, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-14 18:25:28', '2026-06-14 18:25:28'),
(201, 'order', 79, 2, 'Cover Charge', '5.0000', 0, 2500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-14 18:25:50', '2026-06-14 18:25:50'),
(202, 'order', 79, 3, 'VAT', '14.0000', 1, 3000, 420, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-14 18:25:50', '2026-06-14 18:25:50'),
(203, 'order', 10, 1, 'Service Charge', '14.0000', 1, 24500, 3430, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":51}', '2026-06-15 11:37:23', '2026-06-15 11:37:23'),
(204, 'order', 10, 2, 'Cover Charge', '5.0000', 0, 24500, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":52}', '2026-06-15 11:37:23', '2026-06-15 11:37:23'),
(205, 'order', 10, 3, 'VAT', '14.0000', 1, 28430, 3980, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":53}', '2026-06-15 11:37:23', '2026-06-15 11:37:23'),
(206, 'order', 10, 43, 'adjusment1', '0.0000', 1, 24500, 0, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"zone\",\"zone_id\":1,\"resolution_strategy\":\"outlet_then_zone\",\"source\":\"zone\",\"zone_adjustment_id\":54}', '2026-06-15 11:37:23', '2026-06-15 11:37:23'),
(207, 'service_request', 17, 1, 'Service Charge', '14.0000', 1, 15000, 2100, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-18 12:53:16', '2026-06-18 12:53:16'),
(208, 'service_request', 17, 43, 'adjusment1', '100.0000', 0, 15000, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-18 12:53:16', '2026-06-18 12:53:16'),
(209, 'service_request', 18, 1, 'Service Charge', '14.0000', 1, 25000, 3500, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-18 14:03:16', '2026-06-18 14:03:16'),
(210, 'service_request', 18, 43, 'adjusment1', '100.0000', 0, 25000, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-18 14:03:16', '2026-06-18 14:03:16'),
(211, 'service_request', 19, 1, 'Service Charge', '14.0000', 1, 10000, 1400, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-18 16:16:40', '2026-06-18 16:16:40'),
(212, 'service_request', 19, 43, 'adjusment1', '100.0000', 0, 10000, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-18 16:16:40', '2026-06-18 16:16:40'),
(213, 'service_request', 20, 1, 'Service Charge', '14.0000', 1, 25000, 3500, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-18 16:21:26', '2026-06-18 16:21:26'),
(214, 'service_request', 20, 43, 'adjusment1', '100.0000', 0, 25000, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-18 16:21:26', '2026-06-18 16:21:26'),
(215, 'service_request', 21, 1, 'Service Charge', '14.0000', 1, 155000, 21700, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-18 16:37:00', '2026-06-18 16:37:00'),
(216, 'service_request', 21, 43, 'adjusment1', '100.0000', 0, 155000, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-18 16:37:00', '2026-06-18 16:37:00'),
(217, 'service_request', 22, 1, 'Service Charge', '14.0000', 1, 30000, 4200, '{\"code\":\"SERVICE_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":30}', '2026-06-18 17:19:43', '2026-06-18 17:19:43'),
(218, 'service_request', 22, 43, 'adjusment1', '100.0000', 0, 30000, 10000, '{\"code\":\"adjusment1\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":16,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":45}', '2026-06-18 17:19:43', '2026-06-18 17:19:43'),
(219, 'order', 80, 2, 'Cover Charge', '5.0000', 0, 11300, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-18 17:34:12', '2026-06-18 17:34:12'),
(220, 'order', 80, 3, 'VAT', '14.0000', 1, 11800, 1652, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-18 17:34:12', '2026-06-18 17:34:12'),
(221, 'order', 81, 2, 'Cover Charge', '5.0000', 0, 6300, 500, '{\"code\":\"COVER_CHARGE_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"subtotal\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":44}', '2026-06-18 17:34:58', '2026-06-18 17:34:58'),
(222, 'order', 81, 3, 'VAT', '14.0000', 1, 6800, 952, '{\"code\":\"VAT_PSK-PYR\",\"type\":\"fee\",\"calculation_base\":\"running_total\",\"scope\":\"outlet\",\"outlet_id\":1,\"zone_id\":1,\"resolution_strategy\":\"outlet_only\",\"source\":\"outlet\",\"outlet_adjustment_id\":17}', '2026-06-18 17:34:58', '2026-06-18 17:34:58');

-- --------------------------------------------------------

--
-- Table structure for table `invoice_sequences`
--

DROP TABLE IF EXISTS `invoice_sequences`;
CREATE TABLE IF NOT EXISTS `invoice_sequences` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_code` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `business_date` date NOT NULL,
  `last_sequence` int UNSIGNED NOT NULL DEFAULT '0',
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `zone_date_unique` (`zone_code`,`business_date`),
  KEY `invoice_sequences_business_date_index` (`business_date`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `invoice_sequences`
--

INSERT INTO `invoice_sequences` (`id`, `zone_code`, `business_date`, `last_sequence`, `updated_at`) VALUES
(1, 'PSK-PYR', '2026-05-23', 18, '2026-06-03 07:38:29'),
(2, 'PSK-PYR', '2026-05-24', 3, '2026-06-06 03:06:39'),
(3, 'PSK-PYR', '2026-05-25', 4, '2026-06-12 13:55:24'),
(4, 'PSK-PYR', '2026-05-26', 12, '2026-06-18 13:50:47'),
(5, 'PSK-PYR', '2026-05-27', 1, '2026-06-18 12:53:33'),
(6, 'PSK-PYR', '2026-05-30', 1, '2026-06-18 14:03:20'),
(7, 'PSK-PYR', '2026-05-31', 6, '2026-06-18 17:35:34');

-- --------------------------------------------------------

--
-- Table structure for table `landing_contents`
--

DROP TABLE IF EXISTS `landing_contents`;
CREATE TABLE IF NOT EXISTS `landing_contents` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `section` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `title` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `title_ar` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `subtitle` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `subtitle_ar` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `content` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `content_ar` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `cta_text` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cta_text_ar` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cta_link` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cta_2_text` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cta_2_text_ar` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cta_2_link` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `hotline` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `whatsapp` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `working_hours` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `working_hours_ar` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `image_path` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `icon` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `landing_contents_section_unique` (`section`),
  KEY `landing_contents_section_is_active_index` (`section`,`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `landing_contents`
--

INSERT INTO `landing_contents` (`id`, `section`, `title`, `title_ar`, `subtitle`, `subtitle_ar`, `content`, `content_ar`, `cta_text`, `cta_text_ar`, `cta_link`, `cta_2_text`, `cta_2_text_ar`, `cta_2_link`, `hotline`, `whatsapp`, `email`, `working_hours`, `working_hours_ar`, `payload`, `image_path`, `icon`, `sort_order`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'hero', 'Luxury Coastal Living', 'حياة ساحلية فاخرة', 'Redefining Coastal Living Across Egypt', 'نعيد تعريف الحياة الساحلية في مصر', 'Experience unparalleled luxury along Egypt\'s most pristine coastlines. A Capital Holding brings you exclusive beachfront properties that blend modern sophistication with timeless elegance.', 'استمتع بفخامة استثنائية على أجمل سواحل مصر. تقدم لك A Capital Holding عقارات شاطئية حصرية تجمع بين الرقي العصري والأناقة الخالدة.', 'Explore Properties', 'استكشف العقارات', '#properties', 'Learn More', 'اعرف المزيد', '#about', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 1, '2026-05-23 00:27:05', '2026-06-03 23:14:04'),
(2, 'about', 'About Us', 'من نحن', 'Crafting Exceptional Coastal Experiences', 'نصنع تجارب ساحلية استثنائية', 'A Capital Holding is Egypt\'s premier luxury real estate developer, specializing in exclusive coastal properties that embody sophistication and refined living. With over two decades of excellence, we\'ve redefined what it means to live by the sea.\n\nOur portfolio spans Egypt\'s most coveted coastal destinations, from the pristine shores of the North Coast to the vibrant waters of the Red Sea. Each development is a masterpiece, thoughtfully designed to harmonize with its natural surroundings while delivering uncompromising luxury.', 'تعد A Capital Holding من أبرز مطوري العقارات الفاخرة في مصر، متخصصة في العقارات الساحلية الحصرية التي تعكس الرقي وأسلوب الحياة الرفيع. على مدار أكثر من عقدين من التميز، أعدنا تعريف معنى السكن بجوار البحر.\n\nتمتد محفظتنا عبر أكثر الوجهات الساحلية تميزا في مصر، من شواطئ الساحل الشمالي النقية إلى مياه البحر الأحمر الحيوية. كل مشروع تحفة مصممة بعناية لتنسجم مع الطبيعة المحيطة وتقدم فخامة بلا تنازل.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"stats\": [{\"label\": \"Years of Excellence\", \"value\": \"20+\", \"label_ar\": \"عاما من التميز\", \"value_ar\": \"+20\"}, {\"label\": \"Luxury Properties\", \"value\": \"50+\", \"label_ar\": \"عقارا فاخرا\", \"value_ar\": \"+50\"}, {\"label\": \"Happy Homeowners\", \"value\": \"5000+\", \"label_ar\": \"مالك سعيد\", \"value_ar\": \"+5000\"}], \"images\": [{\"url\": \"https://images.unsplash.com/photo-1776762893034-c437e452f1be?w=1080&q=80\", \"title\": \"Modern luxury villa\", \"title_ar\": \"فيلا فاخرة عصرية\"}, {\"url\": \"https://images.unsplash.com/photo-1608661090231-880eef793f5e?w=1080&q=80\", \"title\": \"Luxury interior\", \"title_ar\": \"تصميم داخلي فاخر\"}]}', 'landing/M7BEehbiYAt0QUfd518yyGG7JiVejqcFN4OOJDyt.jpg', NULL, 3, 1, '2026-05-23 00:27:05', '2026-06-03 23:38:27'),
(10, 'cta', 'Ready to Discover Your Dream Coastal Home?', 'هل أنت مستعد لاكتشاف منزلك الساحلي المثالي؟', NULL, NULL, 'Schedule a private viewing and experience the pinnacle of luxury coastal living. Our expert consultants are ready to guide you through our exclusive portfolio.', 'احجز معاينة خاصة واستمتع بتجربة قمة الحياة الساحلية الفاخرة. مستشارونا المتخصصون مستعدون لإرشادك عبر محفظتنا الحصرية.', 'Schedule Viewing', 'احجز معاينة', '#contact', 'Brochure', 'الكتيب', '#contact', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5, 1, '2026-05-23 00:27:05', '2026-06-03 23:14:04'),
(11, 'contact', 'Get In Touch', 'تواصل معنا', 'Contact Our Team', 'تواصل مع فريقنا', 'Connect with our luxury property specialists to explore your coastal living opportunities', 'تواصل مع متخصصي العقارات الفاخرة لدينا لاستكشاف فرص الحياة الساحلية', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"form\": {\"title\": \"Send Us a Message\", \"labels\": [\"First Name\", \"Last Name\", \"Email Address\", \"Phone Number\", \"Message\", \"Send Message\"], \"title_ar\": \"أرسل لنا رسالة\", \"labels_ar\": [\"الاسم الأول\", \"اسم العائلة\", \"البريد الإلكتروني\", \"رقم الهاتف\", \"الرسالة\", \"إرسال الرسالة\"]}, \"cards\": [{\"icon\": \"fa-location-dot\", \"lines\": [\"Cairo Business District\", \"New Cairo, Egypt\"], \"title\": \"Head Office\", \"lines_ar\": [\"منطقة الأعمال بالقاهرة\", \"القاهرة الجديدة، مصر\"], \"title_ar\": \"المقر الرئيسي\"}, {\"icon\": \"fa-phone\", \"lines\": [\"+20 2 1234 5678\", \"+20 100 123 4567\"], \"title\": \"Phone\", \"lines_ar\": [\"+20 2 1234 5678\", \"+20 100 123 4567\"], \"title_ar\": \"الهاتف\"}, {\"icon\": \"fa-envelope\", \"lines\": [\"info@aotholding.com\", \"sales@aotholding.com\"], \"title\": \"Email\", \"lines_ar\": [\"info@aotholding.com\", \"sales@aotholding.com\"], \"title_ar\": \"البريد الإلكتروني\"}, {\"icon\": \"fa-globe\", \"lines\": [\"Sun - Thu: 9AM - 6PM\", \"Sat: 10AM - 4PM\"], \"title\": \"Office Hours\", \"lines_ar\": [\"الأحد - الخميس: 9 صباحا - 6 مساء\", \"السبت: 10 صباحا - 4 مساء\"], \"title_ar\": \"ساعات العمل\"}]}', NULL, NULL, 6, 1, '2026-05-23 00:27:05', '2026-06-03 23:37:19'),
(12, 'footer', 'AOT - A Capital Holding', 'AOT - A Capital Holding', '© 2026 AOT - A Capital Holding. All rights reserved.', '© 2026 AOT - A Capital Holding. جميع الحقوق محفوظة.', 'Egypt\'s premier luxury coastal real estate developer, creating exceptional living experiences along the most prestigious coastlines.', 'مطور عقاري فاخر رائد في مصر يصنع تجارب معيشية استثنائية على أرقى السواحل.', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"groups\": [{\"links\": [\"North Coast\", \"Red Sea\", \"Mediterranean\", \"Featured Listings\"], \"title\": \"Properties\", \"links_ar\": [\"الساحل الشمالي\", \"البحر الأحمر\", \"المتوسط\", \"العقارات المميزة\"], \"title_ar\": \"العقارات\"}, {\"links\": [\"About Us\", \"Our Story\", \"Awards\", \"Careers\"], \"title\": \"Company\", \"links_ar\": [\"من نحن\", \"قصتنا\", \"الجوائز\", \"الوظائف\"], \"title_ar\": \"الشركة\"}, {\"links\": [\"Buyer\'s Guide\", \"Investment Guide\", \"Financing\", \"FAQs\"], \"title\": \"Resources\", \"links_ar\": [\"دليل المشتري\", \"دليل الاستثمار\", \"التمويل\", \"الأسئلة الشائعة\"], \"title_ar\": \"الموارد\"}]}', NULL, NULL, 7, 1, '2026-05-23 00:27:06', '2026-06-03 23:37:19'),
(13, 'brand', 'AOT', 'AOT', 'A Capital Holding', 'A Capital Holding', 'A', 'A', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"socials\": [{\"url\": \"#\", \"icon\": \"fa-facebook-f\", \"label\": \"Facebook\"}, {\"url\": \"#\", \"icon\": \"fa-instagram\", \"label\": \"Instagram\"}, {\"url\": \"#\", \"icon\": \"fa-linkedin-in\", \"label\": \"LinkedIn\"}]}', NULL, NULL, 1, 1, '2026-06-03 22:39:18', '2026-06-03 23:37:19'),
(35, 'why', 'Why Choose Us', 'لماذا تختارنا', 'Why A Capital Holding', 'لماذا A Capital Holding', 'Discover the advantages that make us Egypt\'s most trusted luxury coastal property developer', 'اكتشف المزايا التي تجعلنا من أكثر مطوري العقارات الساحلية الفاخرة ثقة في مصر', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"cards\": [{\"icon\": \"fa-location-dot\", \"title\": \"Prime Locations\", \"content\": \"Strategically positioned properties along Egypt\'s most prestigious coastal destinations, offering unparalleled views and beach access.\", \"title_ar\": \"مواقع مميزة\", \"content_ar\": \"عقارات في مواقع استراتيجية على أرقى الوجهات الساحلية في مصر، بإطلالات استثنائية ووصول مباشر إلى الشاطئ.\"}, {\"icon\": \"fa-building\", \"title\": \"Architectural Excellence\", \"content\": \"Award-winning designs that seamlessly blend contemporary aesthetics with timeless elegance and sustainable practices.\", \"title_ar\": \"تميز معماري\", \"content_ar\": \"تصميمات حائزة على جوائز تجمع بسلاسة بين الجماليات المعاصرة والأناقة الخالدة والممارسات المستدامة.\"}, {\"icon\": \"fa-shield-halved\", \"title\": \"Premium Security\", \"content\": \"State-of-the-art security systems and 24/7 monitoring ensure complete peace of mind for you and your family.\", \"title_ar\": \"أمان متميز\", \"content_ar\": \"أنظمة أمن متطورة ومراقبة على مدار الساعة تمنحك أنت وعائلتك راحة بال كاملة.\"}, {\"icon\": \"fa-chart-line\", \"title\": \"Investment Value\", \"content\": \"Proven track record of property appreciation and strong ROI, making our developments ideal long-term investments.\", \"title_ar\": \"قيمة استثمارية\", \"content_ar\": \"سجل مثبت في نمو قيمة العقارات وعائد استثماري قوي، مما يجعل مشروعاتنا اختيارا مثاليا للاستثمار طويل الأجل.\"}, {\"icon\": \"fa-umbrella-beach\", \"title\": \"Lifestyle Amenities\", \"content\": \"World-class facilities including beach clubs, spas, fitness centers, and fine dining restaurants at your doorstep.\", \"title_ar\": \"مرافق أسلوب حياة\", \"content_ar\": \"مرافق عالمية تشمل نوادي شاطئية ومنتجعات صحية ومراكز لياقة ومطاعم راقية على مقربة منك.\"}, {\"icon\": \"fa-medal\", \"title\": \"Award-Winning Service\", \"content\": \"Dedicated concierge and property management teams committed to exceeding expectations at every turn.\", \"title_ar\": \"خدمة حائزة على جوائز\", \"content_ar\": \"فرق كونسيرج وإدارة عقارية متخصصة ملتزمة بتجاوز التوقعات في كل خطوة.\"}]}', NULL, NULL, 4, 1, '2026-06-03 23:14:04', '2026-06-03 23:37:19');

-- --------------------------------------------------------

--
-- Table structure for table `memberships`
--

DROP TABLE IF EXISTS `memberships`;
CREATE TABLE IF NOT EXISTS `memberships` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `membership_code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `contract_date` date DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `memberships_membership_code_unique` (`membership_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `membership_logs`
--

DROP TABLE IF EXISTS `membership_logs`;
CREATE TABLE IF NOT EXISTS `membership_logs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `membership_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `action` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `membership_logs_membership_id_foreign` (`membership_id`),
  KEY `membership_logs_user_id_foreign` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `membership_units`
--

DROP TABLE IF EXISTS `membership_units`;
CREATE TABLE IF NOT EXISTS `membership_units` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `membership_id` bigint UNSIGNED NOT NULL,
  `unit_id` bigint UNSIGNED NOT NULL,
  `delivery_date` date DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `membership_units_membership_id_unit_id_unique` (`membership_id`,`unit_id`),
  KEY `membership_units_unit_id_foreign` (`unit_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `menu_categories`
--

DROP TABLE IF EXISTS `menu_categories`;
CREATE TABLE IF NOT EXISTS `menu_categories` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `slug` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'food',
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `icon` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `color` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '#4f46e5',
  `sort_order` int NOT NULL DEFAULT '0',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `menu_categories_slug_unique` (`slug`),
  KEY `menu_categories_department_id_foreign` (`department_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `menu_categories`
--

INSERT INTO `menu_categories` (`id`, `name`, `name_ar`, `slug`, `type`, `description`, `icon`, `color`, `sort_order`, `is_active`, `department_id`, `created_at`, `updated_at`) VALUES
(1, 'Food', 'أكل', 'food', 'food', NULL, 'fa-utensils', '#ef4444', 1, 1, NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(2, 'Drinks', 'مشروبات', 'drinks', 'drinks', NULL, 'fa-mug-hot', '#3b82f6', 2, 1, NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(3, 'Desserts', 'حلويات', 'desserts', 'desserts', NULL, 'fa-ice-cream', '#f59e0b', 3, 1, NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03');

-- --------------------------------------------------------

--
-- Table structure for table `menu_items`
--

DROP TABLE IF EXISTS `menu_items`;
CREATE TABLE IF NOT EXISTS `menu_items` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `category_id` bigint UNSIGNED NOT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `slug` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `short_description` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `item_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'food',
  `price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `discount_type` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'none',
  `discount_value` decimal(10,2) NOT NULL DEFAULT '0.00',
  `prep_time` int DEFAULT NULL,
  `badge_text` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `badge_color` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '#f59e0b',
  `card_color` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '#ffffff',
  `text_color` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '#1f2937',
  `image_path` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `rating` decimal(2,1) NOT NULL DEFAULT '0.0',
  `rating_count` int NOT NULL DEFAULT '0',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `is_available` tinyint(1) NOT NULL DEFAULT '1',
  `is_featured` tinyint(1) NOT NULL DEFAULT '0',
  `sort_order` int NOT NULL DEFAULT '0',
  `visibility_start_at` timestamp NULL DEFAULT NULL,
  `visibility_end_at` timestamp NULL DEFAULT NULL,
  `booking_limit` int UNSIGNED DEFAULT NULL,
  `booking_deadline` datetime DEFAULT NULL,
  `booking_count` int UNSIGNED NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `menu_items_slug_unique` (`slug`),
  KEY `menu_items_is_active_is_available_index` (`is_active`,`is_available`),
  KEY `menu_items_category_id_sort_order_index` (`category_id`,`sort_order`),
  KEY `menu_items_department_id_foreign` (`department_id`),
  KEY `idx_menu_items_zone_id` (`zone_id`),
  KEY `menu_items_outlet_id_foreign` (`outlet_id`),
  KEY `menu_items_zone_outlet_active_idx` (`zone_id`,`outlet_id`,`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=258 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `menu_items`
--

INSERT INTO `menu_items` (`id`, `category_id`, `department_id`, `zone_id`, `outlet_id`, `name`, `name_ar`, `slug`, `short_description`, `description`, `item_type`, `price`, `discount_type`, `discount_value`, `prep_time`, `badge_text`, `badge_color`, `card_color`, `text_color`, `image_path`, `rating`, `rating_count`, `is_active`, `is_available`, `is_featured`, `sort_order`, `visibility_start_at`, `visibility_end_at`, `booking_limit`, `booking_deadline`, `booking_count`, `created_at`, `updated_at`) VALUES
(1, 1, 6, 1, 1, 'Koshary', 'كشري', 'PSK-PYR-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-12 13:51:43'),
(2, 1, 6, 1, 16, 'Falafel (Taameya)', 'طعمية', 'PSK-PYR-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 19:47:00'),
(3, 1, 6, 1, 16, 'Shawarma Sandwich', 'شاورما سندوتش', 'PSK-PYR-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-13 17:25:46'),
(4, 1, 6, 1, 16, 'Grilled Kofta', 'كفتة مشوية', 'PSK-PYR-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-13 17:25:58'),
(5, 1, 6, 1, 1, 'Hawawshi', 'حواوشي', 'PSK-PYR-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 15:49:25'),
(6, 1, 6, 1, 1, 'Molokhia', 'ملوخية', 'PSK-PYR-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 15:49:31'),
(7, 1, 6, 1, 1, 'Grilled Fish', 'سمك مشوي', 'PSK-PYR-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(8, 1, 6, 1, 1, 'Grilled Chicken', 'دجاج مشوي', 'PSK-PYR-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(9, 1, 6, 1, 1, 'Club Sandwich', 'كلوب سندوتش', 'PSK-PYR-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(10, 1, 6, 1, 1, 'Caesar Salad', 'سلطة سيزر', 'PSK-PYR-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(11, 1, 6, 1, 1, 'Pasta', 'باستا', 'PSK-PYR-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(12, 1, 6, 1, 1, 'Pizza', 'بيتزا', 'PSK-PYR-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(13, 1, 6, 1, 1, 'Burger', 'برجر', 'PSK-PYR-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(14, 1, 6, 1, 1, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PSK-PYR-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(15, 1, 6, 1, 1, 'Shrimp Grill', 'جمبري مشوي', 'PSK-PYR-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(16, 2, 6, 1, 1, 'Egyptian Tea', 'شاي مصري', 'PSK-PYR-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(17, 2, 6, 1, 1, 'Hibiscus (Karkade)', 'كركديه', 'PSK-PYR-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(18, 2, 6, 1, 1, 'Mango Juice', 'عصير مانجو', 'PSK-PYR-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(19, 2, 6, 1, 1, 'Lemon Mint', 'ليمون نعناع', 'PSK-PYR-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(20, 2, 6, 1, 1, 'Turkish Coffee', 'قهوة تركي', 'PSK-PYR-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(21, 2, 6, 1, 1, 'Cappuccino', 'كابتشينو', 'PSK-PYR-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(22, 2, 6, 1, 1, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PSK-PYR-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(23, 2, 6, 1, 1, 'Watermelon Juice', 'عصير بطيخ', 'PSK-PYR-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:03', '2026-06-11 16:03:34'),
(24, 2, 6, 1, 1, 'Smoothie', 'سموذي', 'PSK-PYR-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(26, 3, 6, 1, 1, 'Umm Ali', 'أم علي', 'PSK-PYR-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(27, 3, 6, 1, 1, 'Kunafa', 'كنافة', 'PSK-PYR-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(28, 3, 6, 1, 1, 'Baklava', 'بقلاوة', 'PSK-PYR-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(29, 3, 6, 1, 1, 'Basbousa', 'بسبوسة', 'PSK-PYR-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(30, 3, 6, 1, 1, 'Ice Cream', 'آيس كريم', 'PSK-PYR-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(31, 3, 6, 1, 1, 'Waffle', 'وافل', 'PSK-PYR-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(32, 3, 6, 1, 1, 'Rice Pudding', 'أرز باللبن', 'PSK-PYR-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:34'),
(33, 1, 6, 2, 9, 'Koshary', 'كشري', 'PSK-HOTEL-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(34, 1, 6, 2, 9, 'Falafel (Taameya)', 'طعمية', 'PSK-HOTEL-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(35, 1, 6, 2, 9, 'Shawarma Sandwich', 'شاورما سندوتش', 'PSK-HOTEL-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(36, 1, 6, 2, 9, 'Grilled Kofta', 'كفتة مشوية', 'PSK-HOTEL-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(37, 1, 6, 2, 9, 'Hawawshi', 'حواوشي', 'PSK-HOTEL-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(38, 1, 6, 2, 9, 'Molokhia', 'ملوخية', 'PSK-HOTEL-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(39, 1, 6, 2, 9, 'Grilled Fish', 'سمك مشوي', 'PSK-HOTEL-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(40, 1, 6, 2, 9, 'Grilled Chicken', 'دجاج مشوي', 'PSK-HOTEL-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(41, 1, 6, 2, 9, 'Club Sandwich', 'كلوب سندوتش', 'PSK-HOTEL-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(42, 1, 6, 2, 9, 'Caesar Salad', 'سلطة سيزر', 'PSK-HOTEL-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(43, 1, 6, 2, 9, 'Pasta', 'باستا', 'PSK-HOTEL-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(44, 1, 6, 2, 9, 'Pizza', 'بيتزا', 'PSK-HOTEL-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(45, 1, 6, 2, 9, 'Burger', 'برجر', 'PSK-HOTEL-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(46, 1, 6, 2, 9, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PSK-HOTEL-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(47, 1, 6, 2, 9, 'Shrimp Grill', 'جمبري مشوي', 'PSK-HOTEL-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(48, 2, 6, 2, 9, 'Egyptian Tea', 'شاي مصري', 'PSK-HOTEL-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(49, 2, 6, 2, 9, 'Hibiscus (Karkade)', 'كركديه', 'PSK-HOTEL-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(50, 2, 6, 2, 9, 'Mango Juice', 'عصير مانجو', 'PSK-HOTEL-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(51, 2, 6, 2, 9, 'Lemon Mint', 'ليمون نعناع', 'PSK-HOTEL-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(52, 2, 6, 2, 9, 'Turkish Coffee', 'قهوة تركي', 'PSK-HOTEL-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(53, 2, 6, 2, 9, 'Cappuccino', 'كابتشينو', 'PSK-HOTEL-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(54, 2, 6, 2, 9, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PSK-HOTEL-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(55, 2, 6, 2, 9, 'Watermelon Juice', 'عصير بطيخ', 'PSK-HOTEL-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(56, 2, 6, 2, 9, 'Smoothie', 'سموذي', 'PSK-HOTEL-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(58, 3, 6, 2, 9, 'Umm Ali', 'أم علي', 'PSK-HOTEL-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(59, 3, 6, 2, 9, 'Kunafa', 'كنافة', 'PSK-HOTEL-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(60, 3, 6, 2, 9, 'Baklava', 'بقلاوة', 'PSK-HOTEL-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(61, 3, 6, 2, 9, 'Basbousa', 'بسبوسة', 'PSK-HOTEL-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(62, 3, 6, 2, 9, 'Ice Cream', 'آيس كريم', 'PSK-HOTEL-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(63, 3, 6, 2, 9, 'Waffle', 'وافل', 'PSK-HOTEL-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(64, 3, 6, 2, 9, 'Rice Pudding', 'أرز باللبن', 'PSK-HOTEL-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(65, 1, 6, 3, 10, 'Koshary', 'كشري', 'PSK-GOLF-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(66, 1, 6, 3, 10, 'Falafel (Taameya)', 'طعمية', 'PSK-GOLF-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(67, 1, 6, 3, 10, 'Shawarma Sandwich', 'شاورما سندوتش', 'PSK-GOLF-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(68, 1, 6, 3, 10, 'Grilled Kofta', 'كفتة مشوية', 'PSK-GOLF-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(69, 1, 6, 3, 10, 'Hawawshi', 'حواوشي', 'PSK-GOLF-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(70, 1, 6, 3, 10, 'Molokhia', 'ملوخية', 'PSK-GOLF-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(71, 1, 6, 3, 10, 'Grilled Fish', 'سمك مشوي', 'PSK-GOLF-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(72, 1, 6, 3, 10, 'Grilled Chicken', 'دجاج مشوي', 'PSK-GOLF-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(73, 1, 6, 3, 10, 'Club Sandwich', 'كلوب سندوتش', 'PSK-GOLF-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(74, 1, 6, 3, 10, 'Caesar Salad', 'سلطة سيزر', 'PSK-GOLF-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(75, 1, 6, 3, 10, 'Pasta', 'باستا', 'PSK-GOLF-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(76, 1, 6, 3, 10, 'Pizza', 'بيتزا', 'PSK-GOLF-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(77, 1, 6, 3, 10, 'Burger', 'برجر', 'PSK-GOLF-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(78, 1, 6, 3, 10, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PSK-GOLF-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(79, 1, 6, 3, 10, 'Shrimp Grill', 'جمبري مشوي', 'PSK-GOLF-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(80, 2, 6, 3, 10, 'Egyptian Tea', 'شاي مصري', 'PSK-GOLF-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(81, 2, 6, 3, 10, 'Hibiscus (Karkade)', 'كركديه', 'PSK-GOLF-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(82, 2, 6, 3, 10, 'Mango Juice', 'عصير مانجو', 'PSK-GOLF-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(83, 2, 6, 3, 10, 'Lemon Mint', 'ليمون نعناع', 'PSK-GOLF-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(84, 2, 6, 3, 10, 'Turkish Coffee', 'قهوة تركي', 'PSK-GOLF-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(85, 2, 6, 3, 10, 'Cappuccino', 'كابتشينو', 'PSK-GOLF-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(86, 2, 6, 3, 10, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PSK-GOLF-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(87, 2, 6, 3, 10, 'Watermelon Juice', 'عصير بطيخ', 'PSK-GOLF-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(88, 2, 6, 3, 10, 'Smoothie', 'سموذي', 'PSK-GOLF-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(90, 3, 6, 3, 10, 'Umm Ali', 'أم علي', 'PSK-GOLF-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(91, 3, 6, 3, 10, 'Kunafa', 'كنافة', 'PSK-GOLF-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(92, 3, 6, 3, 10, 'Baklava', 'بقلاوة', 'PSK-GOLF-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(93, 3, 6, 3, 10, 'Basbousa', 'بسبوسة', 'PSK-GOLF-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(94, 3, 6, 3, 10, 'Ice Cream', 'آيس كريم', 'PSK-GOLF-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(95, 3, 6, 3, 10, 'Waffle', 'وافل', 'PSK-GOLF-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(96, 3, 6, 3, 10, 'Rice Pudding', 'أرز باللبن', 'PSK-GOLF-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(97, 1, 6, 4, 11, 'Koshary', 'كشري', 'PSB-GENWA-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(98, 1, 6, 4, 11, 'Falafel (Taameya)', 'طعمية', 'PSB-GENWA-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(99, 1, 6, 4, 11, 'Shawarma Sandwich', 'شاورما سندوتش', 'PSB-GENWA-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(100, 1, 6, 4, 11, 'Grilled Kofta', 'كفتة مشوية', 'PSB-GENWA-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(101, 1, 6, 4, 11, 'Hawawshi', 'حواوشي', 'PSB-GENWA-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(102, 1, 6, 4, 11, 'Molokhia', 'ملوخية', 'PSB-GENWA-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(103, 1, 6, 4, 11, 'Grilled Fish', 'سمك مشوي', 'PSB-GENWA-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(104, 1, 6, 4, 11, 'Grilled Chicken', 'دجاج مشوي', 'PSB-GENWA-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(105, 1, 6, 4, 11, 'Club Sandwich', 'كلوب سندوتش', 'PSB-GENWA-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(106, 1, 6, 4, 11, 'Caesar Salad', 'سلطة سيزر', 'PSB-GENWA-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(107, 1, 6, 4, 11, 'Pasta', 'باستا', 'PSB-GENWA-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(108, 1, 6, 4, 11, 'Pizza', 'بيتزا', 'PSB-GENWA-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(109, 1, 6, 4, 11, 'Burger', 'برجر', 'PSB-GENWA-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(110, 1, 6, 4, 11, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PSB-GENWA-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(111, 1, 6, 4, 11, 'Shrimp Grill', 'جمبري مشوي', 'PSB-GENWA-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(112, 2, 6, 4, 11, 'Egyptian Tea', 'شاي مصري', 'PSB-GENWA-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(113, 2, 6, 4, 11, 'Hibiscus (Karkade)', 'كركديه', 'PSB-GENWA-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(114, 2, 6, 4, 11, 'Mango Juice', 'عصير مانجو', 'PSB-GENWA-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(115, 2, 6, 4, 11, 'Lemon Mint', 'ليمون نعناع', 'PSB-GENWA-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(116, 2, 6, 4, 11, 'Turkish Coffee', 'قهوة تركي', 'PSB-GENWA-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(117, 2, 6, 4, 11, 'Cappuccino', 'كابتشينو', 'PSB-GENWA-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(118, 2, 6, 4, 11, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PSB-GENWA-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(119, 2, 6, 4, 11, 'Watermelon Juice', 'عصير بطيخ', 'PSB-GENWA-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(120, 2, 6, 4, 11, 'Smoothie', 'سموذي', 'PSB-GENWA-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(122, 3, 6, 4, 11, 'Umm Ali', 'أم علي', 'PSB-GENWA-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(123, 3, 6, 4, 11, 'Kunafa', 'كنافة', 'PSB-GENWA-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(124, 3, 6, 4, 11, 'Baklava', 'بقلاوة', 'PSB-GENWA-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(125, 3, 6, 4, 11, 'Basbousa', 'بسبوسة', 'PSB-GENWA-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(126, 3, 6, 4, 11, 'Ice Cream', 'آيس كريم', 'PSB-GENWA-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(127, 3, 6, 4, 11, 'Waffle', 'وافل', 'PSB-GENWA-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(128, 3, 6, 4, 11, 'Rice Pudding', 'أرز باللبن', 'PSB-GENWA-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(129, 1, 6, 5, 12, 'Koshary', 'كشري', 'PSB-PVC-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(130, 1, 6, 5, 12, 'Falafel (Taameya)', 'طعمية', 'PSB-PVC-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(131, 1, 6, 5, 12, 'Shawarma Sandwich', 'شاورما سندوتش', 'PSB-PVC-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(132, 1, 6, 5, 12, 'Grilled Kofta', 'كفتة مشوية', 'PSB-PVC-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(133, 1, 6, 5, 12, 'Hawawshi', 'حواوشي', 'PSB-PVC-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(134, 1, 6, 5, 12, 'Molokhia', 'ملوخية', 'PSB-PVC-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(135, 1, 6, 5, 12, 'Grilled Fish', 'سمك مشوي', 'PSB-PVC-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(136, 1, 6, 5, 12, 'Grilled Chicken', 'دجاج مشوي', 'PSB-PVC-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(137, 1, 6, 5, 12, 'Club Sandwich', 'كلوب سندوتش', 'PSB-PVC-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(138, 1, 6, 5, 12, 'Caesar Salad', 'سلطة سيزر', 'PSB-PVC-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:35'),
(139, 1, 6, 5, 12, 'Pasta', 'باستا', 'PSB-PVC-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(140, 1, 6, 5, 12, 'Pizza', 'بيتزا', 'PSB-PVC-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(141, 1, 6, 5, 12, 'Burger', 'برجر', 'PSB-PVC-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(142, 1, 6, 5, 12, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PSB-PVC-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(143, 1, 6, 5, 12, 'Shrimp Grill', 'جمبري مشوي', 'PSB-PVC-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(144, 2, 6, 5, 12, 'Egyptian Tea', 'شاي مصري', 'PSB-PVC-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(145, 2, 6, 5, 12, 'Hibiscus (Karkade)', 'كركديه', 'PSB-PVC-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36');
INSERT INTO `menu_items` (`id`, `category_id`, `department_id`, `zone_id`, `outlet_id`, `name`, `name_ar`, `slug`, `short_description`, `description`, `item_type`, `price`, `discount_type`, `discount_value`, `prep_time`, `badge_text`, `badge_color`, `card_color`, `text_color`, `image_path`, `rating`, `rating_count`, `is_active`, `is_available`, `is_featured`, `sort_order`, `visibility_start_at`, `visibility_end_at`, `booking_limit`, `booking_deadline`, `booking_count`, `created_at`, `updated_at`) VALUES
(146, 2, 6, 5, 12, 'Mango Juice', 'عصير مانجو', 'PSB-PVC-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(147, 2, 6, 5, 12, 'Lemon Mint', 'ليمون نعناع', 'PSB-PVC-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(148, 2, 6, 5, 12, 'Turkish Coffee', 'قهوة تركي', 'PSB-PVC-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(149, 2, 6, 5, 12, 'Cappuccino', 'كابتشينو', 'PSB-PVC-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(150, 2, 6, 5, 12, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PSB-PVC-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(151, 2, 6, 5, 12, 'Watermelon Juice', 'عصير بطيخ', 'PSB-PVC-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(152, 2, 6, 5, 12, 'Smoothie', 'سموذي', 'PSB-PVC-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(154, 3, 6, 5, 12, 'Umm Ali', 'أم علي', 'PSB-PVC-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(155, 3, 6, 5, 12, 'Kunafa', 'كنافة', 'PSB-PVC-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(156, 3, 6, 5, 12, 'Baklava', 'بقلاوة', 'PSB-PVC-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(157, 3, 6, 5, 12, 'Basbousa', 'بسبوسة', 'PSB-PVC-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(158, 3, 6, 5, 12, 'Ice Cream', 'آيس كريم', 'PSB-PVC-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(159, 3, 6, 5, 12, 'Waffle', 'وافل', 'PSB-PVC-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(160, 3, 6, 5, 12, 'Rice Pudding', 'أرز باللبن', 'PSB-PVC-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(161, 1, 6, 6, 13, 'Koshary', 'كشري', 'PMR-TOWERS-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(162, 1, 6, 6, 13, 'Falafel (Taameya)', 'طعمية', 'PMR-TOWERS-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(163, 1, 6, 6, 13, 'Shawarma Sandwich', 'شاورما سندوتش', 'PMR-TOWERS-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(164, 1, 6, 6, 13, 'Grilled Kofta', 'كفتة مشوية', 'PMR-TOWERS-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(165, 1, 6, 6, 13, 'Hawawshi', 'حواوشي', 'PMR-TOWERS-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(166, 1, 6, 6, 13, 'Molokhia', 'ملوخية', 'PMR-TOWERS-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(167, 1, 6, 6, 13, 'Grilled Fish', 'سمك مشوي', 'PMR-TOWERS-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(168, 1, 6, 6, 13, 'Grilled Chicken', 'دجاج مشوي', 'PMR-TOWERS-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(169, 1, 6, 6, 13, 'Club Sandwich', 'كلوب سندوتش', 'PMR-TOWERS-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(170, 1, 6, 6, 13, 'Caesar Salad', 'سلطة سيزر', 'PMR-TOWERS-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(171, 1, 6, 6, 13, 'Pasta', 'باستا', 'PMR-TOWERS-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(172, 1, 6, 6, 13, 'Pizza', 'بيتزا', 'PMR-TOWERS-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(173, 1, 6, 6, 13, 'Burger', 'برجر', 'PMR-TOWERS-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(174, 1, 6, 6, 13, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PMR-TOWERS-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(175, 1, 6, 6, 13, 'Shrimp Grill', 'جمبري مشوي', 'PMR-TOWERS-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(176, 2, 6, 6, 13, 'Egyptian Tea', 'شاي مصري', 'PMR-TOWERS-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(177, 2, 6, 6, 13, 'Hibiscus (Karkade)', 'كركديه', 'PMR-TOWERS-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(178, 2, 6, 6, 13, 'Mango Juice', 'عصير مانجو', 'PMR-TOWERS-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(179, 2, 6, 6, 13, 'Lemon Mint', 'ليمون نعناع', 'PMR-TOWERS-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(180, 2, 6, 6, 13, 'Turkish Coffee', 'قهوة تركي', 'PMR-TOWERS-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(181, 2, 6, 6, 13, 'Cappuccino', 'كابتشينو', 'PMR-TOWERS-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(182, 2, 6, 6, 13, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PMR-TOWERS-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(183, 2, 6, 6, 13, 'Watermelon Juice', 'عصير بطيخ', 'PMR-TOWERS-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(184, 2, 6, 6, 13, 'Smoothie', 'سموذي', 'PMR-TOWERS-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(186, 3, 6, 6, 13, 'Umm Ali', 'أم علي', 'PMR-TOWERS-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(187, 3, 6, 6, 13, 'Kunafa', 'كنافة', 'PMR-TOWERS-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(188, 3, 6, 6, 13, 'Baklava', 'بقلاوة', 'PMR-TOWERS-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(189, 3, 6, 6, 13, 'Basbousa', 'بسبوسة', 'PMR-TOWERS-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(190, 3, 6, 6, 13, 'Ice Cream', 'آيس كريم', 'PMR-TOWERS-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(191, 3, 6, 6, 13, 'Waffle', 'وافل', 'PMR-TOWERS-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(192, 3, 6, 6, 13, 'Rice Pudding', 'أرز باللبن', 'PMR-TOWERS-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(193, 1, 6, 7, 14, 'Koshary', 'كشري', 'PMR-HOTEL-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(194, 1, 6, 7, 14, 'Falafel (Taameya)', 'طعمية', 'PMR-HOTEL-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(195, 1, 6, 7, 14, 'Shawarma Sandwich', 'شاورما سندوتش', 'PMR-HOTEL-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(196, 1, 6, 7, 14, 'Grilled Kofta', 'كفتة مشوية', 'PMR-HOTEL-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(197, 1, 6, 7, 14, 'Hawawshi', 'حواوشي', 'PMR-HOTEL-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(198, 1, 6, 7, 14, 'Molokhia', 'ملوخية', 'PMR-HOTEL-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(199, 1, 6, 7, 14, 'Grilled Fish', 'سمك مشوي', 'PMR-HOTEL-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(200, 1, 6, 7, 14, 'Grilled Chicken', 'دجاج مشوي', 'PMR-HOTEL-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(201, 1, 6, 7, 14, 'Club Sandwich', 'كلوب سندوتش', 'PMR-HOTEL-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(202, 1, 6, 7, 14, 'Caesar Salad', 'سلطة سيزر', 'PMR-HOTEL-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(203, 1, 6, 7, 14, 'Pasta', 'باستا', 'PMR-HOTEL-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(204, 1, 6, 7, 14, 'Pizza', 'بيتزا', 'PMR-HOTEL-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(205, 1, 6, 7, 14, 'Burger', 'برجر', 'PMR-HOTEL-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(206, 1, 6, 7, 14, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PMR-HOTEL-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(207, 1, 6, 7, 14, 'Shrimp Grill', 'جمبري مشوي', 'PMR-HOTEL-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(208, 2, 6, 7, 14, 'Egyptian Tea', 'شاي مصري', 'PMR-HOTEL-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(209, 2, 6, 7, 14, 'Hibiscus (Karkade)', 'كركديه', 'PMR-HOTEL-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(210, 2, 6, 7, 14, 'Mango Juice', 'عصير مانجو', 'PMR-HOTEL-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(211, 2, 6, 7, 14, 'Lemon Mint', 'ليمون نعناع', 'PMR-HOTEL-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(212, 2, 6, 7, 14, 'Turkish Coffee', 'قهوة تركي', 'PMR-HOTEL-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(213, 2, 6, 7, 14, 'Cappuccino', 'كابتشينو', 'PMR-HOTEL-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(214, 2, 6, 7, 14, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PMR-HOTEL-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(215, 2, 6, 7, 14, 'Watermelon Juice', 'عصير بطيخ', 'PMR-HOTEL-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(216, 2, 6, 7, 14, 'Smoothie', 'سموذي', 'PMR-HOTEL-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(218, 3, 6, 7, 14, 'Umm Ali', 'أم علي', 'PMR-HOTEL-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(219, 3, 6, 7, 14, 'Kunafa', 'كنافة', 'PMR-HOTEL-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(220, 3, 6, 7, 14, 'Baklava', 'بقلاوة', 'PMR-HOTEL-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(221, 3, 6, 7, 14, 'Basbousa', 'بسبوسة', 'PMR-HOTEL-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(222, 3, 6, 7, 14, 'Ice Cream', 'آيس كريم', 'PMR-HOTEL-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(223, 3, 6, 7, 14, 'Waffle', 'وافل', 'PMR-HOTEL-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(224, 3, 6, 7, 14, 'Rice Pudding', 'أرز باللبن', 'PMR-HOTEL-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(225, 1, 6, 8, 15, 'Koshary', 'كشري', 'PMR-GOLF-koshary', 'Egyptian comfort food classic', 'Egyptian comfort food classic', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#ef4444', '#ffffff', '#1f2937', 'menu-items/efSXKQ0wLUU6rIZ40JxZwDdFsq5OO7abmBr6xrrS.jpg', '0.0', 0, 1, 0, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(226, 1, 6, 8, 15, 'Falafel (Taameya)', 'طعمية', 'PMR-GOLF-falafel', 'Crispy Egyptian falafel', 'Crispy Egyptian falafel', 'regular', '20.00', 'none', '0.00', 12, 'Vegetarian', '#22c55e', '#ffffff', '#1f2937', 'menu-items/WGfXLTwc0JIP3osuzCWOZoFK5pVel7ZXqiw2uTQZ.jpg', '0.0', 0, 1, 1, 0, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(227, 1, 6, 8, 15, 'Shawarma Sandwich', 'شاورما سندوتش', 'PMR-GOLF-shawarma', 'Grilled meat wrap', 'Grilled meat wrap', 'regular', '55.00', 'none', '0.00', 10, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/YjFL4VIkZpr6hL2hBo4Luq4tb6DrWxunfJzZU4dY.jpg', '0.0', 0, 1, 1, 1, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(228, 1, 6, 8, 15, 'Grilled Kofta', 'كفتة مشوية', 'PMR-GOLF-kofta', 'Spiced minced meat skewers', 'Spiced minced meat skewers', 'regular', '75.00', 'none', '0.00', 18, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/44r8VLSLAeqfxw86w3Jm9CmC9UacEmK68JCu4ztT.jpg', '0.0', 0, 1, 1, 1, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(229, 1, 6, 8, 15, 'Hawawshi', 'حواوشي', 'PMR-GOLF-hawawshi', 'Egyptian meat pie', 'Egyptian meat pie', 'regular', '40.00', 'none', '0.00', 15, 'Spicy', '#dc2626', '#ffffff', '#1f2937', 'menu-items/2Jp4HMNEmiE6QCUM5guM4npOoeQzDZVrIQaldc0Z.png', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(230, 1, 6, 8, 15, 'Molokhia', 'ملوخية', 'PMR-GOLF-molokhia', 'Traditional green soup', 'Traditional green soup', 'regular', '60.00', 'none', '0.00', 25, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/4cyGUFNfNz0ufQ5NsKpLD4A62fJ8ExdcKA39gkD9.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(231, 1, 6, 8, 15, 'Grilled Fish', 'سمك مشوي', 'PMR-GOLF-grilled-fish', 'Fresh grilled fish', 'Fresh grilled fish', 'regular', '120.00', 'none', '0.00', 25, 'Fresh', '#0ea5e9', '#ffffff', '#1f2937', 'menu-items/6niUEMjEGJonPPouQpQ5aMdA5175EHZaFosoD7Y2.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(232, 1, 6, 8, 15, 'Grilled Chicken', 'دجاج مشوي', 'PMR-GOLF-grilled-chicken', 'Tender grilled chicken', 'Tender grilled chicken', 'regular', '85.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/30PXAimCbROxiVKri5wKdBhaUeEDQYdgZJAfex7M.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(233, 1, 6, 8, 15, 'Club Sandwich', 'كلوب سندوتش', 'PMR-GOLF-club-sandwich', 'Classic club sandwich', 'Classic club sandwich', 'regular', '65.00', 'none', '0.00', 12, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/mYBgU0Ad2VgEnu7RYnVileJ2Z3T9ZqxAkikMGtLo.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(234, 1, 6, 8, 15, 'Caesar Salad', 'سلطة سيزر', 'PMR-GOLF-caesar-salad', 'Fresh caesar salad', 'Fresh caesar salad', 'regular', '50.00', 'none', '0.00', 8, 'Healthy', '#22c55e', '#ffffff', '#1f2937', 'menu-items/VOrVTMmjrNXTgv7k4IiARhzygcCCpsHpzJZkDrYF.jpg', '0.0', 0, 1, 1, 0, 10, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(235, 1, 6, 8, 15, 'Pasta', 'باستا', 'PMR-GOLF-pasta', 'Creamy pasta dish', 'Creamy pasta dish', 'regular', '70.00', 'none', '0.00', 20, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/lywz3nzo0rj1dUVf5zpDyyMQrbWGdKnOpFTJeAYB.jpg', '0.0', 0, 1, 1, 0, 11, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(236, 1, 6, 8, 15, 'Pizza', 'بيتزا', 'PMR-GOLF-pizza', 'Stone-baked pizza', 'Stone-baked pizza', 'regular', '90.00', 'none', '0.00', 22, 'New', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/ibirmN89vWcywaEdRJ1xf5W5ngKgkd8BCHg5iUxa.webp', '0.0', 0, 1, 1, 0, 12, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(237, 1, 6, 8, 15, 'Burger', 'برجر', 'PMR-GOLF-burger', 'Juicy beef burger', 'Juicy beef burger', 'regular', '75.00', 'none', '0.00', 15, 'Best Seller', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/BKIUfX4SsQkIEPLg8QRyR7WggCDmd7ZkBw6Oal2y.jpg', '0.0', 0, 1, 1, 0, 13, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(238, 1, 6, 8, 15, 'Seafood Pasta', 'باستا مأكولات بحرية', 'PMR-GOLF-seafood-pasta', 'Rich seafood pasta', 'Rich seafood pasta', 'regular', '110.00', 'none', '0.00', 25, 'Special', '#f97316', '#ffffff', '#1f2937', 'menu-items/BSo16YHTG0rFw4hUo2YIaxmROR66jz4CgoJx3ibz.jpg', '0.0', 0, 1, 1, 0, 14, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(239, 1, 6, 8, 15, 'Shrimp Grill', 'جمبري مشوي', 'PMR-GOLF-shrimp-grill', 'Grilled tiger shrimp', 'Grilled tiger shrimp', 'regular', '130.00', 'none', '0.00', 20, 'Premium', '#f43f5e', '#ffffff', '#1f2937', 'menu-items/4EueSDX4E7MsuZx1SsvPeitik7V1nu7CoBiCtCzd.jpg', '0.0', 0, 1, 1, 0, 15, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(240, 2, 6, 8, 15, 'Egyptian Tea', 'شاي مصري', 'PMR-GOLF-tea', 'Classic black tea', 'Classic black tea', 'regular', '15.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/Drkfx8ilgA8XJX507wvW5Xv1tuq4sVOCTyHTy3qz.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(241, 2, 6, 8, 15, 'Hibiscus (Karkade)', 'كركديه', 'PMR-GOLF-hibiscus', 'Refreshing hibiscus drink', 'Refreshing hibiscus drink', 'regular', '18.00', 'none', '0.00', 3, 'Refreshing', '#ec4899', '#ffffff', '#1f2937', 'menu-items/I914ZM5K4ogvBbLHGLXu0ZIA8Yu3lOOyMUsHx6eZ.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(242, 2, 6, 8, 15, 'Mango Juice', 'عصير مانجو', 'PMR-GOLF-mango', 'Fresh mango smoothie', 'Fresh mango smoothie', 'regular', '25.00', 'none', '0.00', 5, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aVPphA1dQW9dLAMdNypf9Rs5DnBjfLUYlUW6vJxB.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(243, 2, 6, 8, 15, 'Lemon Mint', 'ليمون نعناع', 'PMR-GOLF-lemon-mint', 'Zesty cooling drink', 'Zesty cooling drink', 'regular', '18.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/1qqpBXlhyqvps0EtLiB4ybZfMkGdehu5Bu7ZyITU.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(244, 2, 6, 8, 15, 'Turkish Coffee', 'قهوة تركي', 'PMR-GOLF-turkish-coffee', 'Strong traditional coffee', 'Strong traditional coffee', 'regular', '20.00', 'none', '0.00', 7, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/MH6RrmiEEEHvgYiH5JTSwOedXOCvZ2c6q2W8nNPq.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(245, 2, 6, 8, 15, 'Cappuccino', 'كابتشينو', 'PMR-GOLF-cappuccino', 'Creamy cappuccino', 'Creamy cappuccino', 'regular', '30.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/aDoPdpiUo9uE400FXeQaHCuivh1PG5B7lJzdKD1w.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(246, 2, 6, 8, 15, 'Fresh Orange Juice', 'عصير برتقال طازج', 'PMR-GOLF-orange', 'Freshly squeezed orange', 'Freshly squeezed orange', 'regular', '22.00', 'none', '0.00', 4, 'Fresh', '#f97316', '#ffffff', '#1f2937', 'menu-items/C7vFQQBvScSArXw76SX0GilqmDT3BZJ6KTa17332.jpg', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(247, 2, 6, 8, 15, 'Watermelon Juice', 'عصير بطيخ', 'PMR-GOLF-watermelon', 'Sweet watermelon juice', 'Sweet watermelon juice', 'regular', '20.00', 'none', '0.00', 4, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/UdY0CicYwE30DAGcMyvbDq6K4gR9an01hPjRvuf1.jpg', '0.0', 0, 1, 1, 0, 8, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(248, 2, 6, 8, 15, 'Smoothie', 'سموذي', 'PMR-GOLF-smoothie', 'Mixed fruit smoothie', 'Mixed fruit smoothie', 'regular', '35.00', 'none', '0.00', 6, 'Healthy', '#a855f7', '#ffffff', '#1f2937', 'menu-items/Uc9sWcf69Ach7wt9xMfKUIWL1RofAoe1VWKayzaM.jpg', '0.0', 0, 1, 1, 0, 9, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(250, 3, 6, 8, 15, 'Umm Ali', 'أم علي', 'PMR-GOLF-umm-ali', 'Egyptian bread pudding', 'Egyptian bread pudding', 'regular', '35.00', 'none', '0.00', 12, 'Must Try', '#8b5cf6', '#ffffff', '#1f2937', 'menu-items/9DSGzYnZT78zt31rKLL3tdrkIVUfMxT7TZUBL7QV.jpg', '0.0', 0, 1, 1, 0, 1, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(251, 3, 6, 8, 15, 'Kunafa', 'كنافة', 'PMR-GOLF-kunafa', 'Crispy sweet pastry', 'Crispy sweet pastry', 'regular', '45.00', 'none', '0.00', 15, 'Popular', '#f59e0b', '#ffffff', '#1f2937', 'menu-items/AdiVbvN0KImmEYDz0D4HJ4TkgtYIU7hB2tOWUgBF.jpg', '0.0', 0, 1, 1, 1, 2, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(252, 3, 6, 8, 15, 'Baklava', 'بقلاوة', 'PMR-GOLF-baklava', 'Layered nut pastry', 'Layered nut pastry', 'regular', '30.00', 'none', '0.00', 8, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/KW8ZVbrUgCxjql7mmwqXL7F3L4gLdNGbYzGy6OMl.jpg', '0.0', 0, 1, 1, 0, 3, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(253, 3, 6, 8, 15, 'Basbousa', 'بسبوسة', 'PMR-GOLF-basbousa', 'Semolina cake', 'Semolina cake', 'regular', '25.00', 'none', '0.00', 6, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/M7hQbcXbE9NuDAjBnyXzgCM2e11g4Q9XTL75Euo6.jpg', '0.0', 0, 1, 1, 0, 4, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(254, 3, 6, 8, 15, 'Ice Cream', 'آيس كريم', 'PMR-GOLF-ice-cream', 'Creamy ice cream', 'Creamy ice cream', 'regular', '28.00', 'none', '0.00', 3, 'Cool', '#ec4899', '#ffffff', '#1f2937', 'menu-items/cR2YEAL3ac9bVJhgBg9izwglM2zWua7BpjsaKnp4.jpg', '0.0', 0, 1, 1, 0, 5, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(255, 3, 6, 8, 15, 'Waffle', 'وافل', 'PMR-GOLF-waffle', 'Crispy waffle with toppings', 'Crispy waffle with toppings', 'regular', '40.00', 'none', '0.00', 10, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/psJHbFuMRU3wuU44mQLyxy9tzQkP1YJsnweNQHwo.jpg', '0.0', 0, 1, 1, 0, 6, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36'),
(256, 3, 6, 8, 15, 'Rice Pudding', 'أرز باللبن', 'PMR-GOLF-rice-pudding', 'Creamy sweet treat', 'Creamy sweet treat', 'regular', '22.00', 'none', '0.00', 5, NULL, '#f59e0b', '#ffffff', '#1f2937', 'menu-items/ZwMR1Vz6W88i00Ur2BpUoXQ6BYcEzwl1nueGE3Xs.webp', '0.0', 0, 1, 1, 0, 7, NULL, NULL, NULL, NULL, 0, '2026-05-23 00:27:04', '2026-06-11 16:03:36');

-- --------------------------------------------------------

--
-- Table structure for table `migrations`
--

DROP TABLE IF EXISTS `migrations`;
CREATE TABLE IF NOT EXISTS `migrations` (
  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  `migration` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `batch` int NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=253 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '2014_10_12_000000_create_users_table', 1),
(2, '2014_10_12_100000_create_password_resets_table', 1),
(3, '2014_10_12_200000_add_two_factor_columns_to_users_table', 1),
(4, '2019_08_19_000000_create_failed_jobs_table', 1),
(5, '2019_12_14_000001_create_personal_access_tokens_table', 1),
(6, '2023_01_29_225605_create_sessions_table', 1),
(7, '2023_01_30_012353_create_categories_table', 1),
(8, '2023_02_02_202618_create_attachments_table', 1),
(9, '2023_02_14_215250_create_canned_messages_table', 1),
(10, '2023_02_21_165537_create_permission_tables', 1),
(11, '2023_05_14_142155_create_banks_table', 1),
(12, '2023_05_14_143255_create_bank_accounts_table', 1),
(13, '2023_05_14_150054_create_bank_transactions_table', 1),
(14, '2023_05_29_225635_create_branches_table', 1),
(15, '2025_02_01_002927_create_sites_table', 1),
(16, '2025_02_01_003327_create_departments_table', 1),
(17, '2025_02_03_153254_create_department_user_table', 1),
(18, '2025_02_03_153330_create_site_user_table', 1),
(19, '2025_06_01_113257_create_visitors_table', 1),
(20, '2025_06_01_113349_create_zones_table', 1),
(21, '2025_06_01_113444_create_gates_table', 1),
(22, '2025_06_01_113520_create_visitor_zones_table', 1),
(23, '2025_06_01_113609_create_visitor_entries_table', 1),
(24, '2025_07_13_191139_create_memberships_table', 1),
(25, '2025_07_13_191346_create_contacts_table', 1),
(26, '2025_07_13_191551_create_units_table', 1),
(27, '2025_07_13_193724_create_membership_units_table', 1),
(28, '2025_07_13_193846_create_rental_units_table', 1),
(29, '2025_07_13_215019_create_properties_table', 1),
(30, '2025_07_14_170715_create_areas_table', 1),
(31, '2025_07_17_154140_create_membership_logs', 1),
(32, '2025_07_19_113139_create_contact_links_table', 1),
(33, '2025_07_29_130015_create_service_items_table', 1),
(34, '2025_07_29_130052_create_service_requests_table', 1),
(35, '2025_07_29_130123_create_request_items_table', 1),
(36, '2025_07_29_130148_create_payments_table', 1),
(37, '2025_07_29_130245_create_transactions_table', 1),
(38, '2025_07_29_141727_create_refunds_table', 1),
(39, '2025_08_30_212530_create_request_histories', 1),
(40, '2026_03_10_002923_create_wecare_ticket_status_history_table', 1),
(41, '2026_03_10_002923_create_wecare_tickets_table', 1),
(42, '2026_03_10_002928_create_wecare_ticket_files_table', 1),
(43, '2026_03_10_025551_create_wecare_service_categories_table', 1),
(44, '2026_03_10_025558_create_wecare_service_items_table', 1),
(45, '2026_03_10_025728_add_service_item_id_to_wecare_tickets_table', 1),
(46, '2026_03_10_043210_create_user_unit_scopes_table', 1),
(47, '2026_03_10_233334_create_template_replies_table', 1),
(48, '2026_03_10_233857_add_status_change_to_template_replies_table', 1),
(49, '2026_03_13_033908_create_wecare_ticket_field_history_table', 1),
(50, '2026_03_13_045038_create_department_site_table', 1),
(51, '2026_03_13_045042_create_user_site_table', 1),
(52, '2026_03_14_030759_add_icon_color_to_wecare_service_items_table', 1),
(53, '2026_03_14_041359_create_department_zone_table', 1),
(54, '2026_03_14_041359_create_user_departments_table', 1),
(55, '2026_03_14_041403_add_zone_id_to_users_table', 1),
(56, '2026_03_14_041403_add_zone_id_to_wecare_service_items_table', 1),
(57, '2026_03_14_041403_update_departments_table_for_shared_model', 1),
(58, '2026_03_14_042421_add_zone_id_to_wecare_tickets_table', 1),
(59, '2026_03_14_230146_drop_site_user_table', 1),
(60, '2026_03_15_041052_remove_department_from_wecare_tables', 1),
(61, '2026_03_15_122932_create_service_category_site_table', 1),
(62, '2026_03_15_122933_create_service_category_user_table', 1),
(63, '2026_03_15_122934_create_service_category_property_table', 1),
(64, '2026_03_15_122936_create_service_category_area_table', 1),
(65, '2026_03_15_122936_create_service_category_zone_table', 1),
(66, '2026_03_15_122937_add_service_category_id_to_wecare_tickets_table', 1),
(67, '2026_03_15_130507_create_service_item_zone_table', 1),
(68, '2026_03_15_160000_create_user_access_tables', 1),
(69, '2026_03_15_235413_add_locked_to_users_table', 1),
(70, '2026_03_15_235728_remove_type_from_users_table', 1),
(71, '2026_03_16_003010_drop_canned_messages_table', 1),
(72, '2026_03_16_003010_drop_staffs_table', 1),
(73, '2026_03_16_021435_update_ticket_status_values_to_lowercase', 1),
(74, '2026_03_16_024500_fix_template_replies_sort_order', 1),
(75, '2026_03_16_030500_update_template_replies_for_service_categories', 1),
(76, '2026_03_16_031000_create_template_reply_service_category_table', 1),
(77, '2026_03_25_145349_add_code_to_service_requests_table', 1),
(78, '2026_03_27_100001_create_cashier_shifts_table', 1),
(79, '2026_03_27_100002_create_cashier_shift_payments_table', 1),
(80, '2026_03_27_100003_create_daily_closings_table', 1),
(81, '2026_03_27_100004_add_cashier_shift_id_to_payments_table', 1),
(82, '2026_03_27_100005_add_branch_id_to_service_requests_table', 1),
(83, '2026_03_27_224823_create_house_fund_transactions_table', 1),
(84, '2026_03_27_225204_add_night_run_columns_to_daily_closings_table', 1),
(85, '2026_03_27_225210_add_cashier_columns_to_bank_tables', 1),
(86, '2026_03_27_232624_add_day_status_to_daily_closings_table', 1),
(87, '2026_03_28_014427_update_banks_table_add_short_code', 1),
(88, '2026_03_28_014432_create_bank_sequences_table', 1),
(89, '2026_03_28_030000_add_missing_columns_to_bank_accounts', 1),
(90, '2026_03_28_045514_create_outlets_table', 1),
(91, '2026_03_28_045534_add_outlet_id_to_payments_table', 1),
(92, '2026_03_28_045535_add_outlet_id_to_service_requests_table', 1),
(93, '2026_03_28_141700_add_name_ar_to_tables', 1),
(94, '2026_03_28_212202_add_category_and_code_to_service_items_table', 1),
(95, '2026_03_28_212244_create_service_categories_table', 1),
(96, '2026_03_29_023001_add_reconciliation_fields_to_cashier_shifts_and_daily_closings', 1),
(97, '2026_03_29_072810_add_discount_fields_to_service_requests_table', 1),
(98, '2026_03_29_075905_create_zone_business_dates_table', 1),
(99, '2026_04_01_220000_add_location_to_wecare_tickets_table', 1),
(100, '2026_04_02_012238_add_invoice_fields_to_service_requests_table', 1),
(101, '2026_04_03_014653_add_business_date_to_financial_tables', 1),
(102, '2026_04_05_170000_create_ticket_replies_table', 1),
(103, '2026_04_06_170443_rename_wecare_permissions_to_tickets', 1),
(104, '2026_04_06_210000_add_name_ar_to_ticket_tables', 1),
(105, '2026_04_07_000000_rename_default_columns_in_ticket_items', 1),
(106, '2026_04_07_001000_add_template_body_ar_to_ticket_items', 1),
(107, '2026_04_07_150000_add_bank_wallet_and_transfer_to_daily_closings_table', 1),
(108, '2026_04_07_171500_enforce_cashier_shift_zone_constraints', 1),
(109, '2026_04_07_234826_add_wallet_and_transfer_to_bank_transactions_source_type', 1),
(110, '2026_04_08_030812_add_tickets_reports_view_permission', 1),
(111, '2026_04_10_000455_add_guest_fields_to_tickets_table', 1),
(112, '2026_04_10_124535_add_is_guest_ticket_to_tickets_table', 1),
(113, '2026_04_10_124705_add_type_to_contacts_table', 1),
(114, '2026_04_10_124826_create_contact_ticket_table', 1),
(115, '2026_04_10_205852_add_contact_id_to_ticket_replies_table', 1),
(116, '2026_04_10_232921_make_user_id_nullable_in_ticket_replies', 1),
(117, '2026_04_11_020927_make_changed_by_nullable_in_ticket_status_history', 1),
(118, '2026_04_11_104036_add_origin_to_tickets_table', 1),
(119, '2026_04_12_150001_create_menu_categories_table', 1),
(120, '2026_04_12_150002_create_menu_items_table', 1),
(121, '2026_04_12_150003_create_featured_items_table', 1),
(122, '2026_04_12_200000_add_card_overrides_to_featured_items_table', 1),
(123, '2026_04_12_224221_add_booking_limits_to_menu_items_table', 1),
(124, '2026_04_12_231641_create_carts_table', 1),
(125, '2026_04_12_231642_create_cart_items_table', 1),
(126, '2026_04_13_001746_create_orders_table', 1),
(127, '2026_04_13_001747_create_order_items_table', 1),
(128, '2026_04_14_012242_add_order_id_to_payments_table', 1),
(129, '2026_04_14_013216_add_invoice_fields_to_orders_table', 1),
(130, '2026_04_14_014806_make_service_request_id_nullable_in_payments_table', 1),
(131, '2026_04_18_130000_add_featured_item_to_cart_items', 1),
(132, '2026_04_20_000001_fix_carts_expires_at_column', 1),
(133, '2026_04_20_000002_add_preferred_time_to_orders_table', 1),
(134, '2026_04_20_000003_add_scheduling_fields_to_orders_table', 1),
(135, '2026_04_20_000004_add_priority_to_orders_table', 1),
(136, '2026_04_20_000005_update_legacy_payment_methods', 1),
(137, '2026_04_20_000006_convert_payment_method_to_int', 1),
(138, '2026_04_22_130000_fix_service_category_zone_foreign_key', 1),
(139, '2026_04_22_235107_add_is_visible_to_guest_to_ticket_items_table', 1),
(140, '2026_04_23_100000_add_outlet_id_to_orders_table', 1),
(141, '2026_04_23_100001_add_status_and_refunded_to_order_items', 1),
(142, '2026_04_23_101509_add_is_visible_to_guest_to_ticket_categories_table', 1),
(143, '2026_04_24_012611_create_user_permission_overrides_table', 1),
(144, '2026_04_25_010000_fix_refund_payment_type', 1),
(145, '2026_04_25_010500_recalculate_shift_totals', 1),
(146, '2026_04_25_120000_fix_payment_business_date', 1),
(147, '2026_04_25_170001_make_service_requests_requested_by_nullable', 1),
(148, '2026_04_25_170002_add_origin_to_service_requests', 1),
(149, '2026_04_25_170003_add_is_visible_to_guest_to_service_items', 1),
(150, '2026_04_25_170004_make_contacts_address_nullable', 1),
(151, '2026_04_25_170005_make_service_requests_requested_by_nullable', 1),
(152, '2026_04_26_210000_add_tickets_dashboard_permission', 1),
(153, '2026_04_27_013913_add_float_used_to_cashier_shifts_table', 1),
(154, '2026_04_27_120000_create_float_issuances_table', 1),
(155, '2026_04_27_233213_add_float_issuance_out_to_house_fund_transactions_type', 1),
(156, '2026_04_28_024235_add_float_resolution_to_cashier_shifts_table', 1),
(157, '2026_04_28_170000_create_sessions_table_if_not_exists', 1),
(158, '2026_04_29_042000_add_float_return_in_to_house_fund_transactions_type', 1),
(159, '2026_04_29_163000_add_parent_float_id_to_float_issuances', 1),
(160, '2026_05_02_000001_add_missing_columns_to_departments_table', 1),
(161, '2026_05_02_010000_add_department_id_to_ticket_items_table', 1),
(162, '2026_05_02_010100_add_department_id_to_tickets_table', 1),
(163, '2026_05_02_042207_drop_category_columns_and_tables', 1),
(164, '2026_05_02_045136_add_department_id_to_menu_items_table', 1),
(165, '2026_05_02_120000_create_template_reply_department_table', 1),
(166, '2026_05_03_193541_create_menu_item_zone_table', 1),
(167, '2026_05_04_023406_create_featured_item_zone_table', 1),
(168, '2026_05_06_113010_create_landing_contents_table', 1),
(169, '2026_05_06_135640_add_show_on_landing_to_featured_items_table', 1),
(170, '2026_05_07_033311_add_unit_id_to_orders_table', 1),
(171, '2026_05_07_040151_drop_guest_room_from_orders_table', 1),
(172, '2026_05_09_103443_alter_orders_tax_rate_column', 1),
(173, '2026_05_10_182856_add_last_escalated_at_to_tickets_table', 1),
(174, '2026_05_10_184930_add_sla_minutes_to_ticket_items_table', 1),
(175, '2026_05_13_204110_add_department_id_to_menu_categories_table', 1),
(176, '2026_05_13_add_department_id_to_orders_table', 1),
(177, '2026_05_13_add_department_id_to_service_requests_table', 1),
(178, '2026_05_18_163221_create_adjustment_definitions_table', 1),
(179, '2026_05_18_163222_create_zone_adjustments_table', 1),
(180, '2026_05_18_163223_create_invoice_adjustments_table', 1),
(181, '2026_05_18_174431_enforce_morph_map_in_database', 1),
(182, '2026_05_18_182727_add_target_module_to_adjustment_definitions', 1),
(183, '2026_05_18_210024_remove_tax_from_service_items_and_requests', 1),
(184, '2026_05_18_214836_add_name_ar_and_target_module_to_adjustment_definitions', 1),
(185, '2026_05_20_000001_create_invoice_sequences_table', 1),
(186, '2026_05_20_000002_create_invoices_table', 1),
(187, '2026_05_20_200000_remove_invoice_fields_from_service_requests_table', 1),
(188, '2026_05_20_200001_remove_invoice_fields_from_orders_table', 1),
(189, '2026_05_20_214036_add_zone_id_to_service_items_table', 1),
(190, '2026_05_20_215409_make_zone_id_required_in_service_items_table', 1),
(191, '2026_05_20_221952_make_code_nullable_in_service_items_table', 1),
(192, '2026_05_21_000001_add_zone_id_to_payments_table', 1),
(193, '2026_05_21_000002_add_missing_zone_indexes', 1),
(194, '2026_05_21_000003_convert_menu_items_to_single_zone', 1),
(195, '2026_05_21_174216_convert_ticket_items_to_single_zone', 1),
(196, '2026_05_21_200123_fix_ticket_items_zone_id_nullable', 1),
(197, '2026_05_21_201333_remove_is_visible_to_guest_from_departments', 1),
(198, '2026_05_22_000001_add_display_type_to_featured_items', 1),
(199, '2026_05_22_000002_remove_show_on_landing_from_featured_items', 1),
(200, '2026_05_22_000003_change_display_type_to_integer', 1),
(201, '2026_05_23_042914_cleanup_old_permissions_after_unification', 2),
(203, '2026_05_23_050845_cleanup_reports_restructure', 3),
(204, '2026_05_26_194213_unify_status_to_inbox_status_v2', 4),
(205, '2026_06_04_020000_add_payload_to_landing_contents_table', 5),
(206, '2026_06_04_030000_create_site_settings_table', 6),
(207, '2026_06_04_212637_add_company_tagline_to_site_settings_table', 7),
(208, '2026_06_05_000001_add_guest_session_days_to_site_settings_table', 8),
(209, '2026_06_05_000002_add_guest_blocking_to_contacts_table', 8),
(211, '2026_06_05_000003_add_mail_transport_settings_to_site_settings_table', 9),
(212, '2026_06_08_211500_create_printer_agent_test_tables', 10),
(213, '2026_06_08_212300_add_order_context_to_print_jobs', 11),
(214, '2026_06_08_214200_add_trigger_flags_to_printer_agent_printers', 12),
(215, '2026_06_08_222500_add_zone_id_to_printer_agent_printers', 13),
(216, '2026_06_09_180000_add_business_date_sequence_to_orders', 14),
(217, '2026_06_09_203000_add_confirmation_actor_to_orders', 15),
(218, '2026_06_09_210000_create_payment_integration_settings_table', 16),
(219, '2026_06_09_211000_add_online_gateway_fields_to_payments', 16),
(220, '2026_06_10_131500_add_arabic_code_page_to_printer_agent_printers', 17),
(221, '2026_06_11_114500_add_max_image_upload_mb_to_site_settings_table', 18),
(222, '2026_06_11_140000_add_print_language_to_printer_agent_printers', 18),
(223, '2026_06_11_150000_add_outlet_routing_columns', 19),
(224, '2026_06_11_151000_grant_outlet_management_to_admin_role', 20),
(225, '2026_06_11_152000_add_room_service_outlet_type', 21),
(226, '2026_06_11_153000_create_outlet_service_points_table', 22),
(227, '2026_06_11_154000_add_order_context_flags_to_outlets', 23),
(228, '2026_06_12_120000_create_outlet_adjustments_table', 24),
(229, '2026_06_12_131000_add_operating_hours_to_outlets', 25),
(230, '2026_06_12_140000_add_system_timezone_to_site_settings_table', 26),
(231, '2026_06_12_141000_set_system_timezone_default_to_fixed_utc_3', 27),
(232, '2026_06_13_120000_add_outlet_id_to_service_items_table', 28),
(233, '2026_06_13_180000_add_printing_permissions', 29),
(234, '2026_06_13_181000_create_outlet_printer_assignments_table', 29),
(235, '2026_06_14_120000_create_printer_links_table', 30),
(236, '2026_06_14_130000_drop_legacy_outlet_printer_routing', 31),
(240, '2026_06_15_000001_prepare_orders_for_partitioning', 32),
(241, '2026_06_15_000002_prepare_print_jobs_for_partitioning', 32),
(242, '2026_06_15_000003_prepare_tickets_for_partitioning', 33),
(243, '2026_06_15_000004_create_archive_tables', 33),
(244, '2026_06_14_100000_create_pms_reservations_table', 34),
(245, '2026_06_14_110000_create_pms_reservation_action_logs_table', 34),
(246, '2026_06_15_010000_create_pms_rate_plans_table', 34),
(247, '2026_06_19_000002_add_survey_settings_to_site_settings_table', 35),
(248, '2026_06_19_000001_create_guest_surveys_tables', 35),
(249, '2026_06_19_000003_add_guest_survey_permissions', 36),
(250, '2026_06_19_000004_grant_guest_satisfaction_report_permissions', 37),
(251, '2026_06_19_000005_add_expires_at_to_guest_survey_instances', 38),
(252, '2026_06_19_000006_create_notifications_table', 39);

-- --------------------------------------------------------

--
-- Table structure for table `model_has_permissions`
--

DROP TABLE IF EXISTS `model_has_permissions`;
CREATE TABLE IF NOT EXISTS `model_has_permissions` (
  `permission_id` bigint UNSIGNED NOT NULL,
  `model_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `model_id` bigint UNSIGNED NOT NULL,
  PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `model_has_roles`
--

DROP TABLE IF EXISTS `model_has_roles`;
CREATE TABLE IF NOT EXISTS `model_has_roles` (
  `role_id` bigint UNSIGNED NOT NULL,
  `model_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `model_id` bigint UNSIGNED NOT NULL,
  PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `model_has_roles`
--

INSERT INTO `model_has_roles` (`role_id`, `model_type`, `model_id`) VALUES
(1, 'user', 1),
(2, 'user', 2),
(3, 'user', 9),
(4, 'user', 10),
(7, 'user', 11),
(11, 'user', 3),
(11, 'user', 13),
(12, 'user', 4),
(12, 'user', 12),
(12, 'user', 14),
(12, 'user', 15),
(14, 'user', 5),
(15, 'user', 6),
(16, 'user', 7),
(17, 'user', 8);

-- --------------------------------------------------------

--
-- Table structure for table `notifications`
--

DROP TABLE IF EXISTS `notifications`;
CREATE TABLE IF NOT EXISTS `notifications` (
  `id` char(36) COLLATE utf8mb4_unicode_ci NOT NULL,
  `type` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `notifiable_type` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `notifiable_id` bigint UNSIGNED NOT NULL,
  `data` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `read_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `notifications_notifiable_type_notifiable_id_index` (`notifiable_type`,`notifiable_id`),
  KEY `notifications_notifiable_id_index` (`notifiable_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `orders`
--

DROP TABLE IF EXISTS `orders`;
CREATE TABLE IF NOT EXISTS `orders` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `session_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `contact_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `business_date` date DEFAULT NULL,
  `zone_order_sequence` int UNSIGNED DEFAULT NULL,
  `unit_id` bigint UNSIGNED DEFAULT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `service_context_type` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `service_point_id` bigint UNSIGNED DEFAULT NULL,
  `service_location_label` varchar(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `subtotal` int UNSIGNED NOT NULL DEFAULT '0',
  `discount_total` int UNSIGNED NOT NULL DEFAULT '0',
  `service_fee` int UNSIGNED NOT NULL DEFAULT '0',
  `tax_total` int UNSIGNED NOT NULL DEFAULT '0',
  `grand_total` int UNSIGNED NOT NULL DEFAULT '0',
  `refunded_amount` bigint UNSIGNED NOT NULL DEFAULT '0',
  `service_fee_rate` decimal(5,4) NOT NULL DEFAULT '0.0000',
  `tax_rate` decimal(8,4) NOT NULL DEFAULT '0.1400',
  `currency` varchar(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'EGP',
  `coupon_code` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `customer_notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `fulfillment_type` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'asap',
  `priority` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'normal',
  `preferred_time` time DEFAULT NULL,
  `preferred_date` date DEFAULT NULL,
  `calculated_ready_at` datetime DEFAULT NULL,
  `prep_time_minutes_snapshot` smallint UNSIGNED DEFAULT NULL,
  `guest_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `guest_phone` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `guest_email` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `status` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `payment_status` enum('pending','processing','paid','failed','refunded') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending',
  `payment_method` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `payment_reference` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `payment_id` bigint UNSIGNED DEFAULT NULL,
  `item_count` int UNSIGNED NOT NULL DEFAULT '0',
  `unique_items` int UNSIGNED NOT NULL DEFAULT '0',
  `avg_item_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `source` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'guest_portal',
  `cart_id` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `confirmed_at` timestamp NULL DEFAULT NULL,
  `confirmed_by_user_id` bigint UNSIGNED DEFAULT NULL,
  `confirmed_by_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `confirmed_source` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `completed_at` timestamp NULL DEFAULT NULL,
  `cancelled_at` timestamp NULL DEFAULT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `orders_code_unique` (`code`),
  UNIQUE KEY `orders_zone_business_sequence_unique` (`zone_id`,`business_date`,`zone_order_sequence`),
  KEY `orders_cart_id_foreign` (`cart_id`),
  KEY `orders_session_id_index` (`session_id`),
  KEY `orders_user_id_index` (`user_id`),
  KEY `orders_payment_status_index` (`payment_status`),
  KEY `orders_source_index` (`source`),
  KEY `orders_fulfillment_type_index` (`fulfillment_type`),
  KEY `orders_calculated_ready_at_index` (`calculated_ready_at`),
  KEY `orders_priority_index` (`priority`),
  KEY `orders_payment_method_index` (`payment_method`),
  KEY `orders_unit_id_index` (`unit_id`),
  KEY `orders_department_id_foreign` (`department_id`),
  KEY `orders_business_date_index` (`business_date`),
  KEY `orders_confirmed_by_user_id_foreign` (`confirmed_by_user_id`),
  KEY `orders_service_point_id_foreign` (`service_point_id`),
  KEY `idx_orders_zone_status_date` (`zone_id`,`status`,`created_at`),
  KEY `idx_orders_outlet_status_date` (`outlet_id`,`status`,`created_at`),
  KEY `idx_orders_contact_date` (`contact_id`,`created_at`),
  KEY `idx_orders_unit_status_date` (`unit_id`,`status`,`created_at`),
  KEY `idx_orders_payment_status_date` (`payment_status`,`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=82 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `orders`
--

INSERT INTO `orders` (`id`, `code`, `session_id`, `user_id`, `contact_id`, `zone_id`, `business_date`, `zone_order_sequence`, `unit_id`, `outlet_id`, `service_context_type`, `service_point_id`, `service_location_label`, `subtotal`, `discount_total`, `service_fee`, `tax_total`, `grand_total`, `refunded_amount`, `service_fee_rate`, `tax_rate`, `currency`, `coupon_code`, `notes`, `customer_notes`, `fulfillment_type`, `priority`, `preferred_time`, `preferred_date`, `calculated_ready_at`, `prep_time_minutes_snapshot`, `guest_name`, `guest_phone`, `guest_email`, `status`, `payment_status`, `payment_method`, `payment_reference`, `payment_id`, `item_count`, `unique_items`, `avg_item_price`, `source`, `cart_id`, `created_at`, `updated_at`, `confirmed_at`, `confirmed_by_user_id`, `confirmed_by_name`, `confirmed_source`, `completed_at`, `cancelled_at`, `department_id`) VALUES
(1, 'ORD-T0TE3HSW', NULL, 1, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4000, 0, 0, 0, 5768, 4000, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'يييييي', '', NULL, 4, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-05-23 12:04:08', '2026-05-24 05:25:14', NULL, NULL, NULL, NULL, '2026-05-24 05:25:14', NULL, NULL),
(2, 'ORD-5Z4BMV1D', NULL, 1, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 6418, 4500, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '1111', '', NULL, 6, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-05-23 17:00:31', '2026-05-24 03:29:31', NULL, NULL, NULL, NULL, NULL, '2026-05-23 17:00:55', NULL),
(3, 'ORD-UUVBTKMN', NULL, 1, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 13000, 0, 0, 0, 17464, 17464, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'ققققققققققق', '', NULL, 4, 'pending', 1, NULL, NULL, 2, 2, '0.00', 'guest_portal', NULL, '2026-05-23 17:08:17', '2026-05-24 03:12:13', NULL, NULL, NULL, NULL, '2026-05-24 03:12:13', NULL, NULL),
(4, 'ORD-E17QTTNH', NULL, 1, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4000, 0, 0, 0, 5768, 5768, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'dddddddd', '', NULL, 4, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-05-24 03:49:59', '2026-05-24 05:25:34', NULL, NULL, NULL, NULL, '2026-05-24 05:25:34', NULL, NULL),
(5, 'ORD-3POEKBEY', NULL, 1, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 5500, 0, 0, 0, 7717, 7717, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'rr', '', NULL, 6, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-05-24 05:00:24', '2026-05-24 05:00:37', NULL, NULL, NULL, NULL, NULL, '2026-05-24 05:00:37', NULL),
(6, 'ORD-RTH4JARE', NULL, 1, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4000, 0, 0, 0, 5768, 5768, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'dddd', '', NULL, 6, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-05-24 05:12:04', '2026-05-24 05:12:13', NULL, NULL, NULL, NULL, NULL, '2026-05-24 05:12:13', NULL),
(7, 'ORD-C9MSCGNF', NULL, 1, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 6418, 6418, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'dfsdfsd', '', NULL, 6, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-05-24 05:14:00', '2026-05-24 05:14:07', NULL, NULL, NULL, NULL, NULL, '2026-05-24 05:14:07', NULL),
(8, 'ORD-260523-SKMD', '05aUavZWr9ohmKyNdbBIzO6G6PPEoHES14mSyGE3', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 10000, 0, 3566, 0, 13566, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-24 12:03:25', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 2, 2, '50.00', 'guest_portal', 1, '2026-05-24 11:33:25', '2026-05-24 11:33:25', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(9, 'ORD-260523-OSXQ', 'lbAC3nvo1tmNNg2YPesrltXUgetg9WwGkZIn3fDt', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 1200, 0, 5700, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-24 12:06:02', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '45.00', 'guest_portal', 2, '2026-05-24 11:36:02', '2026-05-24 11:36:02', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(10, 'ORD-260523-253V', 'lbAC3nvo1tmNNg2YPesrltXUgetg9WwGkZIn3fDt', NULL, NULL, 1, NULL, NULL, 15, NULL, NULL, NULL, NULL, 24500, 0, 7910, 0, 32410, 32410, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-24 14:13:12', 30, 'Taha', '1200250791', '', 6, 'paid', 1, NULL, NULL, 6, 3, '58.33', 'guest_portal', 3, '2026-05-24 13:43:12', '2026-06-15 11:38:13', NULL, NULL, NULL, NULL, NULL, '2026-06-15 11:38:13', NULL),
(11, 'ORD-260523-WAMX', 'UDeLp4ZU9EnoZ03xfNpId1Jq0g0k2xW3acQoTuXj', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 24500, 0, 4000, 0, 28500, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-24 14:44:20', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 5, 4, '52.50', 'guest_portal', 4, '2026-05-24 11:14:20', '2026-05-24 11:14:20', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(12, 'ORD-260523-N4VI', 'UDeLp4ZU9EnoZ03xfNpId1Jq0g0k2xW3acQoTuXj', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 3500, 0, 1060, 0, 4560, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-24 14:54:15', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '35.00', 'guest_portal', 5, '2026-05-24 11:24:15', '2026-05-24 11:24:15', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(13, 'ORD-260523-KS54', 'UDeLp4ZU9EnoZ03xfNpId1Jq0g0k2xW3acQoTuXj', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 3500, 0, 1060, 0, 4560, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-24 14:58:50', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '35.00', 'guest_portal', 6, '2026-05-24 11:28:50', '2026-05-24 11:28:50', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(14, 'ORD-260523-KX0D', '9IRylClkFsYofKVrg9gHFLO1cGuagm54si7Qoyd2', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 5500, 0, 1340, 0, 6840, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-29 14:55:39', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '55.00', 'guest_portal', 8, '2026-05-29 11:25:39', '2026-05-29 11:25:39', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(15, 'ORD-260523-MXL5', 'oLXv3FrAJHLfQwlKeEiQNXJEjlo0hTi5vG3NCDsK', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 2000, 0, 850, 0, 2850, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-30 18:14:25', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '20.00', 'guest_portal', 10, '2026-05-30 14:44:25', '2026-05-30 14:44:25', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(16, 'ORD-260523-HJ6Y', 'NVX0wYAxsH4eTHkqjMZtRtVXYrg32VpTtvwJweyE', NULL, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 1500, 0, 780, 0, 2280, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-05-30 22:33:44', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '15.00', 'guest_portal', 11, '2026-05-30 19:03:44', '2026-05-30 19:03:44', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(17, 'ORD-260524-EDZT', 'gw5T1uzi1kFP2OmS6F2bz0MqHrJzGM1agR7jp5cZ', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 21000, 0, 3510, 0, 24510, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-04 23:13:54', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 6, 1, '35.00', 'guest_portal', 12, '2026-06-04 19:43:54', '2026-06-04 19:43:54', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(18, 'ORD-260524-IDVY', 'gw5T1uzi1kFP2OmS6F2bz0MqHrJzGM1agR7jp5cZ', NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 11000, 0, 2110, 0, 13110, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-05 01:30:52', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 2, 1, '55.00', 'guest_portal', 13, '2026-06-04 22:00:52', '2026-06-04 22:00:52', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(19, 'ORD-260524-AQIJ', 'KiEDqw7ciIYPbjzrSxIYC8vTfsMnnfBgXPRDIDOZ', NULL, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 4500, 0, 1200, 0, 5700, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-06 02:07:42', 30, 'Taha', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '45.00', 'guest_portal', 14, '2026-06-06 01:37:42', '2026-06-06 01:37:42', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(20, 'ORD-260524-OVA3', 'YUCSbZZIzWmLJd6KbOWxyU5bi3KnEXYUcx3vYL1a', NULL, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 9000, 0, 1830, 0, 10830, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-06 02:17:11', 30, 'Taha Eid', '1200250791', '', 1, 'pending', 1, NULL, NULL, 3, 3, '30.00', 'guest_portal', 15, '2026-06-06 01:47:11', '2026-06-06 01:47:11', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(21, 'ORD-260524-ZQSP', 'EfnZD2Vlc0SdgXlynHjEye4oQuENGBAggUJIPfHY', NULL, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 11500, 0, 2180, 0, 13680, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-06 02:24:20', 30, 'Mostafa Elsaadany ', '1224289190', 'melsaadany@acapitalholding.com', 1, 'pending', 1, NULL, NULL, 4, 4, '28.75', 'guest_portal', 16, '2026-06-06 01:54:20', '2026-06-06 01:54:20', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(22, 'ORD-QBNJ0XQ3', NULL, 2, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 27500, 5000, 4420, 0, 26920, 2321, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'mostafa', '', NULL, 4, 'paid', 1, NULL, NULL, 6, 6, '0.00', 'guest_portal', NULL, '2026-06-06 02:25:22', '2026-06-06 02:37:02', NULL, NULL, NULL, NULL, '2026-06-06 02:33:40', NULL, NULL),
(23, 'ORD-260524-1RWE', 'EfnZD2Vlc0SdgXlynHjEye4oQuENGBAggUJIPfHY', NULL, NULL, 1, NULL, NULL, 14, NULL, NULL, NULL, NULL, 15000, 0, 2670, 0, 17670, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-06 03:19:48', 30, 'Mostafa Elsaadany', '1117076651', 'melsaadany@acapitalholding.com', 1, 'pending', 1, NULL, NULL, 2, 1, '75.00', 'guest_portal', 17, '2026-06-06 02:49:48', '2026-06-06 02:49:48', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(24, 'ORD-PRINT-ITGKO', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:28:32', '2026-06-08 18:28:32', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(25, 'ORD-PRINT-2NMBW', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:29:10', '2026-06-08 18:29:10', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(26, 'ORD-PRINT-JYAL2', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:29:44', '2026-06-08 18:29:44', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(27, 'ORD-PRINT-N49S8', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 1200, 0, 5700, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 21, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:35:34', '2026-06-08 18:37:01', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(28, 'ORD-PRINT-IRDKR', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:40:56', '2026-06-08 18:40:56', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(29, 'ORD-PRINT-FVVDQ', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:42:10', '2026-06-08 18:42:10', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(30, 'ORD-YLYSKNKH', NULL, 2, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 6000, 0, 0, 0, 7409, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'taha', '012', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-08 18:43:42', '2026-06-08 18:43:42', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(31, 'ORD-IIGWONQ7', NULL, 2, NULL, 1, NULL, NULL, 9, NULL, NULL, NULL, NULL, 22500, 0, 0, 0, 26220, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Taha', '1233', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-08 18:52:05', '2026-06-08 18:52:05', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(32, 'ORD-PRINT-AWFME', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:56:59', '2026-06-08 18:56:59', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(33, 'ORD-PRINT-EZRIB', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 18:57:12', '2026-06-08 18:57:12', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(34, 'ORD-P9XS3DAT', NULL, 2, NULL, 1, NULL, NULL, 3, NULL, NULL, NULL, NULL, 2000, 0, 0, 0, 2850, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '11', '', NULL, 4, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-08 19:13:20', '2026-06-08 19:14:37', NULL, NULL, NULL, NULL, '2026-06-08 19:14:37', NULL, NULL),
(35, 'ORD-GOOOTCCX', NULL, 2, NULL, 1, NULL, NULL, 5, NULL, NULL, NULL, NULL, 4000, 0, 0, 0, 5130, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '00', '', NULL, 20, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-08 19:18:21', '2026-06-08 19:18:28', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(36, 'ORD-OCJVFZWH', NULL, 2, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 7500, 0, 0, 0, 9120, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '11', '111', NULL, 20, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-08 19:20:36', '2026-06-08 19:20:45', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(37, 'ORD-CVQNTLOI', NULL, 2, NULL, 1, NULL, NULL, 3, NULL, NULL, NULL, NULL, 4000, 0, 0, 0, 5130, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'dddd', '', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-08 22:04:10', '2026-06-08 22:04:10', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(38, 'ORD-EIFIXRGB', NULL, 2, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 14500, 0, 0, 0, 17100, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'ggg', '', NULL, 20, 'pending', 1, NULL, NULL, 3, 3, '0.00', 'guest_portal', NULL, '2026-06-08 22:07:51', '2026-06-08 22:08:11', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(39, 'ORD-APB6ZF4X', NULL, 2, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 2800, 0, 0, 0, 3761, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '555', '', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-08 22:13:36', '2026-06-08 22:13:36', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(40, 'ORD-PRINT-A671K', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 0, 0, 4500, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-08 22:49:25', '2026-06-08 22:49:25', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(41, 'ORD-ZNWXETC5', NULL, 2, NULL, 1, NULL, NULL, 2, NULL, NULL, NULL, NULL, 2000, 0, 0, 0, 2850, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'لتلبتلتلا', '121', NULL, 20, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-09 11:38:21', '2026-06-09 11:47:27', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(42, 'ORD-86GGJKOP', NULL, 2, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 2800, 0, 0, 0, 3761, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'اتالتالت', 'لاتلاتلا', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-09 11:48:13', '2026-06-09 11:48:13', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(43, 'ORD-PRINT-T6LP0', NULL, NULL, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 4500, 0, 1918, 0, 6418, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-09 11:51:39', '2026-06-14 12:35:31', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(44, 'ORD-X0PD2UNW', NULL, 2, NULL, 1, '2026-05-26', 13, 2, NULL, NULL, NULL, NULL, 2800, 0, 0, 0, 3761, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'بابابل', '', NULL, 20, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-09 11:52:40', '2026-06-14 15:54:14', '2026-06-14 15:54:14', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(45, 'ORD-PRINT-BSYMQ', NULL, NULL, NULL, 1, '2026-05-26', 7, 1, NULL, NULL, NULL, NULL, 4500, 0, 1918, 0, 6418, 0, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 20, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-09 11:55:03', '2026-06-14 12:37:27', '2026-06-14 12:37:27', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(46, 'ORD-PRINT-YKERJ', NULL, NULL, NULL, 1, '2026-05-26', 8, 1, NULL, NULL, NULL, NULL, 4500, 0, 1200, 0, 5700, 5700, '0.0000', '0.0000', 'EGP', NULL, 'Created from printer-agent:create-real-order-test', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Printer Test Guest', '01000000000', NULL, 6, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'printer_test', NULL, '2026-06-09 11:58:48', '2026-06-14 13:25:19', NULL, 2, 'Admin User', 'cashier_payment', NULL, '2026-06-14 13:25:19', NULL),
(47, 'ORD-5RCJWBLD', NULL, 2, NULL, 1, NULL, NULL, 1, NULL, NULL, NULL, NULL, 7500, 0, 0, 0, 9120, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '5555', '', NULL, 20, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-09 16:29:43', '2026-06-09 16:43:04', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(48, 'ORD-RDA11HPZ', NULL, 2, NULL, 1, '2026-05-25', 3, 1, NULL, NULL, NULL, NULL, 6000, 0, 0, 0, 7409, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '55515', '51515', NULL, 20, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-09 16:43:38', '2026-06-11 10:34:59', NULL, 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(49, 'ORD-VNO0U67M', NULL, 2, NULL, 1, '2026-05-25', 1, 1, NULL, NULL, NULL, NULL, 7500, 0, 0, 0, 9120, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'يبلاتنم', '', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-09 17:01:14', '2026-06-09 17:01:14', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(50, 'ORD-260525-PADY', 'isttOWBUIlWcR8uwXV703ciL7UcotpNRK8UCmC62', NULL, NULL, 1, '2026-05-25', 2, 2, NULL, NULL, NULL, NULL, 5500, 0, 1340, 0, 6840, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-09 22:16:28', 30, 'Taha Eid', '1200250791', '', 1, 'pending', 1, NULL, NULL, 1, 1, '55.00', 'guest_portal', 20, '2026-06-09 18:46:28', '2026-06-09 18:46:28', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(66, 'ORD-5BWZRJHH', NULL, 2, NULL, 1, '2026-05-26', 1, NULL, 1, 'table', 9, 'Table 8', 17900, 0, 3076, 0, 20976, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'فففففف', NULL, NULL, 1, 'pending', 1, NULL, NULL, 6, 6, '0.00', 'guest_portal', NULL, '2026-06-12 16:54:53', '2026-06-14 13:45:12', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(53, 'ORD-WITPHCQQ', NULL, 2, NULL, 1, '2026-05-25', 6, NULL, 1, 'table', 2, 'Table 1', 88500, 0, 0, 0, 101460, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'test', '', NULL, 20, 'paid', 1, NULL, NULL, 5, 5, '0.00', 'guest_portal', NULL, '2026-06-12 11:42:45', '2026-06-12 11:51:02', '2026-06-12 11:51:02', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(59, 'ORD-F4BPDXZN', NULL, 2, NULL, 1, '2026-05-25', 10, NULL, 1, 'table', 2, 'Table 1', 31500, 0, 4980, 0, 36480, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'fhfhfh', '', NULL, 4, 'paid', 1, NULL, NULL, 11, 11, '0.00', 'guest_portal', NULL, '2026-06-12 12:24:09', '2026-06-12 13:55:47', '2026-06-12 13:55:24', 2, 'Admin User', 'cashier_payment', '2026-06-12 13:55:47', NULL, NULL),
(68, 'ORD-WWMPPAWQ', NULL, 2, NULL, 1, '2026-05-26', 3, NULL, 1, 'table', 8, 'Table 7', 9800, 0, 0, 0, 21742, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'تنمتمنت', '', NULL, 20, 'paid', 1, NULL, NULL, 3, 3, '0.00', 'guest_portal', NULL, '2026-06-13 13:23:11', '2026-06-13 13:23:25', '2026-06-13 13:23:25', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(67, 'ORD-0XSDHVLH', NULL, 2, NULL, 1, '2026-05-26', 2, 1, 16, 'room_service', NULL, 'Room 101', 4000, 0, 0, 0, 4560, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'البابلا', '', NULL, 20, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-13 13:22:21', '2026-06-13 13:22:37', '2026-06-13 13:22:37', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(69, 'ORD-AU0GA7TH', NULL, 2, NULL, 1, '2026-05-26', 4, NULL, 1, 'table', 5, 'Table 4', 15700, 0, 12768, 0, 28468, 13500, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Taha', '0120', NULL, 20, 'paid', 1, NULL, NULL, 4, 4, '0.00', 'guest_portal', NULL, '2026-06-13 18:21:09', '2026-06-13 20:24:45', '2026-06-13 20:22:06', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(70, 'ORD-GLI5APUK', NULL, 2, NULL, 1, '2026-05-26', 5, NULL, 1, 'table', 5, 'Table 4', 48000, 0, 0, 0, 65290, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'taha', NULL, NULL, 20, 'paid', 1, NULL, NULL, 11, 11, '0.00', 'guest_portal', NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11', '2026-06-14 13:27:11', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(71, 'ORD-NYX8GYB3', NULL, 2, NULL, 1, '2026-05-26', 6, NULL, 1, 'table', 11, 'Table 10', 78900, 0, 0, 0, 100516, 78900, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '2510', '', NULL, 6, 'pending', 1, NULL, NULL, 18, 18, '0.00', 'guest_portal', NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07', NULL, NULL, NULL, NULL, NULL, '2026-06-14 12:33:07', NULL),
(72, 'ORD-NKBTLW7B', NULL, 2, NULL, 1, '2026-05-26', 9, 2, 16, 'room_service', NULL, 'Room 102', 65500, 0, 0, 0, 84670, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'taha', '', NULL, 1, 'pending', 1, NULL, NULL, 3, 3, '0.00', 'guest_portal', NULL, '2026-06-14 13:34:12', '2026-06-14 13:34:12', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(73, 'ORD-KJZRLIDH', NULL, 2, NULL, 1, '2026-05-26', 10, NULL, 1, 'table', 2, 'Table 1', 2500, 0, 0, 0, 3420, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'فففففف', '', NULL, 20, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-14 13:46:03', '2026-06-14 13:46:10', '2026-06-14 13:46:10', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(74, 'ORD-ZIFI88BD', NULL, 2, NULL, 1, '2026-05-26', 11, NULL, 1, 'table', 3, 'Table 2', 2500, 0, 0, 0, 3420, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'mm', '', NULL, 20, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-14 13:49:53', '2026-06-14 13:50:01', '2026-06-14 13:50:01', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(75, 'ORD-XXXCAJQ4', NULL, 2, NULL, 1, '2026-05-26', 12, 1, 16, 'room_service', NULL, 'Room 101', 7500, 0, 0, 0, 18550, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '524', '', NULL, 20, 'paid', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-14 13:50:23', '2026-06-14 13:50:30', '2026-06-14 13:50:30', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(76, 'ORD-260526-NFRS', '7GEtAuJomVZGc6TYmri1smP12v6qrUYi0XAu2ZIn', NULL, NULL, 1, '2026-05-26', 14, 1, 16, 'room_service', NULL, 'Room 101', 7500, 0, 11050, 0, 18550, 0, '0.0000', '0.1400', 'EGP', NULL, NULL, '', 'asap', 'normal', NULL, NULL, '2026-06-14 18:41:16', 30, 'Ziad Tarek', '1000205146', '', 1, 'pending', 1, NULL, NULL, 1, 1, '75.00', 'guest_portal', 22, '2026-06-14 18:11:16', '2026-06-14 18:11:16', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(77, 'ORD-NORTY86P', NULL, 2, NULL, 1, '2026-05-26', 15, NULL, 1, 'table', 5, 'Table 4', 7500, 0, 0, 0, 9120, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'Taha', '01200000', NULL, 20, 'paid', 1, NULL, NULL, 2, 2, '0.00', 'guest_portal', NULL, '2026-06-14 18:15:41', '2026-06-14 18:15:58', '2026-06-14 18:15:58', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(78, 'ORD-YCU44DII', NULL, 2, NULL, 1, '2026-05-26', 16, NULL, 1, 'table', 5, 'Table 4', 16700, 0, 0, 0, 19608, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '123', '', NULL, 1, 'pending', 1, NULL, NULL, 3, 3, '0.00', 'guest_portal', NULL, '2026-06-14 18:25:28', '2026-06-14 18:25:28', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(79, 'ORD-NXE01288', NULL, 2, NULL, 1, '2026-05-26', 17, NULL, 1, 'table', 4, 'Table 3', 2500, 0, 0, 0, 3420, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, 'gjgf', '', NULL, 1, 'pending', 1, NULL, NULL, 1, 1, '0.00', 'guest_portal', NULL, '2026-06-14 18:25:50', '2026-06-14 18:25:50', NULL, NULL, NULL, NULL, NULL, NULL, NULL),
(80, 'ORD-AACLKXWB', NULL, 2, NULL, 1, '2026-05-31', 1, NULL, 1, 'table', 4, 'Table 3', 11300, 0, 0, 0, 13452, 0, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '12131', '', NULL, 20, 'paid', 1, NULL, NULL, 4, 4, '0.00', 'guest_portal', NULL, '2026-06-18 17:34:12', '2026-06-18 17:34:24', '2026-06-18 17:34:24', 2, 'Admin User', 'cashier_payment', NULL, NULL, NULL),
(81, 'ORD-DDABSVLC', NULL, 2, NULL, 1, '2026-05-31', 2, NULL, 1, 'table', 4, 'Table 3', 6300, 0, 0, 0, 7752, 7752, '0.0000', '0.0000', 'EGP', NULL, '', NULL, 'asap', 'normal', NULL, NULL, NULL, NULL, '12131', '', NULL, 6, 'paid', 1, NULL, NULL, 2, 2, '0.00', 'guest_portal', NULL, '2026-06-18 17:34:58', '2026-06-18 17:41:19', '2026-06-18 17:35:34', 2, 'Admin User', 'cashier_payment', '2026-06-18 17:40:36', '2026-06-18 17:41:19', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `orders_archive`
--

DROP TABLE IF EXISTS `orders_archive`;
CREATE TABLE IF NOT EXISTS `orders_archive` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `session_id` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `contact_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `business_date` date DEFAULT NULL,
  `zone_order_sequence` int UNSIGNED DEFAULT NULL,
  `unit_id` bigint UNSIGNED DEFAULT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `service_context_type` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `service_point_id` bigint UNSIGNED DEFAULT NULL,
  `service_location_label` varchar(120) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `subtotal` int UNSIGNED NOT NULL DEFAULT '0',
  `discount_total` int UNSIGNED NOT NULL DEFAULT '0',
  `service_fee` int UNSIGNED NOT NULL DEFAULT '0',
  `tax_total` int UNSIGNED NOT NULL DEFAULT '0',
  `grand_total` int UNSIGNED NOT NULL DEFAULT '0',
  `refunded_amount` bigint UNSIGNED NOT NULL DEFAULT '0',
  `service_fee_rate` decimal(5,4) NOT NULL DEFAULT '0.0000',
  `tax_rate` decimal(8,4) NOT NULL DEFAULT '0.1400',
  `currency` varchar(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'EGP',
  `coupon_code` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `customer_notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `fulfillment_type` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'asap',
  `priority` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'normal',
  `preferred_time` time DEFAULT NULL,
  `preferred_date` date DEFAULT NULL,
  `calculated_ready_at` datetime DEFAULT NULL,
  `prep_time_minutes_snapshot` smallint UNSIGNED DEFAULT NULL,
  `guest_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `guest_phone` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `guest_email` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `status` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `payment_status` enum('pending','processing','paid','failed','refunded') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending',
  `payment_method` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `payment_reference` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `payment_id` bigint UNSIGNED DEFAULT NULL,
  `item_count` int UNSIGNED NOT NULL DEFAULT '0',
  `unique_items` int UNSIGNED NOT NULL DEFAULT '0',
  `avg_item_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `source` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'guest_portal',
  `cart_id` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `confirmed_at` timestamp NULL DEFAULT NULL,
  `confirmed_by_user_id` bigint UNSIGNED DEFAULT NULL,
  `confirmed_by_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `confirmed_source` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `completed_at` timestamp NULL DEFAULT NULL,
  `cancelled_at` timestamp NULL DEFAULT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `archived_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `orders_code_unique` (`code`),
  UNIQUE KEY `orders_zone_business_sequence_unique` (`zone_id`,`business_date`,`zone_order_sequence`),
  KEY `orders_cart_id_foreign` (`cart_id`),
  KEY `orders_session_id_index` (`session_id`),
  KEY `orders_user_id_index` (`user_id`),
  KEY `orders_payment_status_index` (`payment_status`),
  KEY `orders_source_index` (`source`),
  KEY `orders_fulfillment_type_index` (`fulfillment_type`),
  KEY `orders_calculated_ready_at_index` (`calculated_ready_at`),
  KEY `orders_priority_index` (`priority`),
  KEY `orders_payment_method_index` (`payment_method`),
  KEY `orders_unit_id_index` (`unit_id`),
  KEY `orders_department_id_foreign` (`department_id`),
  KEY `orders_business_date_index` (`business_date`),
  KEY `orders_confirmed_by_user_id_foreign` (`confirmed_by_user_id`),
  KEY `orders_service_point_id_foreign` (`service_point_id`),
  KEY `idx_orders_zone_status_date` (`zone_id`,`status`,`created_at`),
  KEY `idx_orders_outlet_status_date` (`outlet_id`,`status`,`created_at`),
  KEY `idx_orders_contact_date` (`contact_id`,`created_at`),
  KEY `idx_orders_unit_status_date` (`unit_id`,`status`,`created_at`),
  KEY `idx_orders_payment_status_date` (`payment_status`,`created_at`),
  KEY `idx_archived_at` (`archived_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `order_items`
--

DROP TABLE IF EXISTS `order_items`;
CREATE TABLE IF NOT EXISTS `order_items` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `order_id` bigint UNSIGNED NOT NULL,
  `menu_item_id` bigint UNSIGNED NOT NULL,
  `item_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `item_name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `quantity` int UNSIGNED NOT NULL DEFAULT '1',
  `unit_price` int UNSIGNED NOT NULL DEFAULT '0',
  `line_discount` int UNSIGNED NOT NULL DEFAULT '0',
  `line_total` int UNSIGNED NOT NULL DEFAULT '0',
  `special_instructions` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `is_featured` tinyint(1) NOT NULL DEFAULT '0',
  `category_id` bigint UNSIGNED DEFAULT NULL,
  `status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending',
  `refunded_qty` int NOT NULL DEFAULT '0',
  `variant_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_items_category_id_foreign` (`category_id`),
  KEY `order_items_order_id_index` (`order_id`),
  KEY `order_items_menu_item_id_index` (`menu_item_id`),
  KEY `order_items_status_index` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=158 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `order_items`
--

INSERT INTO `order_items` (`id`, `order_id`, `menu_item_id`, `item_name`, `item_name_ar`, `quantity`, `unit_price`, `line_discount`, `line_total`, `special_instructions`, `metadata`, `is_featured`, `category_id`, `status`, `refunded_qty`, `variant_name`, `created_at`, `updated_at`) VALUES
(1, 1, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-23 12:04:08', '2026-05-23 17:06:45'),
(2, 2, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-23 17:00:31', '2026-05-23 17:00:55'),
(3, 3, 1, 'Koshary', 'كشري', 2, 4500, 0, 9000, '', NULL, 0, 1, 'cancelled', 2, NULL, '2026-05-23 17:08:17', '2026-05-23 17:08:47'),
(4, 3, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-23 17:08:17', '2026-05-23 17:08:35'),
(5, 4, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-24 03:49:59', '2026-05-24 03:50:07'),
(6, 5, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 1, 5500, 0, 5500, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-24 05:00:24', '2026-05-24 05:00:37'),
(7, 6, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-24 05:12:04', '2026-05-24 05:12:13'),
(8, 7, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-24 05:14:00', '2026-05-24 05:14:07'),
(9, 8, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 1, 5500, 0, 5500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-24 11:33:25', '2026-05-24 11:33:25'),
(10, 8, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-24 11:33:25', '2026-05-24 11:33:25'),
(11, 9, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-24 11:36:02', '2026-05-24 11:36:02'),
(12, 10, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 2, 5500, 0, 11000, NULL, NULL, 0, 1, 'refunded', 2, NULL, '2026-05-24 13:43:12', '2026-06-15 11:37:55'),
(13, 10, 1, 'Koshary', 'كشري', 3, 4500, 0, 13500, NULL, NULL, 0, 1, 'refunded', 3, NULL, '2026-05-24 13:43:12', '2026-06-15 11:38:13'),
(14, 10, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, NULL, NULL, 0, 1, 'cancelled', 1, NULL, '2026-05-24 13:43:12', '2026-05-24 21:48:27'),
(15, 11, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 1, 5500, 0, 5500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-24 11:14:20', '2026-05-24 11:14:20'),
(16, 11, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-24 11:14:20', '2026-05-24 11:14:20'),
(17, 11, 26, 'Umm Ali', 'أم علي', 2, 3500, 0, 7000, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-05-24 11:14:20', '2026-05-24 11:14:20'),
(18, 11, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-24 11:14:20', '2026-05-24 11:14:20'),
(19, 12, 26, 'Umm Ali', 'أم علي', 1, 3500, 0, 3500, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-05-24 11:24:15', '2026-05-24 11:24:15'),
(20, 13, 26, 'Umm Ali', 'أم علي', 1, 3500, 0, 3500, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-05-24 11:28:50', '2026-05-24 11:28:50'),
(21, 14, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 1, 5500, 0, 5500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-29 11:25:39', '2026-05-29 11:25:39'),
(22, 15, 2, 'Falafel (Taameya)', 'طعمية', 1, 2000, 0, 2000, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-05-30 14:44:25', '2026-05-30 14:44:25'),
(23, 16, 16, 'Egyptian Tea', 'شاي مصري', 1, 1500, 0, 1500, NULL, NULL, 0, 2, 'pending', 0, NULL, '2026-05-30 19:03:44', '2026-05-30 19:03:44'),
(24, 17, 26, 'Umm Ali', 'أم علي', 6, 3500, 0, 21000, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-06-04 19:43:54', '2026-06-04 19:43:54'),
(25, 18, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 2, 5500, 0, 11000, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-06-04 22:00:52', '2026-06-04 22:00:52'),
(26, 19, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-06-06 01:37:42', '2026-06-06 01:37:42'),
(27, 20, 31, 'Waffle', 'وافل', 1, 4000, 0, 4000, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-06-06 01:47:11', '2026-06-06 01:47:11'),
(28, 20, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-06-06 01:47:11', '2026-06-06 01:47:11'),
(29, 20, 32, 'Rice Pudding', 'أرز باللبن', 1, 2200, 0, 2200, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-06-06 01:47:11', '2026-06-06 01:47:11'),
(30, 21, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-06-06 01:54:20', '2026-06-06 01:54:20'),
(31, 21, 16, 'Egyptian Tea', 'شاي مصري', 1, 1500, 0, 1500, NULL, NULL, 0, 2, 'pending', 0, NULL, '2026-06-06 01:54:20', '2026-06-06 01:54:20'),
(32, 21, 2, 'Falafel (Taameya)', 'طعمية', 1, 2000, 0, 2000, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-06-06 01:54:20', '2026-06-06 01:54:20'),
(33, 21, 26, 'Umm Ali', 'أم علي', 1, 3500, 0, 3500, NULL, NULL, 0, 3, 'pending', 0, NULL, '2026-06-06 01:54:20', '2026-06-06 01:54:20'),
(34, 22, 2, 'Falafel (Taameya)', 'طعمية', 1, 2000, 0, 2000, '', NULL, 0, 1, 'cancelled', 1, NULL, '2026-06-06 02:25:22', '2026-06-06 02:33:06'),
(35, 22, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 1, 5500, 0, 5500, '', NULL, 0, 1, 'completed', 0, NULL, '2026-06-06 02:25:22', '2026-06-06 02:33:40'),
(36, 22, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, '', NULL, 0, 1, 'completed', 0, NULL, '2026-06-06 02:25:22', '2026-06-06 02:33:40'),
(37, 22, 6, 'Molokhia', 'ملوخية', 1, 6000, 0, 6000, '', NULL, 0, 1, 'completed', 0, NULL, '2026-06-06 02:25:22', '2026-06-06 02:33:40'),
(38, 22, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, '', NULL, 0, 1, 'completed', 0, NULL, '2026-06-06 02:25:22', '2026-06-06 02:33:40'),
(39, 22, 20, 'Turkish Coffee', 'قهوة تركي', 1, 2000, 0, 2000, '', NULL, 0, 2, 'completed', 0, NULL, '2026-06-06 02:25:22', '2026-06-06 02:33:40'),
(40, 23, 4, 'Grilled Kofta', 'كفتة مشوية', 2, 7500, 0, 15000, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-06-06 02:49:48', '2026-06-06 02:49:48'),
(41, 24, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:28:32', '2026-06-08 18:28:32'),
(42, 25, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:29:10', '2026-06-08 18:29:10'),
(43, 26, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:29:44', '2026-06-08 18:29:44'),
(44, 27, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'preparing', 0, NULL, '2026-06-08 18:35:34', '2026-06-08 18:37:01'),
(45, 28, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:40:56', '2026-06-08 18:40:56'),
(46, 29, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:42:10', '2026-06-08 18:42:10'),
(47, 30, 6, 'Molokhia', 'ملوخية', 1, 6000, 0, 6000, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:43:42', '2026-06-08 18:43:42'),
(48, 31, 4, 'Grilled Kofta', 'كفتة مشوية', 3, 7500, 0, 22500, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:52:05', '2026-06-08 18:52:05'),
(49, 32, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:56:59', '2026-06-08 18:56:59'),
(50, 33, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 18:57:12', '2026-06-08 18:57:12'),
(51, 34, 2, 'Falafel (Taameya)', 'طعمية', 1, 2000, 0, 2000, '', NULL, 0, 1, 'completed', 0, NULL, '2026-06-08 19:13:20', '2026-06-08 19:14:37'),
(52, 35, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-08 19:18:21', '2026-06-08 19:18:28'),
(53, 36, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-08 19:20:36', '2026-06-08 19:20:45'),
(54, 37, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 22:04:10', '2026-06-08 22:04:10'),
(55, 38, 31, 'Waffle', 'وافل', 2, 4000, 0, 8000, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-08 22:07:51', '2026-06-08 22:08:11'),
(56, 38, 20, 'Turkish Coffee', 'قهوة تركي', 1, 2000, 0, 2000, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-08 22:07:51', '2026-06-08 22:08:21'),
(57, 38, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-08 22:07:51', '2026-06-08 22:08:23'),
(58, 39, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'pending', 0, NULL, '2026-06-08 22:13:36', '2026-06-08 22:13:36'),
(59, 40, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-08 22:49:25', '2026-06-08 22:49:25'),
(60, 41, 2, 'Falafel (Taameya)', 'طعمية', 1, 2000, 0, 2000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-09 11:38:21', '2026-06-09 11:47:27'),
(61, 42, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'pending', 0, NULL, '2026-06-09 11:48:13', '2026-06-09 11:48:13'),
(62, 43, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'pending', 0, NULL, '2026-06-09 11:51:39', '2026-06-09 11:51:39'),
(63, 44, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-09 11:52:40', '2026-06-14 15:54:14'),
(64, 45, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-09 11:55:03', '2026-06-14 12:37:27'),
(65, 46, 1, 'Koshary', 'كشري', 1, 4500, 0, 4500, 'Real order print integration test', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-09 11:58:48', '2026-06-14 13:25:19'),
(66, 47, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-09 16:29:43', '2026-06-09 16:43:04'),
(67, 48, 6, 'Molokhia', 'ملوخية', 1, 6000, 0, 6000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-09 16:43:38', '2026-06-09 16:47:42'),
(68, 49, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-09 17:01:14', '2026-06-09 17:01:14'),
(69, 50, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 1, 5500, 0, 5500, NULL, NULL, 0, 1, 'pending', 0, NULL, '2026-06-09 18:46:28', '2026-06-09 18:46:28'),
(72, 53, 4, 'Grilled Kofta', 'كفتة مشوية', 2, 7500, 0, 15000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-12 11:42:45', '2026-06-12 11:51:02'),
(73, 53, 29, 'Basbousa', 'بسبوسة', 1, 2500, 0, 2500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-12 11:42:45', '2026-06-12 11:51:02'),
(74, 53, 6, 'Molokhia', 'ملوخية', 5, 6000, 0, 30000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-12 11:42:45', '2026-06-12 11:51:02'),
(75, 53, 12, 'Pizza', 'بيتزا', 3, 9000, 0, 27000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-12 11:42:45', '2026-06-12 11:51:02'),
(76, 53, 11, 'Pasta', 'باستا', 2, 7000, 0, 14000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-12 11:42:45', '2026-06-12 11:51:02'),
(78, 59, 28, 'Baklava', 'بقلاوة', 1, 3000, 0, 3000, '', NULL, 0, 3, 'completed', 0, NULL, '2026-06-12 12:24:09', '2026-06-12 13:55:47'),
(79, 59, 18, 'Mango Juice', 'عصير مانجو', 1, 2500, 0, 2500, '', NULL, 0, 2, 'completed', 0, NULL, '2026-06-12 12:24:09', '2026-06-12 13:55:47'),
(80, 59, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'completed', 0, NULL, '2026-06-12 12:24:09', '2026-06-12 13:55:47'),
(81, 59, 28, 'Baklava', 'بقلاوة', 1, 3000, 0, 3000, '', NULL, 0, 3, 'completed', 0, NULL, '2026-06-12 12:24:28', '2026-06-12 13:55:47'),
(82, 59, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'completed', 0, NULL, '2026-06-12 12:24:28', '2026-06-12 13:55:47'),
(83, 59, 17, 'Hibiscus (Karkade)', 'كركديه', 1, 1800, 0, 1800, '', NULL, 0, 2, 'completed', 0, NULL, '2026-06-12 12:24:28', '2026-06-12 13:55:47'),
(84, 59, 26, 'Umm Ali', 'أم علي', 1, 3500, 0, 3500, '', NULL, 0, 3, 'completed', 0, NULL, '2026-06-12 12:24:28', '2026-06-12 13:55:47'),
(85, 59, 19, 'Lemon Mint', 'ليمون نعناع', 1, 1800, 0, 1800, '', NULL, 0, 2, 'completed', 0, NULL, '2026-06-12 12:24:28', '2026-06-12 13:55:47'),
(86, 59, 19, 'Lemon Mint', 'ليمون نعناع', 1, 1800, 0, 1800, '', NULL, 0, 2, 'completed', 0, NULL, '2026-06-12 12:25:08', '2026-06-12 13:55:47'),
(87, 59, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'completed', 0, NULL, '2026-06-12 12:25:08', '2026-06-12 13:55:47'),
(88, 59, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'completed', 0, NULL, '2026-06-12 12:25:08', '2026-06-12 13:55:47'),
(94, 66, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, 'fghkl', NULL, 0, 3, 'pending', 0, NULL, '2026-06-12 16:54:53', '2026-06-14 13:45:12'),
(95, 66, 17, 'Hibiscus (Karkade)', 'كركديه', 1, 1800, 0, 1800, '', NULL, 0, 2, 'pending', 0, NULL, '2026-06-12 16:54:53', '2026-06-12 16:54:53'),
(96, 66, 28, 'Baklava', 'بقلاوة', 1, 3000, 0, 3000, '', NULL, 0, 3, 'pending', 0, NULL, '2026-06-12 16:54:53', '2026-06-12 16:54:53'),
(97, 66, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'pending', 0, NULL, '2026-06-12 16:55:15', '2026-06-12 16:55:15'),
(98, 66, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-12 16:55:15', '2026-06-12 16:55:15'),
(99, 66, 19, 'Lemon Mint', 'ليمون نعناع', 1, 1800, 0, 1800, '', NULL, 0, 2, 'pending', 0, NULL, '2026-06-12 16:55:15', '2026-06-12 16:55:15'),
(100, 67, 2, 'Falafel (Taameya)', 'طعمية', 2, 2000, 0, 4000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-13 13:22:21', '2026-06-13 13:22:37'),
(101, 68, 26, 'Umm Ali', 'أم علي', 1, 3500, 0, 3500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 13:23:11', '2026-06-13 13:23:25'),
(102, 68, 17, 'Hibiscus (Karkade)', 'كركديه', 1, 1800, 0, 1800, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-13 13:23:11', '2026-06-13 13:23:25'),
(103, 68, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 13:23:11', '2026-06-13 13:23:25'),
(104, 69, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'cancelled', 0, NULL, '2026-06-13 18:21:09', '2026-06-13 19:00:17'),
(105, 69, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'cancelled', 0, NULL, '2026-06-13 18:21:09', '2026-06-13 19:00:45'),
(106, 70, 17, 'Hibiscus (Karkade)', 'كركديه', 1, 1800, 0, 1800, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(107, 70, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(108, 70, 28, 'Baklava', 'بقلاوة', 1, 3000, 0, 3000, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(109, 70, 20, 'Turkish Coffee', 'قهوة تركي', 1, 2000, 0, 2000, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(110, 70, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(111, 70, 8, 'Grilled Chicken', 'دجاج مشوي', 1, 8500, 0, 8500, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(112, 70, 32, 'Rice Pudding', 'أرز باللبن', 1, 2200, 0, 2200, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(113, 70, 7, 'Grilled Fish', 'سمك مشوي', 1, 12000, 0, 12000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(114, 70, 22, 'Fresh Orange Juice', 'عصير برتقال طازج', 1, 2200, 0, 2200, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(115, 70, 31, 'Waffle', 'وافل', 1, 4000, 0, 4000, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(116, 70, 10, 'Caesar Salad', 'سلطة سيزر', 1, 5000, 0, 5000, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-13 18:55:43', '2026-06-14 13:27:11'),
(117, 69, 21, 'Cappuccino', 'كابتشينو', 1, 3000, 0, 3000, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:20', '2026-06-13 20:23:33'),
(118, 69, 23, 'Watermelon Juice', 'عصير بطيخ', 1, 2000, 0, 2000, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:20', '2026-06-13 20:24:36'),
(119, 69, 8, 'Grilled Chicken', 'دجاج مشوي', 1, 8500, 0, 8500, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:20', '2026-06-13 20:24:45'),
(120, 69, 32, 'Rice Pudding', 'أرز باللبن', 1, 2200, 0, 2200, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-13 18:56:20', '2026-06-13 20:22:06'),
(121, 71, 18, 'Mango Juice', 'عصير مانجو', 1, 2500, 0, 2500, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(122, 71, 6, 'Molokhia', 'ملوخية', 1, 6000, 0, 6000, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(123, 71, 21, 'Cappuccino', 'كابتشينو', 1, 3000, 0, 3000, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(124, 71, 20, 'Turkish Coffee', 'قهوة تركي', 1, 2000, 0, 2000, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(125, 71, 30, 'Ice Cream', 'آيس كريم', 1, 2800, 0, 2800, '', NULL, 0, 3, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(126, 71, 5, 'Hawawshi', 'حواوشي', 1, 4000, 0, 4000, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(127, 71, 19, 'Lemon Mint', 'ليمون نعناع', 1, 1800, 0, 1800, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(128, 71, 29, 'Basbousa', 'بسبوسة', 1, 2500, 0, 2500, '', NULL, 0, 3, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(129, 71, 16, 'Egyptian Tea', 'شاي مصري', 1, 1500, 0, 1500, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(130, 71, 26, 'Umm Ali', 'أم علي', 1, 3500, 0, 3500, '', NULL, 0, 3, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(131, 71, 17, 'Hibiscus (Karkade)', 'كركديه', 1, 1800, 0, 1800, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(132, 71, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(133, 71, 14, 'Seafood Pasta', 'باستا مأكولات بحرية', 1, 11000, 0, 11000, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(134, 71, 13, 'Burger', 'برجر', 1, 7500, 0, 7500, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(135, 71, 12, 'Pizza', 'بيتزا', 1, 9000, 0, 9000, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(136, 71, 11, 'Pasta', 'باستا', 1, 7000, 0, 7000, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(137, 71, 10, 'Caesar Salad', 'سلطة سيزر', 1, 5000, 0, 5000, '', NULL, 0, 1, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(138, 71, 24, 'Smoothie', 'سموذي', 1, 3500, 0, 3500, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-13 18:56:50', '2026-06-14 12:33:07'),
(139, 72, 2, 'Falafel (Taameya)', 'طعمية', 1, 2000, 0, 2000, 'fhhghfg gf gfj', NULL, 0, 1, 'pending', 0, NULL, '2026-06-14 13:34:12', '2026-06-14 13:34:12'),
(140, 72, 3, 'Shawarma Sandwich', 'شاورما سندوتش', 2, 5500, 0, 11000, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-14 13:34:12', '2026-06-14 13:34:12'),
(141, 72, 4, 'Grilled Kofta', 'كفتة مشوية', 7, 7500, 0, 52500, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-14 13:34:12', '2026-06-14 13:34:12'),
(142, 73, 18, 'Mango Juice', 'عصير مانجو', 1, 2500, 0, 2500, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-14 13:46:03', '2026-06-14 13:46:10'),
(143, 74, 18, 'Mango Juice', 'عصير مانجو', 1, 2500, 0, 2500, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-14 13:49:53', '2026-06-14 13:50:01'),
(144, 75, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, '', NULL, 0, 1, 'confirmed', 0, NULL, '2026-06-14 13:50:23', '2026-06-14 13:50:30'),
(145, 76, 4, 'Grilled Kofta', 'كفتة مشوية', 1, 7500, 0, 7500, NULL, NULL, 1, 1, 'pending', 0, NULL, '2026-06-14 18:11:16', '2026-06-14 18:11:16'),
(146, 77, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-14 18:15:41', '2026-06-14 18:15:58'),
(147, 77, 28, 'Baklava', 'بقلاوة', 1, 3000, 0, 3000, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-14 18:15:41', '2026-06-14 18:15:58'),
(148, 78, 22, 'Fresh Orange Juice', 'عصير برتقال طازج', 1, 2200, 0, 2200, '', NULL, 0, 2, 'pending', 0, NULL, '2026-06-14 18:25:28', '2026-06-14 18:25:28'),
(149, 78, 7, 'Grilled Fish', 'سمك مشوي', 1, 12000, 0, 12000, '', NULL, 0, 1, 'pending', 0, NULL, '2026-06-14 18:25:28', '2026-06-14 18:25:28'),
(150, 78, 29, 'Basbousa', 'بسبوسة', 1, 2500, 0, 2500, '', NULL, 0, 3, 'pending', 0, NULL, '2026-06-14 18:25:28', '2026-06-14 18:25:28'),
(151, 79, 29, 'Basbousa', 'بسبوسة', 1, 2500, 0, 2500, '', NULL, 0, 3, 'pending', 0, NULL, '2026-06-14 18:25:50', '2026-06-14 18:25:50'),
(152, 80, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-18 17:34:12', '2026-06-18 17:34:24'),
(153, 80, 17, 'Hibiscus (Karkade)', 'كركديه', 1, 1800, 0, 1800, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-18 17:34:12', '2026-06-18 17:34:24'),
(154, 80, 26, 'Umm Ali', 'أم علي', 1, 3500, 0, 3500, '', NULL, 0, 3, 'confirmed', 0, NULL, '2026-06-18 17:34:12', '2026-06-18 17:34:24'),
(155, 80, 16, 'Egyptian Tea', 'شاي مصري', 1, 1500, 0, 1500, '', NULL, 0, 2, 'confirmed', 0, NULL, '2026-06-18 17:34:12', '2026-06-18 17:34:24'),
(156, 81, 17, 'Hibiscus (Karkade)', 'كركديه', 1, 1800, 0, 1800, '', NULL, 0, 2, 'refunded', 1, NULL, '2026-06-18 17:34:58', '2026-06-18 17:41:06'),
(157, 81, 27, 'Kunafa', 'كنافة', 1, 4500, 0, 4500, '', NULL, 0, 3, 'refunded', 1, NULL, '2026-06-18 17:34:58', '2026-06-18 17:41:19');

-- --------------------------------------------------------

--
-- Table structure for table `order_sequences`
--

DROP TABLE IF EXISTS `order_sequences`;
CREATE TABLE IF NOT EXISTS `order_sequences` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED NOT NULL,
  `business_date` date NOT NULL,
  `last_sequence` int UNSIGNED NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `order_sequences_zone_business_date_unique` (`zone_id`,`business_date`),
  KEY `order_sequences_business_date_index` (`business_date`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `order_sequences`
--

INSERT INTO `order_sequences` (`id`, `zone_id`, `business_date`, `last_sequence`, `created_at`, `updated_at`) VALUES
(1, 1, '2026-05-25', 10, '2026-06-09 17:01:14', '2026-06-12 12:24:09'),
(2, 1, '2026-05-26', 17, '2026-06-12 16:54:53', '2026-06-14 18:25:50'),
(3, 1, '2026-05-31', 2, '2026-06-18 17:34:12', '2026-06-18 17:34:58');

-- --------------------------------------------------------

--
-- Table structure for table `outlets`
--

DROP TABLE IF EXISTS `outlets`;
CREATE TABLE IF NOT EXISTS `outlets` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED NOT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `type` enum('service','room_service','restaurant','pool_bar','spa','gym','shop','other') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'service',
  `accepts_unit_orders` tinyint(1) NOT NULL DEFAULT '0',
  `accepts_table_orders` tinyint(1) NOT NULL DEFAULT '0',
  `operating_mode` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT '24_hours',
  `opens_at` time DEFAULT NULL,
  `closes_at` time DEFAULT NULL,
  `last_order_at` time DEFAULT NULL,
  `unavailable_reason` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `unavailable_reason_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `outlets_code_unique` (`code`),
  KEY `outlets_zone_id_type_index` (`zone_id`,`type`),
  KEY `outlets_zone_id_is_active_index` (`zone_id`,`is_active`),
  KEY `outlets_operating_active_idx` (`operating_mode`,`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `outlets`
--

INSERT INTO `outlets` (`id`, `zone_id`, `name`, `name_ar`, `type`, `accepts_unit_orders`, `accepts_table_orders`, `operating_mode`, `opens_at`, `closes_at`, `last_order_at`, `unavailable_reason`, `unavailable_reason_ar`, `is_active`, `code`, `description`, `created_at`, `updated_at`, `deleted_at`) VALUES
(1, 1, 'Lobby Bar', 'بار', 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-PYR-REST', 'Default F&B routing outlet for menu orders.', '2026-05-23 00:27:02', '2026-06-11 19:50:37', NULL),
(2, 2, 'Porto Sokhna - Hotel Service Outlet', 'مركز خدمات بورتو السخنة - ', 'service', 0, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-HOTEL-SVC', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02', NULL),
(3, 3, 'Porto Sokhna - Golf Service Outlet', 'مركز خدمات بورتو السخنة - ', 'service', 0, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-GOLF-SVC', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02', NULL),
(4, 4, 'Porto South Beach - Genwa Service Outlet', 'مركز خدمات بورتو ساوث بيتش - ', 'service', 0, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSB-GENWA-SVC', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02', NULL),
(5, 5, 'Porto South Beach - PVC Timeshare Service Outlet', 'مركز خدمات بورتو ساوث بيتش - ', 'service', 0, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSB-PVC-SVC', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02', NULL),
(6, 6, 'Porto Marina - Towers Service Outlet', 'مركز خدمات بورتو مارينا - ', 'service', 0, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-TOWERS-SVC', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02', NULL),
(7, 7, 'Porto Marina - Hotel Service Outlet', 'مركز خدمات بورتو مارينا - ', 'service', 0, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-HOTEL-SVC', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02', NULL),
(8, 8, 'Porto Marina - Golf Service Outlet', 'مركز خدمات بورتو مارينا - ', 'service', 0, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-GOLF-SVC', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02', NULL),
(9, 2, 'Porto Sokhna - Hotel Restaurant', NULL, 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-HOTEL-REST', 'Default F&B routing outlet for menu orders.', '2026-06-11 16:03:35', '2026-06-11 16:03:35', NULL),
(10, 3, 'Porto Sokhna - Golf Restaurant', NULL, 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-GOLF-REST', 'Default F&B routing outlet for menu orders.', '2026-06-11 16:03:35', '2026-06-11 16:03:35', NULL),
(11, 4, 'Porto South Beach - Genwa Restaurant', NULL, 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSB-GENWA-REST', 'Default F&B routing outlet for menu orders.', '2026-06-11 16:03:35', '2026-06-11 16:03:35', NULL),
(12, 5, 'Porto South Beach - PVC Timeshare Restaurant', NULL, 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSB-PVC-REST', 'Default F&B routing outlet for menu orders.', '2026-06-11 16:03:35', '2026-06-11 16:03:35', NULL),
(13, 6, 'Porto Marina - Towers Restaurant', NULL, 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-TOWERS-REST', 'Default F&B routing outlet for menu orders.', '2026-06-11 16:03:36', '2026-06-11 16:03:36', NULL),
(14, 7, 'Porto Marina - Hotel Restaurant', NULL, 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-HOTEL-REST', 'Default F&B routing outlet for menu orders.', '2026-06-11 16:03:36', '2026-06-11 16:03:36', NULL),
(15, 8, 'Porto Marina - Golf Restaurant', NULL, 'restaurant', 0, 1, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-GOLF-REST', 'Default F&B routing outlet for menu orders.', '2026-06-11 16:03:36', '2026-06-11 16:03:36', NULL),
(16, 1, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-PYR-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:46', '2026-06-11 16:35:46', NULL),
(17, 2, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-HOTEL-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:46', '2026-06-11 16:35:46', NULL),
(18, 3, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSK-GOLF-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:46', '2026-06-11 16:35:46', NULL),
(19, 4, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSB-GENWA-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:46', '2026-06-11 16:35:46', NULL),
(20, 5, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PSB-PVC-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:47', '2026-06-11 16:35:47', NULL),
(21, 6, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-TOWERS-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:47', '2026-06-11 16:35:47', NULL),
(22, 7, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-HOTEL-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:47', '2026-06-11 16:35:47', NULL),
(23, 8, 'Room Service', NULL, 'room_service', 1, 0, '24_hours', NULL, NULL, NULL, NULL, NULL, 1, 'PMR-GOLF-RS', 'Default guest online room-service outlet.', '2026-06-11 16:35:47', '2026-06-11 16:35:47', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `outlet_adjustments`
--

DROP TABLE IF EXISTS `outlet_adjustments`;
CREATE TABLE IF NOT EXISTS `outlet_adjustments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `outlet_id` bigint UNSIGNED NOT NULL,
  `adjustment_definition_id` bigint UNSIGNED NOT NULL,
  `value` decimal(10,4) NOT NULL,
  `is_percentage` tinyint(1) NOT NULL DEFAULT '1',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `outlet_adjustments_outlet_definition_unique` (`outlet_id`,`adjustment_definition_id`),
  KEY `outlet_adjustments_outlet_active_idx` (`outlet_id`,`is_active`),
  KEY `outlet_adjustments_definition_idx` (`adjustment_definition_id`)
) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `outlet_adjustments`
--

INSERT INTO `outlet_adjustments` (`id`, `outlet_id`, `adjustment_definition_id`, `value`, `is_percentage`, `is_active`, `created_at`, `updated_at`) VALUES
(44, 1, 2, '5.0000', 0, 1, '2026-06-13 21:37:45', '2026-06-13 21:37:45'),
(30, 16, 1, '14.0000', 1, 1, '2026-06-13 13:21:21', '2026-06-13 13:21:21'),
(17, 1, 3, '14.0000', 1, 1, '2026-06-13 12:58:22', '2026-06-13 12:58:22'),
(45, 16, 43, '100.0000', 0, 1, '2026-06-13 21:51:58', '2026-06-13 21:51:58');

-- --------------------------------------------------------

--
-- Table structure for table `outlet_printer_assignments`
--

DROP TABLE IF EXISTS `outlet_printer_assignments`;
CREATE TABLE IF NOT EXISTS `outlet_printer_assignments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `outlet_id` bigint UNSIGNED NOT NULL,
  `printer_agent_printer_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `outlet_service_points`
--

DROP TABLE IF EXISTS `outlet_service_points`;
CREATE TABLE IF NOT EXISTS `outlet_service_points` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED NOT NULL,
  `outlet_id` bigint UNSIGNED NOT NULL,
  `type` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'table',
  `label` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `code` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `qr_token` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `capacity` smallint UNSIGNED DEFAULT NULL,
  `sort_order` int UNSIGNED NOT NULL DEFAULT '0',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `outlet_service_points_outlet_type_label_unique` (`outlet_id`,`type`,`label`),
  UNIQUE KEY `outlet_service_points_code_unique` (`code`),
  UNIQUE KEY `outlet_service_points_qr_token_unique` (`qr_token`),
  KEY `outlet_service_points_zone_outlet_active_idx` (`zone_id`,`outlet_id`,`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `outlet_service_points`
--

INSERT INTO `outlet_service_points` (`id`, `zone_id`, `outlet_id`, `type`, `label`, `code`, `qr_token`, `capacity`, `sort_order`, `is_active`, `metadata`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'counter', 'Takeaway', 'PSK-PYR-REST-COUNTER-TAKEAWAY', '9WMT6AR02EUhqHwbw2C0TYKbf6sVOXNKFJZcfLpksFGgnGkI', NULL, 1, 1, NULL, '2026-06-11 17:32:51', '2026-06-12 13:41:05'),
(2, 1, 1, 'table', 'Table 1', 'PSK-PYR-REST-TABLE-TABLE-1', 'DpltoQxYXVEdWZB4QAwQlkC2J3djhKy3CiHwENki7aCfIQkd', NULL, 2, 1, '[]', '2026-06-11 17:32:51', '2026-06-13 18:19:01'),
(3, 1, 1, 'table', 'Table 2', 'PSK-PYR-REST-TABLE-TABLE-2', 'HeTp5wrl0pXyLII0tENSGaa2UE85FwbYPlg0MHF2Kb8xi2tL', NULL, 3, 1, '[]', '2026-06-11 17:32:51', '2026-06-14 13:49:53'),
(4, 1, 1, 'table', 'Table 3', 'PSK-PYR-REST-TABLE-TABLE-3', 'bpaLDb5k14RO90FWBPK4sK2Hu0j5T461wTb1eQeDHkcOFQbS', NULL, 4, 1, '[]', '2026-06-11 17:32:51', '2026-06-13 18:18:27'),
(5, 1, 1, 'table', 'Table 4', 'PSK-PYR-REST-TABLE-TABLE-4', 'CLKMDde0NheoaFgAtQvFOE14zXxP7zpbdJhPGXfsiHbpQirw', NULL, 5, 1, '[]', '2026-06-11 17:32:51', '2026-06-14 18:15:41'),
(6, 1, 1, 'table', 'Table 5', 'PSK-PYR-REST-TABLE-TABLE-5', 'T9Bpmyiw1t8u66XZe8uXA1SrMGJQ0yuEIFOssx0D6PTNvhBO', NULL, 6, 1, '{\"status\": \"reserved\", \"reserved\": true, \"reserved_at\": \"2026-06-13T21:56:04+03:00\", \"reservation_name\": \"taha\", \"reservation_phone\": \"120\"}', '2026-06-11 17:32:51', '2026-06-13 18:56:04'),
(7, 1, 1, 'table', 'Table 6', 'PSK-PYR-REST-TABLE-TABLE-6', 'mHr5VAidAXTKuXfSr1Okc8fKIAhzdjhJ7Gt2G84N3XCs4Av5', NULL, 7, 1, '{\"status\":\"reserved\",\"reserved\":true,\"reservation_name\":\"taha\",\"reservation_phone\":\"101001\",\"reserved_at\":\"2026-06-14T13:26:13+03:00\"}', '2026-06-11 17:32:51', '2026-06-14 13:26:13'),
(8, 1, 1, 'table', 'Table 7', 'PSK-PYR-REST-TABLE-TABLE-7', 'nsYsmFipaJLsYlnkZcEPiYCoVK72niFwccn4GRNKES28vzhI', NULL, 8, 1, NULL, '2026-06-11 17:32:51', '2026-06-11 18:56:54'),
(9, 1, 1, 'table', 'Table 8', 'PSK-PYR-REST-TABLE-TABLE-8', 'R1pXG6n9ejR469yls0QKiBHcS4h6eBc2uYPJ6Ry58H0ev7O9', NULL, 9, 1, '[]', '2026-06-11 17:32:51', '2026-06-13 18:57:40'),
(10, 1, 1, 'table', 'Table 9', 'PSK-PYR-REST-TABLE-TABLE-9', 'ag1EsmUHWMRWFbUuAAxdksBQ417e6QtpxIIyNQD7ZWFo7JxE', NULL, 9, 1, NULL, '2026-06-11 17:32:51', '2026-06-11 18:59:56'),
(11, 1, 1, 'table', 'Table 10', 'PSK-PYR-REST-TABLE-TABLE-10', 'ctYjpI9USLyawiTb4Ah2nvRQlEMfcX2wdLGMNZ4dOxSQd5Q8', NULL, 10, 1, '[]', '2026-06-11 18:59:35', '2026-06-13 18:56:50');

-- --------------------------------------------------------

--
-- Table structure for table `password_resets`
--

DROP TABLE IF EXISTS `password_resets`;
CREATE TABLE IF NOT EXISTS `password_resets` (
  `email` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `token` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `payments`
--

DROP TABLE IF EXISTS `payments`;
CREATE TABLE IF NOT EXISTS `payments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `service_request_id` bigint UNSIGNED DEFAULT NULL,
  `order_id` bigint UNSIGNED DEFAULT NULL,
  `cashier_shift_id` bigint UNSIGNED DEFAULT NULL COMMENT 'The associated shift',
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `amount` decimal(12,2) NOT NULL,
  `type` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `provider` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `provider_reference` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `payment_channel` varchar(80) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `provider_payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `status` tinyint UNSIGNED NOT NULL DEFAULT '2',
  `paid_at` datetime DEFAULT NULL,
  `business_date` date DEFAULT NULL,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  PRIMARY KEY (`id`),
  KEY `payments_service_request_id_foreign` (`service_request_id`),
  KEY `payments_created_by_foreign` (`created_by`),
  KEY `payments_cashier_shift_id_index` (`cashier_shift_id`),
  KEY `payments_outlet_id_index` (`outlet_id`),
  KEY `payments_business_status_idx` (`business_date`,`status`),
  KEY `payments_order_id_foreign` (`order_id`),
  KEY `payments_zone_business_date_idx` (`zone_id`,`business_date`),
  KEY `payments_zone_status_idx` (`zone_id`,`status`),
  KEY `payments_provider_index` (`provider`),
  KEY `payments_provider_reference_index` (`provider_reference`)
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `payments`
--

INSERT INTO `payments` (`id`, `service_request_id`, `order_id`, `cashier_shift_id`, `outlet_id`, `zone_id`, `amount`, `type`, `provider`, `provider_reference`, `payment_channel`, `provider_payload`, `status`, `paid_at`, `business_date`, `created_by`, `notes`) VALUES
(1, 1, NULL, 1, 1, 1, '324.90', 1, NULL, NULL, NULL, NULL, 1, '2026-05-23 14:08:14', '2026-05-23', 1, ''),
(2, NULL, 1, 1, NULL, 1, '57.68', 1, NULL, NULL, NULL, NULL, 1, '2026-05-23 15:04:14', '2026-05-23', 1, ''),
(3, NULL, 1, 1, NULL, 1, '-40.00', 6, NULL, NULL, NULL, NULL, 1, '2026-05-23 20:06:45', '2026-05-23', 1, 'Item refund: Hawawshi + adjustments'),
(4, 3, NULL, 2, 1, 1, '129.96', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 03:12:34', '2026-05-23', 2, ''),
(5, NULL, 2, 2, NULL, 1, '19.18', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 03:29:31', '2026-05-23', 2, ''),
(6, 3, NULL, 2, 1, 1, '-129.96', 6, NULL, NULL, NULL, NULL, 1, '2026-05-24 03:31:47', '2026-05-23', 2, 'Cash refund - excess payment'),
(7, 4, NULL, 1, 1, 1, '194.94', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 03:49:34', '2026-05-23', 1, ''),
(8, NULL, 4, 1, NULL, 1, '57.68', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 03:50:04', '2026-05-23', 1, ''),
(9, NULL, 4, 1, NULL, 1, '-57.68', 6, NULL, NULL, NULL, NULL, 1, '2026-05-24 03:50:07', '2026-05-23', 1, 'Item refund: Hawawshi + adjustments'),
(10, NULL, 5, 1, NULL, 1, '77.17', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:00:30', '2026-05-23', 1, ''),
(11, 5, NULL, 1, 1, 1, '194.94', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:01:11', '2026-05-23', 1, ''),
(12, 6, NULL, 1, 1, 1, '454.86', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:09:28', '2026-05-23', 1, ''),
(13, NULL, 6, 1, NULL, 1, '57.68', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:12:08', '2026-05-23', 1, ''),
(14, 7, NULL, 1, 1, 1, '194.94', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:12:24', '2026-05-23', 1, ''),
(15, NULL, 7, 1, NULL, 1, '64.18', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:14:04', '2026-05-23', 1, ''),
(16, 8, NULL, 1, 1, 1, '129.96', 1, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:14:24', '2026-05-23', 1, ''),
(17, NULL, 5, 1, NULL, 1, '-77.17', 6, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:15:09', '2026-05-23', 1, 'Excess payment refunded to customer'),
(18, NULL, 7, 1, NULL, 1, '-64.18', 6, NULL, NULL, NULL, NULL, 1, '2026-05-24 05:24:13', '2026-05-23', 1, 'Excess payment refunded to customer'),
(19, NULL, 10, 2, NULL, 1, '370.50', 1, NULL, NULL, NULL, NULL, 1, '2026-05-25 00:48:22', '2026-05-23', 2, ''),
(20, 10, NULL, 2, 1, 1, '129.96', 1, NULL, NULL, NULL, NULL, 1, '2026-05-26 21:44:00', '2026-05-23', 2, ''),
(21, 9, NULL, 2, 1, 1, '194.94', 1, NULL, NULL, NULL, NULL, 1, '2026-05-26 21:44:38', '2026-05-23', 2, ''),
(22, 13, NULL, 2, 1, 1, '519.84', 1, NULL, NULL, NULL, NULL, 1, '2026-06-03 10:39:28', '2026-05-23', 2, ''),
(23, 12, NULL, 3, 1, 1, '194.94', 1, NULL, NULL, NULL, NULL, 1, '2026-06-03 10:47:28', '2026-05-24', 2, ''),
(24, NULL, 22, 4, NULL, 1, '295.99', 1, NULL, NULL, NULL, NULL, 1, '2026-06-06 02:34:24', '2026-05-24', 2, ''),
(25, NULL, 22, 4, NULL, 1, '-20.00', 6, NULL, NULL, NULL, NULL, 1, '2026-06-06 02:36:46', '2026-05-24', 2, 'Excess payment refunded to customer'),
(26, NULL, 22, 4, NULL, 1, '-30.00', 6, NULL, NULL, NULL, NULL, 1, '2026-06-06 02:38:42', '2026-05-24', 2, 'Excess payment refunded to customer'),
(27, 15, NULL, 5, 1, 1, '324.90', 1, NULL, NULL, NULL, NULL, 1, '2026-06-06 03:06:39', '2026-05-25', 2, ''),
(28, 15, NULL, 5, 1, 1, '-324.90', 6, NULL, NULL, NULL, NULL, 1, '2026-06-06 03:07:31', '2026-05-25', 2, 'Cash refund - excess payment'),
(29, NULL, 50, 5, NULL, 1, '68.40', 1, NULL, NULL, NULL, NULL, 1, '2026-06-09 22:22:43', '2026-05-25', 2, ''),
(30, NULL, 48, 5, NULL, 1, '74.09', 1, NULL, NULL, NULL, NULL, 1, '2026-06-11 13:34:59', '2026-05-25', 2, ''),
(31, NULL, 53, 5, 1, 1, '1014.60', 1, NULL, NULL, NULL, NULL, 1, '2026-06-12 14:51:01', '2026-05-25', 2, ''),
(32, NULL, 59, 6, 1, 1, '364.80', 1, NULL, NULL, NULL, NULL, 1, '2026-06-12 16:55:24', '2026-05-26', 2, ''),
(33, NULL, 67, 6, 16, 1, '45.60', 1, NULL, NULL, NULL, NULL, 1, '2026-06-13 16:22:37', '2026-05-26', 2, ''),
(34, NULL, 68, 6, 1, 1, '217.42', 1, NULL, NULL, NULL, NULL, 1, '2026-06-13 16:23:25', '2026-05-26', 2, ''),
(35, NULL, 69, 6, 1, 1, '284.68', 1, NULL, NULL, NULL, NULL, 1, '2026-06-13 23:22:06', '2026-05-26', 2, ''),
(36, NULL, 45, 6, NULL, 1, '64.18', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 12:37:27', '2026-05-26', 2, ''),
(37, NULL, 46, 6, NULL, 1, '57.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 12:39:07', '2026-05-26', 2, ''),
(38, NULL, 46, 6, NULL, 1, '-57.00', 6, NULL, NULL, NULL, NULL, 1, '2026-06-14 13:25:26', '2026-05-26', 2, 'Excess payment refunded to customer'),
(39, NULL, 70, 6, 1, 1, '652.90', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 13:27:11', '2026-05-26', 2, ''),
(40, NULL, 73, 6, 1, 1, '34.20', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 13:46:10', '2026-05-26', 2, ''),
(41, NULL, 74, 6, 1, 1, '34.20', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 13:50:01', '2026-05-26', 2, ''),
(42, NULL, 75, 6, 16, 1, '185.50', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 13:50:30', '2026-05-26', 2, ''),
(43, NULL, 44, 6, NULL, 1, '37.61', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 15:54:14', '2026-05-26', 2, ''),
(44, NULL, 77, 6, 1, 1, '91.20', 1, NULL, NULL, NULL, NULL, 1, '2026-06-14 18:15:58', '2026-05-26', 2, ''),
(45, 17, NULL, 7, 16, 1, '271.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 15:53:33', '2026-05-27', 2, ''),
(46, 16, NULL, 8, 16, 1, '285.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 16:50:47', '2026-05-29', 2, ''),
(47, 18, NULL, 9, 16, 1, '385.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 17:03:20', '2026-05-30', 2, ''),
(48, 12, NULL, 9, 16, 1, '-194.94', 6, NULL, NULL, NULL, NULL, 1, '2026-06-18 17:03:34', '2026-05-30', 2, 'Cash refund - excess payment'),
(49, 19, NULL, 10, 16, 1, '214.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 19:16:44', '2026-05-31', 2, ''),
(50, 19, NULL, 10, 16, 1, '-214.00', 6, NULL, NULL, NULL, NULL, 1, '2026-06-18 19:16:55', '2026-05-31', 2, 'Cash refund - excess payment'),
(51, 20, NULL, 10, 16, 1, '385.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 19:21:30', '2026-05-31', 2, ''),
(52, 20, NULL, 10, 16, 1, '-385.00', 6, NULL, NULL, NULL, NULL, 1, '2026-06-18 19:21:57', '2026-05-31', 2, 'Cash refund - excess payment'),
(53, 21, NULL, 10, 16, 1, '1867.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 19:37:04', '2026-05-31', 2, ''),
(54, 21, NULL, 10, 16, 1, '-963.62', 6, NULL, NULL, NULL, NULL, 1, '2026-06-18 19:37:59', '2026-05-31', 2, 'Cash refund - excess payment'),
(55, 22, NULL, 10, 16, 1, '100.00', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 20:19:51', '2026-05-31', 2, ''),
(56, NULL, 80, 10, 1, 1, '134.52', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 20:34:24', '2026-05-31', 2, ''),
(57, NULL, 81, 10, 1, 1, '77.52', 1, NULL, NULL, NULL, NULL, 1, '2026-06-18 20:35:33', '2026-05-31', 2, ''),
(58, NULL, 81, 10, 1, 1, '-77.52', 6, NULL, NULL, NULL, NULL, 1, '2026-06-18 20:41:28', '2026-05-31', 2, 'Excess payment refunded to customer');

-- --------------------------------------------------------

--
-- Table structure for table `payment_integration_settings`
--

DROP TABLE IF EXISTS `payment_integration_settings`;
CREATE TABLE IF NOT EXISTS `payment_integration_settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `provider` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'paymob',
  `display_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `is_enabled` tinyint(1) NOT NULL DEFAULT '0',
  `test_mode` tinyint(1) NOT NULL DEFAULT '1',
  `api_key` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `integration_id` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `hmac_secret` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `iframe_id` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `iframe_id_installment` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `base_url` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'https://accept.paymob.com',
  `iframe_base_url` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'https://accept.paymob.com',
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `payment_integrations_provider_zone_unique` (`provider`,`zone_id`),
  KEY `payment_integration_settings_zone_id_foreign` (`zone_id`),
  KEY `payment_integrations_provider_enabled_idx` (`provider`,`is_enabled`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `payment_integration_settings`
--

INSERT INTO `payment_integration_settings` (`id`, `zone_id`, `provider`, `display_name`, `is_enabled`, `test_mode`, `api_key`, `integration_id`, `hmac_secret`, `iframe_id`, `iframe_id_installment`, `base_url`, `iframe_base_url`, `metadata`, `created_at`, `updated_at`) VALUES
(1, 1, 'paymob', 'Paymob', 1, 1, 'eyJpdiI6IlRpVzgwY3hCWTdaVnRkR3NFZmNzclE9PSIsInZhbHVlIjoiaG5yMkc3UitVZndMdFQ3RGltcmpqbnR6TkZCemU5eG5TK09sVWpocXFnVHN2U0pLTjdJeXUxazBqZHEwb3VLVGFkRnAxc0hzOW13bFYrQllQNmVhS2tpNzNPR1VvNjJjZEFxTGU4ZExTQ3N3ZkZxZitKbkRrOHJlVVJpam14K2ZmUlpSaFJvMWtOUjJLaTlyTk1YRjNjeXlMOVBHSER5bkNnTCt3UmVaVXZYZU9RTDV5YUVpbXMzNy9CZ0FRV25iVGRRVDl4MUlWUXZYSjZ6WVhVeXh3UjNOWXlFTWd6cGUzR1BPdXdMa2RobGYrb1V4NzBrUXI1dUUrcGJBb01ITkJJVGZCUzdZSTZrbnpNL2RGVUx3YmhoZFJmTWR3aWM1ZnVCSkNUd1dES3M5UlBHaHNDUjg5Y0JHZDZhQVdLUjBFL2dSNGswWGdDbXVaWGdOTjlsdk8xK25lT213MTF1bUlSdTlpU2hOd2k4PSIsIm1hYyI6IjA4NmRlYTFmMWQwYTNiNjU0YjlkZDlmYTQ3NzI1YjE3OGRhNjIyYmY4YzAxYTNjYzE5YTBjZTEwNjU1OTVkMGQiLCJ0YWciOiIifQ==', '1974774', 'eyJpdiI6ImI3UjBNRW16WURJNnlKZVBOMTNLTGc9PSIsInZhbHVlIjoiZDg1SnVEZzhJaXpFT2xSRmhDL3UzdHRyQWIzZ21Mcmgwc2syUmRoM0syeXB3dDJ4ZGMwWDdwZXNESkxlVUtxOSIsIm1hYyI6IjUxMTg5MmZjMzM5MGU4MzJhYzkyMGRkMDNlYThiODg2ZTc5NTg2ZjgzMjQzYmNjZjcwMGVlOTBmMDJhNjA2ZWIiLCJ0YWciOiIifQ==', '368397', '368396', 'https://accept.paymob.com', 'https://accept-alpha.paymob.com', NULL, '2026-06-09 17:56:39', '2026-06-09 17:56:39');

-- --------------------------------------------------------

--
-- Table structure for table `permissions`
--

DROP TABLE IF EXISTS `permissions`;
CREATE TABLE IF NOT EXISTS `permissions` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `guard_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=234 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `permissions`
--

INSERT INTO `permissions` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'users.view', 'web', NULL, NULL),
(2, 'users.create', 'web', NULL, NULL),
(3, 'users.edit', 'web', NULL, NULL),
(4, 'users.delete', 'web', NULL, NULL),
(5, 'roles.view', 'web', NULL, NULL),
(6, 'roles.create', 'web', NULL, NULL),
(7, 'roles.edit', 'web', NULL, NULL),
(8, 'roles.delete', 'web', NULL, NULL),
(9, 'tickets.view', 'web', NULL, NULL),
(10, 'tickets.create', 'web', NULL, NULL),
(11, 'tickets.edit', 'web', NULL, NULL),
(12, 'tickets.delete', 'web', NULL, NULL),
(13, 'tickets.assign', 'web', NULL, NULL),
(14, 'tickets.change_status', 'web', NULL, NULL),
(15, 'tickets.view_all', 'web', NULL, NULL),
(16, 'tickets.view_department', 'web', NULL, NULL),
(17, 'tickets.view_own', 'web', NULL, NULL),
(18, 'tickets.dashboard.view', 'web', NULL, NULL),
(23, 'tickets.categories.view', 'web', NULL, NULL),
(24, 'tickets.categories.create', 'web', NULL, NULL),
(25, 'tickets.categories.edit', 'web', NULL, NULL),
(26, 'tickets.categories.delete', 'web', NULL, NULL),
(27, 'tickets.items.view', 'web', NULL, NULL),
(28, 'tickets.items.create', 'web', NULL, NULL),
(29, 'tickets.items.edit', 'web', NULL, NULL),
(30, 'tickets.items.delete', 'web', NULL, NULL),
(31, 'requests.view', 'web', NULL, NULL),
(32, 'requests.create', 'web', NULL, NULL),
(33, 'requests.edit', 'web', NULL, NULL),
(34, 'requests.delete', 'web', NULL, NULL),
(35, 'requests.services.view', 'web', NULL, NULL),
(36, 'requests.services.create', 'web', NULL, NULL),
(37, 'requests.services.edit', 'web', NULL, NULL),
(38, 'requests.services.delete', 'web', NULL, NULL),
(39, 'requests.categories.view', 'web', NULL, NULL),
(40, 'requests.categories.create', 'web', NULL, NULL),
(41, 'requests.categories.edit', 'web', NULL, NULL),
(42, 'requests.categories.delete', 'web', NULL, NULL),
(43, 'tickets.replies.view', 'web', NULL, NULL),
(44, 'tickets.replies.create', 'web', NULL, NULL),
(45, 'tickets.replies.edit', 'web', NULL, NULL),
(46, 'tickets.replies.delete', 'web', NULL, NULL),
(47, 'tickets.zones.view', 'web', NULL, NULL),
(48, 'tickets.zones.create', 'web', NULL, NULL),
(49, 'tickets.zones.edit', 'web', NULL, NULL),
(50, 'tickets.zones.delete', 'web', NULL, NULL),
(51, 'properties.view', 'web', NULL, NULL),
(52, 'properties.create', 'web', NULL, NULL),
(53, 'properties.edit', 'web', NULL, NULL),
(54, 'properties.delete', 'web', NULL, NULL),
(55, 'units.view', 'web', NULL, NULL),
(56, 'units.create', 'web', NULL, NULL),
(57, 'units.edit', 'web', NULL, NULL),
(58, 'units.delete', 'web', NULL, NULL),
(59, 'areas.view', 'web', NULL, NULL),
(60, 'areas.create', 'web', NULL, NULL),
(61, 'areas.edit', 'web', NULL, NULL),
(62, 'areas.delete', 'web', NULL, NULL),
(63, 'sites.view', 'web', NULL, NULL),
(64, 'sites.create', 'web', NULL, NULL),
(65, 'sites.edit', 'web', NULL, NULL),
(66, 'sites.delete', 'web', NULL, NULL),
(67, 'zones.view', 'web', NULL, NULL),
(68, 'zones.create', 'web', NULL, NULL),
(69, 'zones.edit', 'web', NULL, NULL),
(70, 'zones.delete', 'web', NULL, NULL),
(71, 'departments.view', 'web', NULL, NULL),
(72, 'departments.create', 'web', NULL, NULL),
(73, 'departments.edit', 'web', NULL, NULL),
(74, 'departments.delete', 'web', NULL, NULL),
(75, 'visitors.dashboard', 'web', NULL, NULL),
(76, 'visitors.view', 'web', NULL, NULL),
(77, 'visitors.create', 'web', NULL, NULL),
(78, 'visitors.edit', 'web', NULL, NULL),
(79, 'visitors.delete', 'web', NULL, NULL),
(80, 'visitors.manage', 'web', NULL, NULL),
(81, 'visitors.check_in', 'web', NULL, NULL),
(82, 'visitors.check_out', 'web', NULL, NULL),
(83, 'visitors.qr_resend', 'web', NULL, NULL),
(84, 'visitors.qr_print', 'web', NULL, NULL),
(85, 'visitors.qr_pdf', 'web', NULL, NULL),
(86, 'visitors.qr_share', 'web', NULL, NULL),
(87, 'visitors.gates.view', 'web', NULL, NULL),
(88, 'visitors.gates.create', 'web', NULL, NULL),
(89, 'visitors.gates.edit', 'web', NULL, NULL),
(90, 'visitors.gates.delete', 'web', NULL, NULL),
(91, 'memberships.view', 'web', NULL, NULL),
(92, 'memberships.create', 'web', NULL, NULL),
(93, 'memberships.edit', 'web', NULL, NULL),
(94, 'memberships.delete', 'web', NULL, NULL),
(95, 'contacts.view', 'web', NULL, NULL),
(96, 'contacts.create', 'web', NULL, NULL),
(97, 'contacts.edit', 'web', NULL, NULL),
(98, 'contacts.delete', 'web', NULL, NULL),
(99, 'reports.view', 'web', NULL, NULL),
(100, 'reports.export', 'web', NULL, NULL),
(104, 'settings.view', 'web', NULL, NULL),
(105, 'settings.edit', 'web', NULL, NULL),
(106, 'cashier.open_shift', 'web', NULL, NULL),
(107, 'cashier.close_shift', 'web', NULL, NULL),
(108, 'cashier.view_shifts', 'web', NULL, NULL),
(109, 'cashier.view_own_shifts', 'web', NULL, NULL),
(110, 'cashier.view_all_shifts', 'web', NULL, NULL),
(111, 'cashier.daily_closing', 'web', NULL, NULL),
(112, 'cashier.print_reports', 'web', NULL, NULL),
(113, 'cashier.apply_discount', 'web', NULL, NULL),
(114, 'cashier.remove_discount', 'web', NULL, NULL),
(115, 'cashier.collect_cash', 'web', NULL, NULL),
(116, 'cashier.night_run', 'web', NULL, NULL),
(117, 'cashier.view_night_reports', 'web', NULL, NULL),
(118, 'cashier.manage_house_fund', 'web', NULL, NULL),
(119, 'cashier.house_fund_to_bank', 'web', NULL, NULL),
(120, 'cashier.issue_float', 'web', NULL, NULL),
(121, 'cashier.view_finance_reports', 'web', NULL, NULL),
(122, 'bank.view', 'web', NULL, NULL),
(123, 'bank.view_all', 'web', NULL, NULL),
(124, 'bank.view_zone', 'web', NULL, NULL),
(125, 'bank.create', 'web', NULL, NULL),
(126, 'bank.edit', 'web', NULL, NULL),
(127, 'bank.delete', 'web', NULL, NULL),
(128, 'bank.accounts.view', 'web', NULL, NULL),
(129, 'bank.accounts.view_all', 'web', NULL, NULL),
(130, 'bank.accounts.view_zone', 'web', NULL, NULL),
(131, 'bank.accounts.create', 'web', NULL, NULL),
(132, 'bank.accounts.edit', 'web', NULL, NULL),
(133, 'bank.accounts.delete', 'web', NULL, NULL),
(134, 'bank.transactions.view', 'web', NULL, NULL),
(135, 'bank.transactions.view_all', 'web', NULL, NULL),
(136, 'bank.transactions.view_zone', 'web', NULL, NULL),
(137, 'bank.transactions.create', 'web', NULL, NULL),
(138, 'bank.transactions.edit', 'web', NULL, NULL),
(139, 'bank.transactions.delete', 'web', NULL, NULL),
(140, 'outlets.view', 'web', '2026-06-11 15:50:31', '2026-06-11 15:50:31'),
(141, 'outlets.create', 'web', '2026-06-11 15:50:31', '2026-06-11 15:50:31'),
(142, 'outlets.edit', 'web', '2026-06-11 15:50:31', '2026-06-11 15:50:31'),
(143, 'outlets.delete', 'web', NULL, NULL),
(144, 'outlets.manage', 'web', '2026-06-11 15:50:31', '2026-06-11 15:50:31'),
(145, 'outlets.view_collections', 'web', NULL, NULL),
(146, 'orders.view', 'web', NULL, NULL),
(147, 'orders.create', 'web', NULL, NULL),
(148, 'orders.edit', 'web', NULL, NULL),
(149, 'orders.delete', 'web', NULL, NULL),
(150, 'orders.refund', 'web', NULL, NULL),
(151, 'orders.payment', 'web', NULL, NULL),
(152, 'menu.categories.view', 'web', NULL, NULL),
(153, 'menu.categories.create', 'web', NULL, NULL),
(154, 'menu.categories.edit', 'web', NULL, NULL),
(155, 'menu.categories.delete', 'web', NULL, NULL),
(156, 'menu.items.view', 'web', NULL, NULL),
(157, 'menu.items.create', 'web', NULL, NULL),
(158, 'menu.items.edit', 'web', NULL, NULL),
(159, 'menu.items.delete', 'web', NULL, NULL),
(160, 'menu.featured.view', 'web', NULL, NULL),
(161, 'menu.featured.create', 'web', NULL, NULL),
(162, 'menu.featured.edit', 'web', NULL, NULL),
(163, 'menu.featured.delete', 'web', NULL, NULL),
(164, 'menu.featured.set_landing', 'web', NULL, NULL),
(165, 'guest.landing.view', 'web', NULL, NULL),
(166, 'guest.landing.create', 'web', NULL, NULL),
(167, 'guest.landing.edit', 'web', NULL, NULL),
(168, 'guest.landing.delete', 'web', NULL, NULL),
(214, 'reports.tickets.export', 'web', NULL, NULL),
(213, 'reports.tickets.print', 'web', NULL, NULL),
(212, 'reports.tickets.view', 'web', NULL, NULL),
(178, 'system.manage', 'web', NULL, NULL),
(179, 'system.manage_permissions', 'web', NULL, NULL),
(180, 'system.manage_roles', 'web', NULL, NULL),
(181, 'system.manage_users', 'web', NULL, NULL),
(182, 'system.view_logs', 'web', NULL, NULL),
(183, 'invoice.view', 'web', NULL, NULL),
(184, 'invoice.viewown', 'web', NULL, NULL),
(185, 'invoice.viewall', 'web', NULL, NULL),
(186, 'invoice.print', 'web', NULL, NULL),
(211, 'reports.finance.export', 'web', NULL, NULL),
(210, 'reports.finance.print', 'web', NULL, NULL),
(209, 'reports.finance.view', 'web', NULL, NULL),
(208, 'reports.invoice.export', 'web', NULL, NULL),
(207, 'reports.invoice.view', 'web', NULL, NULL),
(192, 'requests.edit_items', 'web', NULL, NULL),
(193, 'requests.refund', 'web', NULL, NULL),
(194, 'cashier.reconcile_shift', 'web', NULL, NULL),
(195, 'cashier.confirm_house_fund', 'web', NULL, NULL),
(201, 'finance.adjustments.view', 'web', NULL, NULL),
(202, 'finance.adjustments.create', 'web', NULL, NULL),
(203, 'finance.adjustments.edit', 'web', NULL, NULL),
(204, 'finance.adjustments.delete', 'web', NULL, NULL),
(215, 'dashboard.view', 'web', NULL, NULL),
(224, 'menu.items.toggle_status', 'web', '2026-06-09 18:59:29', '2026-06-09 18:59:29'),
(225, 'menu.items.toggle_availability', 'web', '2026-06-09 18:59:29', '2026-06-09 18:59:29'),
(226, 'printing.view', 'web', '2026-06-13 15:12:34', '2026-06-13 15:12:34'),
(227, 'printing.create', 'web', '2026-06-13 15:12:34', '2026-06-13 15:12:34'),
(228, 'printing.edit', 'web', '2026-06-13 15:12:34', '2026-06-13 15:12:34'),
(229, 'printing.delete', 'web', '2026-06-13 15:12:34', '2026-06-13 15:12:34'),
(230, 'printing.install', 'web', '2026-06-13 15:12:34', '2026-06-13 15:12:34'),
(231, 'printing.download', 'web', '2026-06-13 15:12:34', '2026-06-13 15:12:34'),
(232, 'surveys.manage', 'web', '2026-06-19 12:49:58', '2026-06-19 12:49:58'),
(233, 'reports.guest-satisfaction.view', 'web', '2026-06-19 12:49:58', '2026-06-19 12:49:58');

-- --------------------------------------------------------

--
-- Table structure for table `personal_access_tokens`
--

DROP TABLE IF EXISTS `personal_access_tokens`;
CREATE TABLE IF NOT EXISTS `personal_access_tokens` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `tokenable_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `tokenable_id` bigint UNSIGNED NOT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `token` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `abilities` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `pms_rate_plans`
--

DROP TABLE IF EXISTS `pms_rate_plans`;
CREATE TABLE IF NOT EXISTS `pms_rate_plans` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `code` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `currency` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'EGP',
  `base_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `included_adults` smallint UNSIGNED NOT NULL DEFAULT '2',
  `extra_adult_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `extra_child_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `updated_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `pms_rate_zone_code_unique` (`zone_id`,`code`),
  KEY `pms_rate_plans_created_by_foreign` (`created_by`),
  KEY `pms_rate_plans_updated_by_foreign` (`updated_by`),
  KEY `pms_rate_zone_active_idx` (`zone_id`,`active`),
  KEY `pms_rate_plans_active_index` (`active`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `pms_reservations`
--

DROP TABLE IF EXISTS `pms_reservations`;
CREATE TABLE IF NOT EXISTS `pms_reservations` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `confirmation_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `zone_id` bigint UNSIGNED NOT NULL,
  `contact_id` bigint UNSIGNED NOT NULL,
  `unit_id` bigint UNSIGNED DEFAULT NULL,
  `rate_plan_id` bigint UNSIGNED DEFAULT NULL,
  `quoted_rate_amount` decimal(12,2) DEFAULT NULL,
  `quoted_rate_currency` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `arrival_date` date NOT NULL,
  `departure_date` date NOT NULL,
  `adults` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `children` tinyint UNSIGNED NOT NULL DEFAULT '0',
  `source` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'reserved',
  `notes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `updated_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `pms_reservations_confirmation_number_unique` (`confirmation_number`),
  KEY `pms_reservations_contact_id_foreign` (`contact_id`),
  KEY `pms_reservations_created_by_foreign` (`created_by`),
  KEY `pms_reservations_updated_by_foreign` (`updated_by`),
  KEY `pms_res_zone_arrival_idx` (`zone_id`,`arrival_date`),
  KEY `pms_res_zone_departure_idx` (`zone_id`,`departure_date`),
  KEY `pms_res_zone_status_idx` (`zone_id`,`status`),
  KEY `pms_res_unit_dates_idx` (`unit_id`,`arrival_date`,`departure_date`),
  KEY `pms_reservations_status_index` (`status`),
  KEY `pms_res_rate_plan_idx` (`rate_plan_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `pms_reservation_action_logs`
--

DROP TABLE IF EXISTS `pms_reservation_action_logs`;
CREATE TABLE IF NOT EXISTS `pms_reservation_action_logs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `reservation_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `action` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `before` json DEFAULT NULL,
  `after` json DEFAULT NULL,
  `note` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `pms_reservation_action_logs_user_id_foreign` (`user_id`),
  KEY `pms_action_log_reservation_idx` (`reservation_id`,`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `printer_agents`
--

DROP TABLE IF EXISTS `printer_agents`;
CREATE TABLE IF NOT EXISTS `printer_agents` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `agent_uuid` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `token_hash` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'approved',
  `last_seen_at` timestamp NULL DEFAULT NULL,
  `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `printer_agents_agent_uuid_unique` (`agent_uuid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `printer_agents`
--

INSERT INTO `printer_agents` (`id`, `agent_uuid`, `name`, `token_hash`, `status`, `last_seen_at`, `metadata`, `created_at`, `updated_at`) VALUES
(2, 'local-laravel-agent', 'Local Laravel Test Agent', '023f393114e2878118361db154e6a795ff30783dcadaef232c5bbe71fd882bfc', 'unconfigured', '2026-06-08 22:44:01', '{\"os\": \"windows\", \"version\": \"0.1.0\", \"hostname\": \"DESKTOP-5EGDS35\", \"capabilities\": {\"adapters\": [\"network_raw\"], \"supports_confirmed\": false}, \"deleted_local_printer_ids\": [\"local-fake-printer\"]}', '2026-06-08 22:29:49', '2026-06-09 11:49:35'),
(3, 'aot-agent-184041ca-09cd-4c59-8c05-906fe0d74412', 'AOT Auto Registered Agent', '6360cdce90f5d0f79a1e70949a20792844dfee0687c9b05d2ceedf9dd9ee48a2', 'unconfigured', '2026-06-12 13:34:09', '{\"os\":\"windows\",\"version\":\"tray-sync\",\"hostname\":\"DESKTOP-5EGDS35\",\"capabilities\":{\"adapters\":[\"network_raw\",\"windows_spooler\"],\"supports_confirmed\":false},\"registered_from\":\"print_routing_auto_installer\",\"requires_admin_setup\":true,\"deleted_local_printer_ids\":[\"pending-printer-e0d74412\",\"pending-printer-21c59db7\"]}', '2026-06-08 22:44:20', '2026-06-14 12:31:46'),
(4, 'aot-agent-aa8f5cd5-acf7-425a-99f6-2b2b552f8a83', 'AOT Auto Registered Agent', '2df35ad7ab2f7d8fa2ecc8fb185bc16fe4df0537c8593f929468e7bfca7300ab', 'approved', '2026-06-14 19:30:36', '{\"registered_from\":\"print_routing_auto_installer\",\"requires_admin_setup\":true,\"installer_token\":\"eyJpdiI6ImZFeVp0TUZSNDJLQVd6M3JaTldDc0E9PSIsInZhbHVlIjoiU1RHNllVNDZvdE1veW1wb3NTR1RVTzZ5ZCtKZlIvT3EzUG5xQ3paRjgxRXJjWmJhQ0tiZ0lWNzcvSHFVWE0rb25Ka0VhbVBNWWhDT00rR2FteGR0MWIvYjdDSkZVejVYcDdUQzI2NCtvOG89IiwibWFjIjoiNWQzZTk4ZjdhZTFhZGM5ZjcyMWVhOTIzODA0MTZjMmE2OTgxMWVhZjliODY4ZDQ3MGQ4MzYzNDUyNmFmMzVkMiIsInRhZyI6IiJ9\",\"version\":\"0.1.0\",\"hostname\":\"DPSBITMANAGER\",\"os\":\"windows\",\"capabilities\":{\"adapters\":[\"network_raw\",\"windows_spooler\"],\"payload_formats\":[\"escpos_base64\",\"text_utf8_base64\",\"aot_receipt_v1_base64\"],\"supports_aot_receipt_v1\":true,\"supports_confirmed\":false}}', '2026-06-14 12:31:50', '2026-06-14 19:30:36');

-- --------------------------------------------------------

--
-- Table structure for table `printer_agent_printers`
--

DROP TABLE IF EXISTS `printer_agent_printers`;
CREATE TABLE IF NOT EXISTS `printer_agent_printers` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `printer_agent_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `local_printer_id` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `connection_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `ip_address` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `port` int UNSIGNED DEFAULT NULL,
  `spooler_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `print_on_order_created` tinyint(1) NOT NULL DEFAULT '0',
  `print_on_order_confirmed` tinyint(1) NOT NULL DEFAULT '0',
  `station_label` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `print_language` varchar(8) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'en',
  `arabic_code_page` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pc864_22',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `printer_agent_printers_printer_agent_id_local_printer_id_unique` (`printer_agent_id`,`local_printer_id`),
  KEY `printer_agent_printers_zone_active_idx` (`zone_id`,`is_active`),
  KEY `printer_agent_printers_outlet_id_foreign` (`outlet_id`),
  KEY `printer_agent_printers_zone_outlet_active_idx` (`zone_id`,`outlet_id`,`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `printer_agent_printers`
--

INSERT INTO `printer_agent_printers` (`id`, `printer_agent_id`, `zone_id`, `outlet_id`, `local_printer_id`, `name`, `connection_type`, `ip_address`, `port`, `spooler_name`, `is_active`, `print_on_order_created`, `print_on_order_confirmed`, `station_label`, `print_language`, `arabic_code_page`, `created_at`, `updated_at`) VALUES
(7, 4, 1, NULL, 'pending-printer-552f8a83', 'Pending Printer Setup', 'network_raw', '192.168.102.231', 9100, NULL, 1, 0, 1, 'Discovered by Installer', 'en', 'pc864_22', '2026-06-14 12:31:50', '2026-06-14 12:32:12');

-- --------------------------------------------------------

--
-- Table structure for table `printer_links`
--

DROP TABLE IF EXISTS `printer_links`;
CREATE TABLE IF NOT EXISTS `printer_links` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `printer_agent_printer_id` bigint UNSIGNED NOT NULL,
  `link_type` enum('zone','outlet','service_point','cashier_station','kitchen_station','payment_method','order_context','global') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `link_id` bigint UNSIGNED NOT NULL DEFAULT '0',
  `trigger` enum('order_created','order_confirmed','payment_paid','manual_reprint') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `document_type` enum('kot','customer_receipt','cashier_receipt','audit_copy') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'customer_receipt',
  `priority` smallint UNSIGNED NOT NULL DEFAULT '50',
  `copies` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `fallback_enabled` tinyint(1) NOT NULL DEFAULT '0',
  `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `printer_links_unique_route` (`printer_agent_printer_id`,`link_type`,`link_id`,`trigger`,`document_type`),
  KEY `printer_links_route_lookup_idx` (`link_type`,`link_id`,`trigger`,`document_type`,`is_active`,`fallback_enabled`,`priority`),
  KEY `printer_links_trigger_lookup_idx` (`trigger`,`document_type`,`is_active`,`fallback_enabled`,`priority`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `printer_links`
--

INSERT INTO `printer_links` (`id`, `printer_agent_printer_id`, `link_type`, `link_id`, `trigger`, `document_type`, `priority`, `copies`, `is_active`, `fallback_enabled`, `meta`, `created_at`, `updated_at`) VALUES
(1, 4, 'outlet', 1, 'order_created', 'kot', 50, 1, 1, 0, '{\"managed_from\": \"print_routing\", \"target_label\": \"Lobby Bar - Porto Sokhna - Pyramids\"}', '2026-06-14 09:22:11', '2026-06-14 09:22:11'),
(9, 7, 'outlet', 1, 'order_confirmed', 'customer_receipt', 50, 1, 1, 0, '{\"managed_from\":\"print_routing\",\"target_label\":\"Lobby Bar - Porto Sokhna - Pyramids\"}', '2026-06-14 18:09:39', '2026-06-14 18:09:39'),
(7, 7, 'outlet', 16, 'order_confirmed', 'customer_receipt', 50, 1, 1, 0, '{\"managed_from\":\"print_routing\",\"target_label\":\"Room Service - Porto Sokhna - Pyramids\"}', '2026-06-14 12:38:43', '2026-06-14 12:38:43');

-- --------------------------------------------------------

--
-- Table structure for table `print_jobs`
--

DROP TABLE IF EXISTS `print_jobs`;
CREATE TABLE IF NOT EXISTS `print_jobs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `printer_agent_id` bigint UNSIGNED NOT NULL,
  `printer_agent_printer_id` bigint UNSIGNED NOT NULL,
  `order_id` bigint UNSIGNED DEFAULT NULL,
  `source` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending',
  `payload_format` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'escpos_base64',
  `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `leased_until` timestamp NULL DEFAULT NULL,
  `sent_at` timestamp NULL DEFAULT NULL,
  `confirmed_at` timestamp NULL DEFAULT NULL,
  `error_code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `error_message` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `print_jobs_printer_agent_id_foreign` (`printer_agent_id`),
  KEY `print_jobs_printer_agent_printer_id_foreign` (`printer_agent_printer_id`),
  KEY `print_jobs_order_id_index` (`order_id`),
  KEY `print_jobs_source_index` (`source`),
  KEY `idx_print_jobs_agent_status_date` (`printer_agent_id`,`status`,`created_at`),
  KEY `idx_print_jobs_printer_status_date` (`printer_agent_printer_id`,`status`,`created_at`),
  KEY `idx_print_jobs_order_source_date` (`order_id`,`source`,`created_at`),
  KEY `idx_print_jobs_leased_until` (`status`,`leased_until`,`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `print_jobs`
--

INSERT INTO `print_jobs` (`id`, `printer_agent_id`, `printer_agent_printer_id`, `order_id`, `source`, `status`, `payload_format`, `content`, `leased_until`, `sent_at`, `confirmed_at`, `error_code`, `error_message`, `meta`, `created_at`, `updated_at`) VALUES
(1, 1, 1, NULL, NULL, 'sent', 'escpos_base64', 'G0BBT1QgTEFSQVZFTCBURVNUCk9yZGVyICMyMDAxCkl0ZW06IExhcmF2ZWwgZ2VuZXJhdGVkIHRlc3QgcmVjZWlwdAo=', '2026-06-08 18:22:20', '2026-06-08 15:21:20', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 68}', '2026-06-08 18:21:19', '2026-06-08 18:21:20'),
(2, 1, 1, NULL, NULL, 'sent', 'escpos_base64', 'G0BBT1QgTEFSQVZFTCBURVNUCk9yZGVyICMyMDAxCkl0ZW06IExhcmF2ZWwgZ2VuZXJhdGVkIHRlc3QgcmVjZWlwdAo=', '2026-06-08 18:23:25', '2026-06-08 15:22:25', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 68}', '2026-06-08 18:22:24', '2026-06-08 18:22:25'),
(3, 1, 1, 24, 'real_order_test', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtUFJJTlQtSVRHS08KR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6Mjg6MzIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', '2026-06-08 18:30:11', '2026-06-08 15:29:11', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 320}', '2026-06-08 18:28:32', '2026-06-08 18:29:11'),
(5, 1, 1, 26, 'real_order_test', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtUFJJTlQtSllBTDIKR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6Mjk6NDQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', '2026-06-08 18:30:44', '2026-06-08 15:29:44', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 320}', '2026-06-08 18:29:44', '2026-06-08 18:29:44'),
(4, 1, 1, 25, 'real_order_test', 'cancelled', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtUFJJTlQtMk5NQlcKR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6Mjk6MTAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', NULL, NULL, NULL, 'test_reset', 'Cancelled by printer-agent:create-real-order-test --clear-pending-test-jobs', '{\"source\": \"real_order_test\", \"created_by\": \"OrderPrintJobService\", \"order_code\": \"ORD-PRINT-2NMBW\"}', '2026-06-08 18:29:10', '2026-06-08 18:29:44'),
(6, 1, 1, 27, 'real_order_test', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtUFJJTlQtTjQ5UzgKR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6MzU6MzQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', '2026-06-08 18:36:35', '2026-06-08 15:35:35', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 320}', '2026-06-08 18:35:34', '2026-06-08 18:35:35'),
(7, 1, 1, 28, 'real_order_test', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtUFJJTlQtSVJES1IKR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6NDA6NTYKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', '2026-06-08 18:41:57', '2026-06-08 15:40:57', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 320}', '2026-06-08 18:40:56', '2026-06-08 18:40:57'),
(8, 1, 1, 29, 'real_order_test', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtUFJJTlQtRlZWRFEKR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6NDI6MTAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', '2026-06-08 18:43:12', '2026-06-08 15:42:12', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 320}', '2026-06-08 18:42:10', '2026-06-08 18:42:12'),
(9, 1, 1, 30, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtWUxZU0tOS0gKR3Vlc3Q6IHRhaGEKUGhvbmU6IDAxMgpVbml0OiAxMDEKQ3JlYXRlZDogMjAyNi0wNi0wOCAyMTo0Mzo0MgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoxIHggTW9sb2toaWEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA3NC4wOQoK', '2026-06-08 18:44:45', '2026-06-08 15:43:45', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 192}', '2026-06-08 18:43:42', '2026-06-08 18:43:45'),
(10, 1, 1, 31, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSCk9yZGVyOiBPUkQtSUlHV09OUTcKR3Vlc3Q6IFRhaGEKUGhvbmU6IDEyMzMKVW5pdDogMTA0CkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6NTI6MDUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMyB4IEdyaWxsZWQgS29mdGEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCAyNjIuMjAKCg==', '2026-06-08 18:53:06', '2026-06-08 15:52:06', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 199}', '2026-06-08 18:52:05', '2026-06-08 18:52:06'),
(11, 1, 1, 32, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtUFJJTlQtQVdGTUUKR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6NTY6NTkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', '2026-06-08 18:58:00', '2026-06-08 15:57:00', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 338}', '2026-06-08 18:56:59', '2026-06-08 18:57:00'),
(12, 1, 1, 33, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtUFJJTlQtRVpSSUIKR3Vlc3Q6IFByaW50ZXIgVGVzdCBHdWVzdApQaG9uZTogMDEwMDAwMDAwMDAKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjE6NTc6MTIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEtvc2hhcnkKICBOb3RlOiBSZWFsIG9yZGVyIHByaW50IGludGVncmF0aW9uIHRlc3QKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA0NS4wMApPcmRlciBub3RlOiBDcmVhdGVkIGZyb20gcHJpbnRlci1hZ2VudDpjcmVhdGUtcmVhbC1vcmRlci10ZXN0Cgo=', '2026-06-08 18:58:13', '2026-06-08 15:57:13', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 338}', '2026-06-08 18:57:12', '2026-06-08 18:57:13'),
(13, 1, 1, 34, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtUDlYUzNEQVQKR3Vlc3Q6IDExClBob25lOiAtClVuaXQ6IDEwMwpDcmVhdGVkOiAyMDI2LTA2LTA4IDIyOjEzOjIwCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjEgeCBGYWxhZmVsIChUYWFtZXlhKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUb3RhbDogRUdQIDI4LjUwCgo=', '2026-06-08 19:14:22', '2026-06-08 16:13:22', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 215}', '2026-06-08 19:13:20', '2026-06-08 19:13:22'),
(14, 1, 1, 34, 'order_confirmed', 'failed', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IENPTkZJUk1FRApPcmRlcjogT1JELVA5WFMzREFUCkd1ZXN0OiAxMQpQaG9uZTogLQpVbml0OiAxMDMKQ3JlYXRlZDogMjAyNi0wNi0wOCAyMjoxMzo1OAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoxIHggRmFsYWZlbCAoVGFhbWV5YSkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCAyOC41MAoK', '2026-06-08 19:14:59', NULL, NULL, 'printer_unreachable', 'dial tcp 127.0.0.1:19100: connectex: No connection could be made because the target machine actively refused it.', '{\"confirmation\": null, \"bytes_written\": 0}', '2026-06-08 19:13:58', '2026-06-08 19:13:59'),
(15, 1, 1, 35, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtR09PT1RDQ1gKR3Vlc3Q6IDAwClBob25lOiAtClVuaXQ6IDEwNQpDcmVhdGVkOiAyMDI2LTA2LTA4IDIyOjE4OjIxCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjEgeCBIYXdhd3NoaQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUb3RhbDogRUdQIDUxLjMwCgo=', '2026-06-08 19:19:23', '2026-06-08 16:18:23', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 206}', '2026-06-08 19:18:21', '2026-06-08 19:18:23'),
(16, 1, 1, 36, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtT0NKVkZaV0gKR3Vlc3Q6IDExClBob25lOiAxMTEKVW5pdDogMTAyCkNyZWF0ZWQ6IDIwMjYtMDYtMDggMjI6MjA6MzYKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEdyaWxsZWQgS29mdGEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVG90YWw6IEVHUCA5MS4yMAoK', '2026-06-08 19:21:38', '2026-06-08 16:20:38', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 213}', '2026-06-08 19:20:36', '2026-06-08 19:20:38'),
(17, 1, 1, 36, 'order_confirmed', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IENPTkZJUk1FRApPcmRlcjogT1JELU9DSlZGWldICkd1ZXN0OiAxMQpQaG9uZTogMTExClVuaXQ6IDEwMgpDcmVhdGVkOiAyMDI2LTA2LTA4IDIyOjIwOjQ1Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjEgeCBHcmlsbGVkIEtvZnRhCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRvdGFsOiBFR1AgOTEuMjAKCg==', '2026-06-08 19:21:47', '2026-06-08 16:20:47', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 214}', '2026-06-08 19:20:45', '2026-06-08 19:20:47'),
(18, 1, 1, 37, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtQ1ZRTlRMT0kKR3Vlc3Q6IGRkZGQKUGhvbmU6IC0KVW5pdDogMTAzCkNyZWF0ZWQ6IDIwMjYtMDYtMDkgMDE6MDQ6MTAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEhhd2F3c2hpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRvdGFsOiBFR1AgNTEuMzAKCg==', '2026-06-08 22:08:34', '2026-06-08 19:07:34', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 208}', '2026-06-08 22:04:10', '2026-06-08 22:07:34'),
(19, 1, 1, 38, 'order_created', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtRUlGSVhSR0IKR3Vlc3Q6IGdnZwpQaG9uZTogLQpVbml0OiAxMDIKQ3JlYXRlZDogMjAyNi0wNi0wOSAwMTowNzo1MQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoyIHggV2FmZmxlCjEgeCBUdXJraXNoIENvZmZlZQoxIHggS3VuYWZhCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRvdGFsOiBFR1AgMTcxLjAwCgo=', '2026-06-08 22:08:54', '2026-06-08 19:07:54', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 236}', '2026-06-08 22:07:51', '2026-06-08 22:07:54'),
(20, 1, 1, 38, 'order_confirmed', 'sent', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IENPTkZJUk1FRApPcmRlcjogT1JELUVJRklYUkdCCkd1ZXN0OiBnZ2cKUGhvbmU6IC0KVW5pdDogMTAyCkNyZWF0ZWQ6IDIwMjYtMDYtMDkgMDE6MDg6MTEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMiB4IFdhZmZsZQoxIHggVHVya2lzaCBDb2ZmZWUKMSB4IEt1bmFmYQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUb3RhbDogRUdQIDE3MS4wMAoK', '2026-06-08 22:09:14', '2026-06-08 19:08:14', NULL, NULL, NULL, '{\"confirmation\": \"socket_write_only\", \"bytes_written\": 237}', '2026-06-08 22:08:11', '2026-06-08 22:08:14'),
(57, 4, 7, 77, 'order_confirmed', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBMb2JieSBCYXINChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjMTUNChthAE9yZGVyOiBPUkQtTk9SVFk4NlANChthAExvY2F0aW9uOiBUYWJsZSA0DQobYQBHdWVzdCBOYW1lOiBUYWhhDQobYQBQaG9uZTogMDEyMDAwMDANChthAENyZWF0ZWQ6IDIwMjYtMDYtMTQgMTg6MTU6NTgNChthAFBhaWQ6IEVHUCA5MS4yMA0KG2EATWV0aG9kOiBDYXNoDQobYQBQYWlkIEJ5OiBBZG1pbiBVc2VyDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EAMSB4IEt1bmFmYS4uLi4uLi4uLi4uLi4uLi4uNDUuMDANChthADEgeCBCYWtsYXZhLi4uLi4uLi4uLi4uLi4uLjMwLjAwDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EASXRlbXM6IDIgUXR5OiAyDQobYQBTdWJ0b3RhbC4uLi4uLi4uLi4uLi4uLi4uLi43NS4wMA0KG2EAQ292ZXIgQ2hhcmdlLi4uLi4uLi4uLi4uLi4uKzUuMDANChthAFZBVC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uKzExLjIwDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EAVG90YWwuLi4uLi4uLi4uLi4uLi4uLi5FR1AgOTEuMjANChthARthAS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQFUaGFuayB5b3UgZm9yIHlvdXIgb3JkZXINChthAVdlIGhvcGUgdG8gc2VlIHlvdSBhZ2FpbiBzb29uDQobIQAbYQANCg0KDQoNCh1WQkA=', '2026-06-14 18:17:01', '2026-06-14 15:16:01', NULL, NULL, NULL, '{\"source\":\"order_confirmed\",\"order_code\":\"ORD-NORTY86P\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"PSK-PYR - Lobby Bar\\nTrigger: CONFIRMED\\nOrder No: Order #15\\nOrder: ORD-NORTY86P\\nLocation: Table 4\\nGuest Name: Taha\\nPhone: 01200000\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 18:15:58\\nPaid: EGP 91.20\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Kunafa.................45.00\\n1 x Baklava................30.00\\n--------------------------------\\nItems: 2    Qty: 2\\nSubtotal...................75.00\\nCover Charge...............+5.00\\nVAT.......................+11.20\\n--------------------------------\\nTotal..................EGP 91.20\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":1,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[1,16],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":9,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":9,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":722,\"confirmation\":\"socket_write_only\"}', '2026-06-14 18:15:58', '2026-06-14 18:16:01'),
(56, 4, 7, 76, 'order_created', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBSb29tIFNlcnZpY2UNChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjMTQNChthAE9yZGVyOiBPUkQtMjYwNTI2LU5GUlMNChthAExvY2F0aW9uOiBSb29tIDEwMQ0KG2EAR3Vlc3QgTmFtZTogWmlhZCBUYXJlaw0KG2EAUGhvbmU6IDEwMDAyMDUxNDYNChthAENyZWF0ZWQ6IDIwMjYtMDYtMTQgMTg6MTE6MTYNChthAENvbGxlY3Q6IEVHUCAxODUuNTANChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQAxIHggR3JpbGxlZCBLb2Z0YS4uLi4uLi4uLi43NS4wMA0KG2EALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAEl0ZW1zOiAxIFF0eTogMQ0KG2EAU3VidG90YWwuLi4uLi4uLi4uLi4uLi4uLi4uNzUuMDANChthAFNlcnZpY2UgQ2hhcmdlLi4uLi4uLi4uLi4uKzEwLjUwDQobYQBhZGp1c21lbnQxLi4uLi4uLi4uLi4uLi4uKzEwMC4wMA0KG2EALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAFRvdGFsLi4uLi4uLi4uLi4uLi4uLi5FR1AgMTg1LjUwDQobYQEbYQEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EBVGhhbmsgeW91IGZvciB5b3VyIG9yZGVyDQobYQFXZSBob3BlIHRvIHNlZSB5b3UgYWdhaW4gc29vbg0KGyEAG2EADQoNCg0KDQodVkJA', '2026-06-14 18:12:16', '2026-06-14 15:11:16', NULL, NULL, NULL, '{\"source\":\"order_created\",\"order_code\":\"ORD-260526-NFRS\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"PSK-PYR - Room Service\\nTrigger: RECEIVED\\nOrder No: Order #14\\nOrder: ORD-260526-NFRS\\nLocation: Room 101\\nGuest Name: Ziad Tarek\\nPhone: 1000205146\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 18:11:16\\nCollect: EGP 185.50\\n--------------------------------\\n1 x Grilled Kofta..........75.00\\n--------------------------------\\nItems: 1    Qty: 1\\nSubtotal...................75.00\\nService Charge............+10.50\\nadjusment1...............+100.00\\n--------------------------------\\nTotal.................EGP 185.50\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":16,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[1,1,16,16],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"kot\",\"matched_link_id\":10,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":10,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":0},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":663,\"confirmation\":\"socket_write_only\"}', '2026-06-14 18:11:16', '2026-06-14 18:11:16'),
(55, 4, 7, 44, 'manual_reprint', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBvcnRvIFNva2huYSAtIFB5cmFtaWRzDQobRQAbIQAbYQBPcmRlciBObzogT3JkZXIgIzEzDQobYQBPcmRlcjogT1JELVgwUEQyVU5XDQobYQBMb2NhdGlvbjogUm9vbSAxMDINChthAEd1ZXN0IE5hbWU6IC0NChthAFBob25lOiAtDQobYQBDcmVhdGVkOiAyMDI2LTA2LTE0IDE1OjU5OjQ3DQobYQBQYWlkOiBFR1AgMzcuNjENChthAE1ldGhvZDogQ2FzaA0KG2EAUGFpZCBCeTogQWRtaW4gVXNlcg0KG2EALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthADEgeCBJY2UgQ3JlYW0uLi4uLi4uLi4uLi4uLjI4LjAwDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EASXRlbXM6IDEgUXR5OiAxDQobYQBTdWJ0b3RhbC4uLi4uLi4uLi4uLi4uLi4uLi4yOC4wMA0KG2EAQ292ZXIgQ2hhcmdlLi4uLi4uLi4uLi4uLi4uKzUuMDANChthAFZBVC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLis0LjYyDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EAVG90YWwuLi4uLi4uLi4uLi4uLi4uLi5FR1AgMzcuNjENChthARthAS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQFUaGFuayB5b3UgZm9yIHlvdXIgb3JkZXINChthAVdlIGhvcGUgdG8gc2VlIHlvdSBhZ2FpbiBzb29uDQobIQAbYQANCg0KDQoNCh1WQkA=', '2026-06-14 16:00:51', '2026-06-14 12:59:51', NULL, NULL, NULL, '{\"source\":\"manual_reprint\",\"order_code\":\"ORD-X0PD2UNW\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"Porto Sokhna - Pyramids\\nTrigger: REPRINT\\nOrder No: Order #13\\nOrder: ORD-X0PD2UNW\\nLocation: Room 102\\nGuest Name: -\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 15:59:47\\nPaid: EGP 37.61\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Ice Cream..............28.00\\n--------------------------------\\nItems: 1    Qty: 1\\nSubtotal...................28.00\\nCover Charge...............+5.00\\nVAT........................+4.62\\n--------------------------------\\nTotal..................EGP 37.61\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":null,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[16],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":true,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":7,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":7,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":680,\"confirmation\":\"socket_write_only\"}', '2026-06-14 15:59:47', '2026-06-14 15:59:51'),
(34, 2, 5, 42, 'order_created', 'cancelled', 'escpos_base64', 'G0AKQU9UIE9SREVSClRyaWdnZXI6IFJFQ0VJVkVECk9yZGVyOiBPUkQtODZHR0pLT1AKR3Vlc3Q6INin2KrYp9mE2KrYp9mE2KoKUGhvbmU6INmE2KfYqtmE2KfYqtmE2KcKVW5pdDogMTAxCkNyZWF0ZWQ6IDIwMjYtMDYtMDkgMTQ6NDg6MTMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMSB4IEljZSBDcmVhbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUb3RhbDogRUdQIDM3LjYxCgo=', NULL, NULL, NULL, 'stale_agent', 'Cancelled because the printer agent is no longer approved/configured', '{\"source\": \"order_created\", \"printer\": \"local-fake-printer\", \"created_by\": \"OrderPrintJobService\", \"order_code\": \"ORD-86GGJKOP\", \"order_zone_id\": 1, \"station_label\": \"Cashier\", \"printer_zone_id\": null}', '2026-06-09 11:48:13', '2026-06-09 11:59:38'),
(54, 4, 7, 44, 'order_confirmed', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBvcnRvIFNva2huYSAtIFB5cmFtaWRzDQobRQAbIQAbYQBPcmRlciBObzogT3JkZXIgIzEzDQobYQBPcmRlcjogT1JELVgwUEQyVU5XDQobYQBMb2NhdGlvbjogUm9vbSAxMDINChthAEd1ZXN0IE5hbWU6IC0NChthAFBob25lOiAtDQobYQBDcmVhdGVkOiAyMDI2LTA2LTE0IDE1OjU0OjE0DQobYQBQYWlkOiBFR1AgMzcuNjENChthAE1ldGhvZDogQ2FzaA0KG2EAUGFpZCBCeTogQWRtaW4gVXNlcg0KG2EALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthADEgeCBJY2UgQ3JlYW0uLi4uLi4uLi4uLi4uLjI4LjAwDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EASXRlbXM6IDEgUXR5OiAxDQobYQBTdWJ0b3RhbC4uLi4uLi4uLi4uLi4uLi4uLi4yOC4wMA0KG2EAQ292ZXIgQ2hhcmdlLi4uLi4uLi4uLi4uLi4uKzUuMDANChthAFZBVC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLis0LjYyDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EAVG90YWwuLi4uLi4uLi4uLi4uLi4uLi5FR1AgMzcuNjENChthARthAS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQFUaGFuayB5b3UgZm9yIHlvdXIgb3JkZXINChthAVdlIGhvcGUgdG8gc2VlIHlvdSBhZ2FpbiBzb29uDQobIQAbYQANCg0KDQoNCh1WQkA=', '2026-06-14 15:55:16', '2026-06-14 12:54:16', NULL, NULL, NULL, '{\"source\":\"order_confirmed\",\"order_code\":\"ORD-X0PD2UNW\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"Porto Sokhna - Pyramids\\nTrigger: CONFIRMED\\nOrder No: Order #13\\nOrder: ORD-X0PD2UNW\\nLocation: Room 102\\nGuest Name: -\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 15:54:14\\nPaid: EGP 37.61\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Ice Cream..............28.00\\n--------------------------------\\nItems: 1    Qty: 1\\nSubtotal...................28.00\\nCover Charge...............+5.00\\nVAT........................+4.62\\n--------------------------------\\nTotal..................EGP 37.61\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":null,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[16],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":7,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":7,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":680,\"confirmation\":\"socket_write_only\"}', '2026-06-14 15:54:14', '2026-06-14 15:54:16'),
(53, 4, 7, 75, 'order_confirmed', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBSb29tIFNlcnZpY2UNChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjMTINChthAE9yZGVyOiBPUkQtWFhYQ0FKUTQNChthAExvY2F0aW9uOiBSb29tIDEwMQ0KG2EAR3Vlc3QgTmFtZTogNTI0DQobYQBQaG9uZTogLQ0KG2EAQ3JlYXRlZDogMjAyNi0wNi0xNCAxMzo1MDozMA0KG2EAUGFpZDogRUdQIDE4NS41MA0KG2EATWV0aG9kOiBDYXNoDQobYQBQYWlkIEJ5OiBBZG1pbiBVc2VyDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EAMSB4IEdyaWxsZWQgS29mdGEgNzUuMDANChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBJdGVtczogMSBRdHk6IDENChthAFN1YnRvdGFsIDc1LjAwDQobYQBTZXJ2aWNlIENoYXJnZSArMTAuNTANChthAGFkanVzbWVudDEgKzEwMC4wMA0KG2EALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAFRvdGFsIEVHUCAxODUuNTANChthARthAS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQFUaGFuayB5b3UgZm9yIHlvdXIgb3JkZXINChthAVdlIGhvcGUgdG8gc2VlIHlvdSBhZ2FpbiBzb29uDQobIQAbYQANCg0KDQoNCh1WQkA=', '2026-06-14 13:51:31', '2026-06-14 10:50:31', NULL, NULL, NULL, '{\"source\":\"order_confirmed\",\"order_code\":\"ORD-XXXCAJQ4\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"PSK-PYR - Room Service\\nTrigger: CONFIRMED\\nOrder No: Order #12\\nOrder: ORD-XXXCAJQ4\\nLocation: Room 101\\nGuest Name: 524\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 13:50:30\\nPaid: EGP 185.50\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Grilled Kofta          75.00\\n--------------------------------\\nItems: 1    Qty: 1\\nSubtotal                   75.00\\nService Charge            +10.50\\nadjusment1               +100.00\\n--------------------------------\\nTotal                 EGP 185.50\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":16,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[16],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":7,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":7,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":0},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":614,\"confirmation\":\"socket_write_only\"}', '2026-06-14 13:50:30', '2026-06-14 13:50:31'),
(50, 4, 7, 72, 'order_created', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBSb29tIFNlcnZpY2UNChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjOQ0KG2EAT3JkZXI6IE9SRC1OS0JUTFc3Qg0KG2EATG9jYXRpb246IFJvb20gMTAyDQobYQBHdWVzdCBOYW1lOiB0YWhhDQobYQBQaG9uZTogLQ0KG2EAQ3JlYXRlZDogMjAyNi0wNi0xNCAxMzozNDoxMg0KG2EAQ29sbGVjdDogRUdQIDg0Ni43MA0KG2EALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthADEgeCBGYWxhZmVsIChUYWFtZXlhKQ0KG2EATm90ZTogZmhoZ2hmZyBnZiBnZmoNChthADIgeCBTaGF3YXJtYSBTYW5kd2ljaA0KG2EANyB4IEdyaWxsZWQgS29mdGENChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBJdGVtczogMyBRdHk6IDEwDQobYQBUb3RhbDogRUdQIDg0Ni43MA0KG2EBG2EBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAVRoYW5rIHlvdSBmb3IgeW91ciBvcmRlcg0KG2EBV2UgaG9wZSB0byBzZWUgeW91IGFnYWluIHNvb24NChshABthAA0KDQoNCg0KHVZCQA==', '2026-06-14 13:35:16', '2026-06-14 10:34:16', NULL, NULL, NULL, '{\"source\":\"order_created\",\"order_code\":\"ORD-NKBTLW7B\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"PSK-PYR - Room Service\\nTrigger: RECEIVED\\nOrder No: Order #9\\nOrder: ORD-NKBTLW7B\\nLocation: Room 102\\nGuest Name: taha\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 13:34:12\\nCollect: EGP 846.70\\n--------------------------------\\n1 x Falafel (Taameya)\\n  Note: fhhghfg gf gfj\\n2 x Shawarma Sandwich\\n7 x Grilled Kofta\\n--------------------------------\\nItems: 3    Qty: 10\\nTotal: EGP 846.70\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":16,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[16,16,1,1],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"kot\",\"matched_link_id\":6,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":6,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":16,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":0},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":544,\"confirmation\":\"socket_write_only\"}', '2026-06-14 13:34:12', '2026-06-14 13:34:16'),
(51, 4, 7, 73, 'order_created', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBMb2JieSBCYXINChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjMTANChthAE9yZGVyOiBPUkQtS0paUkxJREgNChthAExvY2F0aW9uOiBUYWJsZSAxDQobYQBHdWVzdCBOYW1lOiAtDQobYQBQaG9uZTogLQ0KG2EAQ3JlYXRlZDogMjAyNi0wNi0xNCAxMzo0NjowMw0KG2EAQ29sbGVjdDogRUdQIDM0LjIwDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EAMSB4IE1hbmdvIEp1aWNlIDI1LjAwDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EASXRlbXM6IDEgUXR5OiAxDQobYQBTdWJ0b3RhbCAyNS4wMA0KG2EAQ292ZXIgQ2hhcmdlICs1LjAwDQobYQBWQVQgKzQuMjANChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBUb3RhbCBFR1AgMzQuMjANChthARthAS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQFUaGFuayB5b3UgZm9yIHlvdXIgb3JkZXINChthAVdlIGhvcGUgdG8gc2VlIHlvdSBhZ2FpbiBzb29uDQobIQAbYQANCg0KDQoNCh1WQkA=', '2026-06-14 13:47:07', '2026-06-14 10:46:07', NULL, NULL, NULL, '{\"source\":\"order_created\",\"order_code\":\"ORD-KJZRLIDH\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"PSK-PYR - Lobby Bar\\nTrigger: RECEIVED\\nOrder No: Order #10\\nOrder: ORD-KJZRLIDH\\nLocation: Table 1\\nGuest Name: -\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 13:46:03\\nCollect: EGP 34.20\\n--------------------------------\\n1 x Mango Juice            25.00\\n--------------------------------\\nItems: 1    Qty: 1\\nSubtotal                   25.00\\nCover Charge               +5.00\\nVAT                        +4.20\\n--------------------------------\\nTotal                  EGP 34.20\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":1,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[16,16,1,1],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"kot\",\"matched_link_id\":4,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":4,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":554,\"confirmation\":\"socket_write_only\"}', '2026-06-14 13:46:03', '2026-06-14 13:46:07'),
(52, 4, 7, 73, 'order_confirmed', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBMb2JieSBCYXINChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjMTANChthAE9yZGVyOiBPUkQtS0paUkxJREgNChthAExvY2F0aW9uOiBUYWJsZSAxDQobYQBHdWVzdCBOYW1lOiAtDQobYQBQaG9uZTogLQ0KG2EAQ3JlYXRlZDogMjAyNi0wNi0xNCAxMzo0NjoxMA0KG2EAUGFpZDogRUdQIDM0LjIwDQobYQBNZXRob2Q6IENhc2gNChthAFBhaWQgQnk6IEFkbWluIFVzZXINChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQAxIHggTWFuZ28gSnVpY2UgMjUuMDANChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBJdGVtczogMSBRdHk6IDENChthAFN1YnRvdGFsIDI1LjAwDQobYQBDb3ZlciBDaGFyZ2UgKzUuMDANChthAFZBVCArNC4yMA0KG2EALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAFRvdGFsIEVHUCAzNC4yMA0KG2EBG2EBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAVRoYW5rIHlvdSBmb3IgeW91ciBvcmRlcg0KG2EBV2UgaG9wZSB0byBzZWUgeW91IGFnYWluIHNvb24NChshABthAA0KDQoNCg0KHVZCQA==', '2026-06-14 13:47:11', '2026-06-14 10:46:11', NULL, NULL, NULL, '{\"source\":\"order_confirmed\",\"order_code\":\"ORD-KJZRLIDH\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"PSK-PYR - Lobby Bar\\nTrigger: CONFIRMED\\nOrder No: Order #10\\nOrder: ORD-KJZRLIDH\\nLocation: Table 1\\nGuest Name: -\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 13:46:10\\nPaid: EGP 34.20\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Mango Juice            25.00\\n--------------------------------\\nItems: 1    Qty: 1\\nSubtotal                   25.00\\nCover Charge               +5.00\\nVAT                        +4.20\\n--------------------------------\\nTotal                  EGP 34.20\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":1,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[16,16,1,1],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":5,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":5,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":592,\"confirmation\":\"socket_write_only\"}', '2026-06-14 13:46:10', '2026-06-14 13:46:11'),
(48, 4, 7, NULL, 'printer_test', 'sent', 'escpos_base64', 'G0AbMhshABthARtFAUFPVCBQUklOVEVSIFRFU1QbRQANChthAFByaW50ZXI6IFBlbmRpbmcgUHJpbnRlciBTZXR1cA0KU3RhdGlvbjogRGlzY292ZXJlZCBieSBJbnN0YWxsZXINCkxvY2FsIElEOiBwZW5kaW5nLXByaW50ZXItNTUyZjhhODMNCkxhbmd1YWdlOiBFbmdsaXNoDQpUaW1lOiAyMDI2LTA2LTE0IDEyOjM4OjAxDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSWYgeW91IGNhbiByZWFkIHRoaXMsIHJvdXRpbmcgd29ya3MuDQoNCg0KDQoNCg0KDQodVgA=', '2026-06-14 12:39:01', '2026-06-14 09:38:01', NULL, NULL, NULL, '{\"source\":\"print_routing_test_button\",\"printer\":\"pending-printer-552f8a83\",\"business_date\":\"2026-06-14\",\"print_language\":\"en\",\"arabic_code_page\":\"pc864_22\",\"receipt_preview\":\"\\u001b@\\u001b2\\u001b!\\u0000\\u001ba\\u0001\\u001bE\\u0001AOT PRINTER TEST\\u001bE\\u0000\\r\\n\\u001ba\\u0000Printer: Pending Printer Setup\\r\\nStation: Discovered by Installer\\r\\nLocal ID: pending-printer-552f8a83\\r\\nLanguage: English\\r\\nTime: 2026-06-14 12:38:01\\r\\n--------------------------------\\r\\nIf you can read this, routing works.\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\u001dV\\u0000\",\"created_by\":\"PrintRouting\",\"bytes_written\":272,\"confirmation\":\"socket_write_only\"}', '2026-06-14 12:38:01', '2026-06-14 12:38:01'),
(49, 4, 7, 70, 'order_confirmed', 'sent', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBMb2JieSBCYXINChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjNQ0KG2EAT3JkZXI6IE9SRC1HTEk1QVBVSw0KG2EATG9jYXRpb246IFRhYmxlIDQNChthAEd1ZXN0IE5hbWU6IHRhaGENChthAFBob25lOiAtDQobYQBDcmVhdGVkOiAyMDI2LTA2LTE0IDEzOjI3OjExDQobYQBQYWlkOiBFR1AgNjUyLjkwDQobYQBNZXRob2Q6IENhc2gNChthAFBhaWQgQnk6IEFkbWluIFVzZXINChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQAxIHggSGliaXNjdXMgKEthcmthZGUpDQobYQAxIHggS3VuYWZhDQobYQAxIHggQmFrbGF2YQ0KG2EAMSB4IFR1cmtpc2ggQ29mZmVlDQobYQAxIHggSWNlIENyZWFtDQobYQAxIHggR3JpbGxlZCBDaGlja2VuDQobYQAxIHggUmljZSBQdWRkaW5nDQobYQAxIHggR3JpbGxlZCBGaXNoDQobYQAxIHggRnJlc2ggT3JhbmdlIEp1aWNlDQobYQAxIHggV2FmZmxlDQobYQAxIHggQ2Flc2FyIFNhbGFkDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EASXRlbXM6IDExIFF0eTogMTENChthAFRvdGFsOiBFR1AgNjUyLjkwDQobYQEbYQEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EBVGhhbmsgeW91IGZvciB5b3VyIG9yZGVyDQobYQFXZSBob3BlIHRvIHNlZSB5b3UgYWdhaW4gc29vbg0KGyEAG2EADQoNCg0KDQodVkJA', '2026-06-14 13:28:11', '2026-06-14 10:27:11', NULL, NULL, NULL, '{\"source\":\"order_confirmed\",\"order_code\":\"ORD-GLI5APUK\",\"business_date\":\"2026-05-26\",\"receipt_preview\":\"PSK-PYR - Lobby Bar\\nTrigger: CONFIRMED\\nOrder No: Order #5\\nOrder: ORD-GLI5APUK\\nLocation: Table 4\\nGuest Name: taha\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-14 13:27:11\\nPaid: EGP 652.90\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Hibiscus (Karkade)\\n1 x Kunafa\\n1 x Baklava\\n1 x Turkish Coffee\\n1 x Ice Cream\\n1 x Grilled Chicken\\n1 x Rice Pudding\\n1 x Grilled Fish\\n1 x Fresh Orange Juice\\n1 x Waffle\\n1 x Caesar Salad\\n--------------------------------\\nItems: 11    Qty: 11\\nTotal: EGP 652.90\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":1,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[16,16,1,1],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":5,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":5,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1,\"bytes_written\":708,\"confirmation\":\"socket_write_only\"}', '2026-06-14 13:27:11', '2026-06-14 13:27:12'),
(58, 4, 7, 80, 'order_confirmed', 'pending', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBMb2JieSBCYXINChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjMQ0KG2EAT3JkZXI6IE9SRC1BQUNMS1hXQg0KG2EATG9jYXRpb246IFRhYmxlIDMNChthAEd1ZXN0IE5hbWU6IDEyMTMxDQobYQBQaG9uZTogLQ0KG2EAQ3JlYXRlZDogMjAyNi0wNi0xOCAyMDozNDoyNA0KG2EAUGFpZDogRUdQIDEzNC41Mg0KG2EATWV0aG9kOiBDYXNoDQobYQBQYWlkIEJ5OiBBZG1pbiBVc2VyDQobYQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KG2EAMSB4IEt1bmFmYS4uLi4uLi4uLi4uLi4uLi4uNDUuMDANChthADEgeCBIaWJpc2N1cyAoS2Fya2FkZSkuLi4uLjE4LjAwDQobYQAxIHggVW1tIEFsaS4uLi4uLi4uLi4uLi4uLi4zNS4wMA0KG2EAMSB4IEVneXB0aWFuIFRlYS4uLi4uLi4uLi4uMTUuMDANChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBJdGVtczogNCBRdHk6IDQNChthAFN1YnRvdGFsLi4uLi4uLi4uLi4uLi4uLi4uMTEzLjAwDQobYQBDb3ZlciBDaGFyZ2UuLi4uLi4uLi4uLi4uLi4rNS4wMA0KG2EAVkFULi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4rMTYuNTINChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBUb3RhbC4uLi4uLi4uLi4uLi4uLi4uRUdQIDEzNC41Mg0KG2EBG2EBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAVRoYW5rIHlvdSBmb3IgeW91ciBvcmRlcg0KG2EBV2UgaG9wZSB0byBzZWUgeW91IGFnYWluIHNvb24NChshABthAA0KDQoNCg0KHVZCQA==', NULL, NULL, NULL, NULL, NULL, '{\"source\":\"order_confirmed\",\"order_code\":\"ORD-AACLKXWB\",\"business_date\":\"2026-05-31\",\"receipt_preview\":\"PSK-PYR - Lobby Bar\\nTrigger: CONFIRMED\\nOrder No: Order #1\\nOrder: ORD-AACLKXWB\\nLocation: Table 3\\nGuest Name: 12131\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-18 20:34:24\\nPaid: EGP 134.52\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Kunafa.................45.00\\n1 x Hibiscus (Karkade).....18.00\\n1 x Umm Ali................35.00\\n1 x Egyptian Tea...........15.00\\n--------------------------------\\nItems: 4    Qty: 4\\nSubtotal..................113.00\\nCover Charge...............+5.00\\nVAT.......................+16.52\\n--------------------------------\\nTotal.................EGP 134.52\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":1,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[1,16],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":9,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":9,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1}', '2026-06-18 17:34:24', '2026-06-18 17:34:24'),
(59, 4, 7, 81, 'order_confirmed', 'pending', 'escpos_base64', 'G0AbMhshABthARshEBtFAVBTSy1QWVIgLSBMb2JieSBCYXINChtFABshABthAE9yZGVyIE5vOiBPcmRlciAjMg0KG2EAT3JkZXI6IE9SRC1EREFCU1ZMQw0KG2EATG9jYXRpb246IFRhYmxlIDMNChthAEd1ZXN0IE5hbWU6IDEyMTMxDQobYQBQaG9uZTogLQ0KG2EAQ3JlYXRlZDogMjAyNi0wNi0xOCAyMDozNTozNA0KG2EAUGFpZDogRUdQIDc3LjUyDQobYQBNZXRob2Q6IENhc2gNChthAFBhaWQgQnk6IEFkbWluIFVzZXINChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQAxIHggSGliaXNjdXMgKEthcmthZGUpLi4uLi4xOC4wMA0KG2EAMSB4IEt1bmFmYS4uLi4uLi4uLi4uLi4uLi4uNDUuMDANChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBJdGVtczogMiBRdHk6IDINChthAFN1YnRvdGFsLi4uLi4uLi4uLi4uLi4uLi4uLjYzLjAwDQobYQBDb3ZlciBDaGFyZ2UuLi4uLi4uLi4uLi4uLi4rNS4wMA0KG2EAVkFULi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uKzkuNTINChthAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQobYQBUb3RhbC4uLi4uLi4uLi4uLi4uLi4uLkVHUCA3Ny41Mg0KG2EBG2EBLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NChthAVRoYW5rIHlvdSBmb3IgeW91ciBvcmRlcg0KG2EBV2UgaG9wZSB0byBzZWUgeW91IGFnYWluIHNvb24NChshABthAA0KDQoNCg0KHVZCQA==', NULL, NULL, NULL, NULL, NULL, '{\"source\":\"order_confirmed\",\"order_code\":\"ORD-DDABSVLC\",\"business_date\":\"2026-05-31\",\"receipt_preview\":\"PSK-PYR - Lobby Bar\\nTrigger: CONFIRMED\\nOrder No: Order #2\\nOrder: ORD-DDABSVLC\\nLocation: Table 3\\nGuest Name: 12131\\nPhone: -\\nPrinter: Pending Printer Setup\\nCreated: 2026-06-18 20:35:34\\nPaid: EGP 77.52\\nMethod: Cash\\nPaid By: Admin User\\n--------------------------------\\n1 x Hibiscus (Karkade).....18.00\\n1 x Kunafa.................45.00\\n--------------------------------\\nItems: 2    Qty: 2\\nSubtotal...................63.00\\nCover Charge...............+5.00\\nVAT........................+9.52\\n--------------------------------\\nTotal..................EGP 77.52\\n--------------------------------\\nThank you for your order\\nWe hope to see you again soon\",\"order_zone_id\":1,\"order_outlet_id\":1,\"printer\":\"pending-printer-552f8a83\",\"printer_zone_id\":1,\"printer_outlet_ids\":[1,16],\"station_label\":\"Discovered by Installer\",\"aot_firmware_bitmap\":false,\"created_by\":\"OrderPrintJobService\",\"manual_reprint\":false,\"routing_engine\":\"linked_printer\",\"document_type\":\"customer_receipt\",\"matched_link_id\":9,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"match_level\":\"outlet\",\"routing_trace\":{\"matched_link_id\":9,\"matched_link_type\":\"outlet\",\"matched_link_target_id\":1,\"matched_link_priority\":50,\"fallback_enabled\":false,\"target_rank\":1},\"copy_number\":1,\"copy_count\":1}', '2026-06-18 17:35:34', '2026-06-18 17:35:34');

-- --------------------------------------------------------

--
-- Table structure for table `print_jobs_archive`
--

DROP TABLE IF EXISTS `print_jobs_archive`;
CREATE TABLE IF NOT EXISTS `print_jobs_archive` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `printer_agent_id` bigint UNSIGNED NOT NULL,
  `printer_agent_printer_id` bigint UNSIGNED NOT NULL,
  `order_id` bigint UNSIGNED DEFAULT NULL,
  `source` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'pending',
  `payload_format` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'escpos_base64',
  `content` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `leased_until` timestamp NULL DEFAULT NULL,
  `sent_at` timestamp NULL DEFAULT NULL,
  `confirmed_at` timestamp NULL DEFAULT NULL,
  `error_code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `error_message` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `archived_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `print_jobs_printer_agent_id_foreign` (`printer_agent_id`),
  KEY `print_jobs_printer_agent_printer_id_foreign` (`printer_agent_printer_id`),
  KEY `print_jobs_order_id_index` (`order_id`),
  KEY `print_jobs_source_index` (`source`),
  KEY `idx_print_jobs_agent_status_date` (`printer_agent_id`,`status`,`created_at`),
  KEY `idx_print_jobs_printer_status_date` (`printer_agent_printer_id`,`status`,`created_at`),
  KEY `idx_print_jobs_order_source_date` (`order_id`,`source`,`created_at`),
  KEY `idx_print_jobs_leased_until` (`status`,`leased_until`,`created_at`),
  KEY `idx_archived_at` (`archived_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `properties`
--

DROP TABLE IF EXISTS `properties`;
CREATE TABLE IF NOT EXISTS `properties` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `type` enum('building','villa') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `floors` int DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `properties_code_unique` (`code`),
  KEY `idx_properties_zone_id` (`zone_id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `properties`
--

INSERT INTO `properties` (`id`, `zone_id`, `name`, `name_ar`, `code`, `type`, `floors`, `notes`, `created_at`, `updated_at`) VALUES
(1, 1, 'Porto Sokhna - Pyramids Building 1', 'مبنى 1 بورتو السخنة - ', 'PSK-PYR-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 1, 'Porto Sokhna - Pyramids Building 2', 'مبنى 2 بورتو السخنة - ', 'PSK-PYR-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 1, 'Porto Sokhna - Pyramids Building 3', 'مبنى 3 بورتو السخنة - ', 'PSK-PYR-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(4, 2, 'Porto Sokhna - Hotel Building 1', 'مبنى 1 بورتو السخنة - ', 'PSK-HOTEL-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(5, 2, 'Porto Sokhna - Hotel Building 2', 'مبنى 2 بورتو السخنة - ', 'PSK-HOTEL-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(6, 2, 'Porto Sokhna - Hotel Building 3', 'مبنى 3 بورتو السخنة - ', 'PSK-HOTEL-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(7, 3, 'Porto Sokhna - Golf Building 1', 'مبنى 1 بورتو السخنة - ', 'PSK-GOLF-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(8, 3, 'Porto Sokhna - Golf Building 2', 'مبنى 2 بورتو السخنة - ', 'PSK-GOLF-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(9, 3, 'Porto Sokhna - Golf Building 3', 'مبنى 3 بورتو السخنة - ', 'PSK-GOLF-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(10, 4, 'Porto South Beach - Genwa Building 1', 'مبنى 1 بورتو ساوث بيتش - ', 'PSB-GENWA-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(11, 4, 'Porto South Beach - Genwa Building 2', 'مبنى 2 بورتو ساوث بيتش - ', 'PSB-GENWA-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(12, 4, 'Porto South Beach - Genwa Building 3', 'مبنى 3 بورتو ساوث بيتش - ', 'PSB-GENWA-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(13, 5, 'Porto South Beach - PVC Timeshare Building 1', 'مبنى 1 بورتو ساوث بيتش - ', 'PSB-PVC-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(14, 5, 'Porto South Beach - PVC Timeshare Building 2', 'مبنى 2 بورتو ساوث بيتش - ', 'PSB-PVC-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(15, 5, 'Porto South Beach - PVC Timeshare Building 3', 'مبنى 3 بورتو ساوث بيتش - ', 'PSB-PVC-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(16, 6, 'Porto Marina - Towers Building 1', 'مبنى 1 بورتو مارينا - ', 'PMR-TOWERS-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(17, 6, 'Porto Marina - Towers Building 2', 'مبنى 2 بورتو مارينا - ', 'PMR-TOWERS-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(18, 6, 'Porto Marina - Towers Building 3', 'مبنى 3 بورتو مارينا - ', 'PMR-TOWERS-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(19, 7, 'Porto Marina - Hotel Building 1', 'مبنى 1 بورتو مارينا - ', 'PMR-HOTEL-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(20, 7, 'Porto Marina - Hotel Building 2', 'مبنى 2 بورتو مارينا - ', 'PMR-HOTEL-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(21, 7, 'Porto Marina - Hotel Building 3', 'مبنى 3 بورتو مارينا - ', 'PMR-HOTEL-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(22, 8, 'Porto Marina - Golf Building 1', 'مبنى 1 بورتو مارينا - ', 'PMR-GOLF-B1', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(23, 8, 'Porto Marina - Golf Building 2', 'مبنى 2 بورتو مارينا - ', 'PMR-GOLF-B2', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(24, 8, 'Porto Marina - Golf Building 3', 'مبنى 3 بورتو مارينا - ', 'PMR-GOLF-B3', 'building', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `refunds`
--

DROP TABLE IF EXISTS `refunds`;
CREATE TABLE IF NOT EXISTS `refunds` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `request_item_id` bigint UNSIGNED NOT NULL,
  `quantity_refunded` int NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `reason` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `refunds_request_item_id_foreign` (`request_item_id`),
  KEY `refunds_created_by_foreign` (`created_by`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `refunds`
--

INSERT INTO `refunds` (`id`, `request_item_id`, `quantity_refunded`, `amount`, `reason`, `created_by`, `created_at`, `updated_at`) VALUES
(1, 1, 1, '250.00', 'Full refund', 1, '2026-05-23 17:09:16', '2026-05-23 17:09:16'),
(2, 2, 1, '389.88', 'Partial refund (including proportional adjustments)', 1, '2026-05-23 17:24:45', '2026-05-23 17:24:45'),
(3, 3, 1, '454.86', 'Partial refund (including proportional adjustments)', 1, '2026-05-23 17:24:51', '2026-05-23 17:24:51'),
(4, 4, 1, '129.96', 'Partial refund (including proportional adjustments)', 2, '2026-05-24 03:30:44', '2026-05-24 03:30:44'),
(5, 5, 1, '194.94', 'Partial refund (including proportional adjustments)', 1, '2026-05-24 03:49:37', '2026-05-24 03:49:37'),
(6, 6, 1, '194.94', 'Full refund (including proportional adjustments)', 1, '2026-05-24 05:01:15', '2026-05-24 05:01:15'),
(7, 7, 1, '454.86', 'Full refund (including proportional adjustments)', 1, '2026-05-24 05:09:31', '2026-05-24 05:09:31'),
(8, 8, 1, '194.94', 'Full refund (including proportional adjustments)', 1, '2026-05-24 05:12:28', '2026-05-24 05:12:28'),
(9, 9, 1, '129.96', 'Partial refund (including proportional adjustments)', 1, '2026-05-24 05:14:27', '2026-05-24 05:14:27'),
(10, 16, 1, '324.90', 'Partial refund (including proportional adjustments)', 2, '2026-06-06 03:06:50', '2026-06-06 03:06:50'),
(11, 15, 1, '519.84', 'Partial refund (including proportional adjustments)', 2, '2026-06-12 13:58:38', '2026-06-12 13:58:38'),
(12, 12, 1, '454.86', 'Partial refund (including proportional adjustments)', 2, '2026-06-18 14:02:47', '2026-06-18 14:02:47'),
(13, 13, 1, '194.94', 'Partial refund (including proportional adjustments)', 2, '2026-06-18 14:02:59', '2026-06-18 14:02:59'),
(14, 21, 1, '214.00', 'Partial refund (including proportional adjustments)', 2, '2026-06-18 16:16:52', '2026-06-18 16:16:52'),
(15, 22, 1, '385.00', 'Partial refund (including proportional adjustments)', 2, '2026-06-18 16:21:51', '2026-06-18 16:21:51'),
(16, 23, 1, '481.81', 'Partial refund (including proportional adjustments)', 2, '2026-06-18 16:37:24', '2026-06-18 16:37:24'),
(17, 23, 1, '481.81', 'Partial refund (including proportional adjustments)', 2, '2026-06-18 16:37:33', '2026-06-18 16:37:33'),
(18, 24, 1, '120.45', 'Partial refund (including proportional adjustments)', 2, '2026-06-18 16:39:40', '2026-06-18 16:39:40');

-- --------------------------------------------------------

--
-- Table structure for table `rental_units`
--

DROP TABLE IF EXISTS `rental_units`;
CREATE TABLE IF NOT EXISTS `rental_units` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `unit_id` bigint UNSIGNED NOT NULL,
  `start_date` date DEFAULT NULL,
  `end_date` date DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `rental_units_unit_id_foreign` (`unit_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `request_histories`
--

DROP TABLE IF EXISTS `request_histories`;
CREATE TABLE IF NOT EXISTS `request_histories` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `service_request_id` bigint UNSIGNED NOT NULL,
  `request_item_id` bigint UNSIGNED DEFAULT NULL,
  `updated_by` bigint UNSIGNED DEFAULT NULL,
  `type` tinyint NOT NULL DEFAULT '1',
  `old_value` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `new_value` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `request_histories_service_request_id_foreign` (`service_request_id`),
  KEY `request_histories_request_item_id_foreign` (`request_item_id`),
  KEY `request_histories_updated_by_foreign` (`updated_by`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `request_histories`
--

INSERT INTO `request_histories` (`id`, `service_request_id`, `request_item_id`, `updated_by`, `type`, `old_value`, `new_value`, `created_at`) VALUES
(1, 1, 1, 1, 4, NULL, '250', '2026-05-23 17:09:16'),
(2, 2, 2, 1, 4, NULL, '389.88', '2026-05-23 17:24:45'),
(3, 2, 3, 1, 4, NULL, '454.86', '2026-05-23 17:24:51'),
(4, 3, 4, 2, 4, NULL, '129.96', '2026-05-24 00:30:44'),
(5, 4, 5, 1, 4, NULL, '194.94', '2026-05-24 00:49:37'),
(6, 5, 6, 1, 4, NULL, '194.94', '2026-05-24 02:01:15'),
(7, 6, 7, 1, 4, NULL, '454.86', '2026-05-24 02:09:31'),
(8, 7, 8, 1, 4, NULL, '194.94', '2026-05-24 02:12:28'),
(9, 8, 9, 1, 4, NULL, '129.96', '2026-05-24 02:14:27'),
(10, 10, 11, 2, 1, '$item->status', '2', '2026-05-26 18:44:07'),
(11, 10, 11, 2, 1, '$item->status', '3', '2026-05-26 18:44:14'),
(12, 10, 11, 2, 1, '$item->status', '4', '2026-05-26 18:44:23'),
(13, 9, 10, 2, 1, '$item->status', '2', '2026-05-26 18:44:45'),
(14, 9, 10, 2, 1, '$item->status', '4', '2026-05-26 18:44:50'),
(15, 13, 14, 2, 1, '$item->status', '2', '2026-06-03 07:39:51'),
(16, 13, 14, 2, 1, '$item->status', '3', '2026-06-03 07:40:21'),
(17, 13, 14, 2, 1, '$item->status', '2', '2026-06-03 07:40:36'),
(18, 13, 14, 2, 1, '$item->status', '4', '2026-06-03 07:40:37'),
(19, 15, 16, 2, 4, NULL, '324.9', '2026-06-06 00:06:50'),
(20, 14, 15, 2, 4, NULL, '519.84', '2026-06-12 13:58:38'),
(21, 11, 12, 2, 4, NULL, '454.86', '2026-06-18 14:02:47'),
(22, 12, 13, 2, 4, NULL, '194.94', '2026-06-18 14:03:00'),
(23, 19, 21, 2, 4, NULL, '214', '2026-06-18 16:16:52'),
(24, 20, 22, 2, 4, NULL, '385', '2026-06-18 16:21:51'),
(25, 21, 23, 2, 4, NULL, '481.81', '2026-06-18 16:37:24'),
(26, 21, 23, 2, 4, NULL, '481.81', '2026-06-18 16:37:33'),
(27, 21, 24, 2, 4, NULL, '120.45', '2026-06-18 16:39:40');

-- --------------------------------------------------------

--
-- Table structure for table `request_items`
--

DROP TABLE IF EXISTS `request_items`;
CREATE TABLE IF NOT EXISTS `request_items` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `service_request_id` bigint UNSIGNED NOT NULL,
  `service_item_id` bigint UNSIGNED NOT NULL,
  `quantity` int NOT NULL DEFAULT '1',
  `unit_price` decimal(10,2) NOT NULL,
  `subtotal` decimal(12,2) NOT NULL,
  `total_price` decimal(12,2) NOT NULL,
  `refunded_quantity` int NOT NULL DEFAULT '0',
  `refunded_amount` decimal(10,2) NOT NULL DEFAULT '0.00',
  `status` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `request_items_service_request_id_foreign` (`service_request_id`),
  KEY `request_items_service_item_id_foreign` (`service_item_id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `request_items`
--

INSERT INTO `request_items` (`id`, `service_request_id`, `service_item_id`, `quantity`, `unit_price`, `subtotal`, `total_price`, `refunded_quantity`, `refunded_amount`, `status`, `notes`, `created_at`, `updated_at`) VALUES
(1, 1, 2, 1, '250.00', '250.00', '250.00', 1, '250.00', 6, NULL, '2026-05-23 11:02:17', '2026-05-23 17:09:16'),
(2, 2, 1, 1, '300.00', '300.00', '300.00', 1, '389.88', 6, NULL, '2026-05-23 17:24:37', '2026-05-23 17:24:45'),
(3, 2, 4, 1, '350.00', '350.00', '350.00', 1, '454.86', 6, NULL, '2026-05-23 17:24:37', '2026-05-23 17:24:51'),
(4, 3, 6, 1, '100.00', '100.00', '100.00', 1, '129.96', 6, NULL, '2026-05-23 22:25:12', '2026-05-24 03:30:44'),
(5, 4, 5, 1, '150.00', '150.00', '150.00', 1, '194.94', 6, NULL, '2026-05-24 03:49:30', '2026-05-24 03:49:37'),
(6, 5, 5, 1, '150.00', '150.00', '150.00', 1, '194.94', 6, NULL, '2026-05-24 05:01:07', '2026-05-24 05:01:15'),
(7, 6, 4, 1, '350.00', '350.00', '350.00', 1, '454.86', 6, NULL, '2026-05-24 05:09:24', '2026-05-24 05:09:31'),
(8, 7, 5, 1, '150.00', '150.00', '150.00', 1, '194.94', 6, NULL, '2026-05-24 05:12:21', '2026-05-24 05:12:28'),
(9, 8, 6, 1, '100.00', '100.00', '100.00', 1, '129.96', 6, NULL, '2026-05-24 05:14:20', '2026-05-24 05:14:27'),
(10, 9, 5, 1, '150.00', '150.00', '150.00', 0, '0.00', 4, 'Service: Extra Cleaning\nDetails:\n', '2026-05-25 10:37:42', '2026-05-26 18:44:50'),
(11, 10, 6, 1, '100.00', '100.00', '100.00', 0, '0.00', 4, NULL, '2026-05-26 18:43:17', '2026-05-26 18:44:23'),
(12, 11, 4, 1, '350.00', '350.00', '350.00', 1, '454.86', 6, NULL, '2026-05-26 18:52:07', '2026-06-18 14:02:47'),
(13, 12, 5, 1, '150.00', '150.00', '150.00', 1, '194.94', 6, 'ابلابل ابلا فبا بلا لب', '2026-05-29 11:26:20', '2026-06-18 14:03:00'),
(14, 13, 7, 1, '400.00', '400.00', '400.00', 0, '0.00', 4, 'Service: Deep Cleaning\nDetails:\n', '2026-06-03 07:38:29', '2026-06-03 07:40:37'),
(15, 14, 7, 1, '400.00', '400.00', '400.00', 1, '519.84', 6, 'Service: تنظيف عميق\nDetails:\n', '2026-06-04 22:00:46', '2026-06-12 13:58:38'),
(16, 15, 2, 1, '250.00', '250.00', '250.00', 1, '324.90', 6, NULL, '2026-06-06 03:03:24', '2026-06-06 03:06:50'),
(17, 16, 2, 1, '250.00', '250.00', '250.00', 0, '0.00', 4, NULL, '2026-06-13 21:37:50', '2026-06-18 14:05:31'),
(18, 17, 5, 1, '150.00', '150.00', '150.00', 0, '0.00', 4, NULL, '2026-06-18 12:53:16', '2026-06-18 12:53:38'),
(19, 18, 6, 1, '100.00', '100.00', '100.00', 0, '0.00', 4, NULL, '2026-06-18 14:03:16', '2026-06-18 14:05:23'),
(20, 18, 5, 1, '150.00', '150.00', '150.00', 0, '0.00', 4, NULL, '2026-06-18 14:03:16', '2026-06-18 14:05:23'),
(21, 19, 6, 1, '100.00', '100.00', '100.00', 1, '214.00', 6, NULL, '2026-06-18 16:16:40', '2026-06-18 16:16:52'),
(22, 20, 2, 1, '250.00', '250.00', '250.00', 1, '385.00', 6, NULL, '2026-06-18 16:21:26', '2026-06-18 16:21:51'),
(23, 21, 7, 2, '400.00', '800.00', '800.00', 2, '963.62', 6, NULL, '2026-06-18 16:37:00', '2026-06-18 16:37:33'),
(24, 21, 6, 1, '100.00', '100.00', '100.00', 1, '120.45', 6, NULL, '2026-06-18 16:37:00', '2026-06-18 16:39:40'),
(25, 21, 4, 1, '350.00', '350.00', '350.00', 0, '0.00', 1, NULL, '2026-06-18 16:37:00', '2026-06-18 16:37:00'),
(26, 21, 5, 2, '150.00', '300.00', '300.00', 0, '0.00', 1, NULL, '2026-06-18 16:37:00', '2026-06-18 16:37:00'),
(27, 22, 1, 1, '300.00', '300.00', '300.00', 0, '0.00', 1, NULL, '2026-06-18 17:19:43', '2026-06-18 17:19:43');

-- --------------------------------------------------------

--
-- Table structure for table `roles`
--

DROP TABLE IF EXISTS `roles`;
CREATE TABLE IF NOT EXISTS `roles` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `guard_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `roles`
--

INSERT INTO `roles` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'super-admin', 'web', '2026-05-23 00:26:53', '2026-05-23 00:26:53'),
(2, 'admin', 'web', '2026-05-23 00:26:54', '2026-05-23 00:26:54'),
(3, 'tickets-manager', 'web', '2026-05-23 00:26:55', '2026-05-23 00:26:55'),
(4, 'tickets-technician', 'web', '2026-05-23 00:26:55', '2026-05-23 00:26:55'),
(5, 'tickets-requester', 'web', '2026-05-23 00:26:56', '2026-05-23 00:26:56'),
(6, 'property-manager', 'web', '2026-05-23 00:26:56', '2026-05-23 00:26:56'),
(7, 'unit-manager', 'web', '2026-05-23 00:26:56', '2026-05-23 00:26:56'),
(8, 'visitor-manager', 'web', '2026-05-23 00:26:57', '2026-05-23 00:26:57'),
(9, 'menu-manager', 'web', '2026-05-23 00:26:57', '2026-05-23 00:26:57'),
(10, 'user', 'web', '2026-05-23 00:26:58', '2026-05-23 00:26:58'),
(11, 'service-agent', 'web', '2026-05-23 00:26:58', '2026-05-23 00:26:58'),
(12, 'cashier', 'web', '2026-05-23 00:26:58', '2026-05-23 00:26:58'),
(13, 'cashier-manager', 'web', '2026-05-23 00:26:59', '2026-05-23 00:26:59'),
(14, 'supervisor-cashier', 'web', '2026-05-23 00:26:59', '2026-05-23 00:26:59'),
(15, 'night-editor', 'web', '2026-05-23 00:27:00', '2026-05-23 00:27:00'),
(16, 'general-cashier', 'web', '2026-05-23 00:27:00', '2026-05-23 00:27:00'),
(17, 'finance', 'web', '2026-05-23 00:27:01', '2026-05-23 00:27:01');

-- --------------------------------------------------------

--
-- Table structure for table `role_has_permissions`
--

DROP TABLE IF EXISTS `role_has_permissions`;
CREATE TABLE IF NOT EXISTS `role_has_permissions` (
  `permission_id` bigint UNSIGNED NOT NULL,
  `role_id` bigint UNSIGNED NOT NULL,
  PRIMARY KEY (`permission_id`,`role_id`),
  KEY `role_has_permissions_role_id_foreign` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `role_has_permissions`
--

INSERT INTO `role_has_permissions` (`permission_id`, `role_id`) VALUES
(1, 1),
(1, 2),
(2, 1),
(2, 2),
(3, 1),
(3, 2),
(4, 1),
(4, 2),
(5, 1),
(5, 2),
(6, 1),
(6, 2),
(7, 1),
(7, 2),
(8, 1),
(8, 2),
(9, 1),
(9, 2),
(9, 3),
(9, 4),
(9, 5),
(9, 10),
(9, 12),
(10, 1),
(10, 2),
(10, 3),
(10, 4),
(10, 5),
(10, 10),
(11, 1),
(11, 2),
(11, 3),
(11, 4),
(12, 1),
(12, 2),
(12, 3),
(13, 1),
(13, 2),
(13, 3),
(14, 1),
(14, 2),
(14, 3),
(14, 4),
(15, 1),
(15, 2),
(15, 3),
(16, 1),
(16, 2),
(16, 4),
(17, 1),
(17, 2),
(17, 5),
(17, 10),
(18, 1),
(18, 2),
(18, 3),
(18, 4),
(18, 5),
(23, 1),
(23, 2),
(23, 3),
(23, 4),
(23, 5),
(23, 11),
(24, 1),
(24, 2),
(24, 3),
(25, 1),
(25, 2),
(25, 3),
(26, 1),
(26, 2),
(26, 3),
(27, 1),
(27, 2),
(27, 3),
(27, 4),
(27, 5),
(27, 11),
(28, 1),
(28, 2),
(28, 3),
(29, 1),
(29, 2),
(29, 3),
(30, 1),
(30, 2),
(30, 3),
(31, 1),
(31, 2),
(31, 3),
(31, 4),
(31, 5),
(31, 11),
(31, 12),
(31, 13),
(31, 14),
(32, 1),
(32, 2),
(32, 3),
(32, 4),
(32, 5),
(32, 11),
(32, 13),
(32, 14),
(33, 1),
(33, 2),
(33, 3),
(33, 11),
(33, 12),
(33, 14),
(34, 1),
(34, 2),
(34, 3),
(35, 1),
(35, 2),
(36, 1),
(36, 2),
(37, 1),
(37, 2),
(38, 1),
(38, 2),
(39, 1),
(39, 2),
(40, 1),
(40, 2),
(41, 1),
(41, 2),
(42, 1),
(42, 2),
(43, 1),
(43, 2),
(43, 3),
(43, 4),
(43, 5),
(43, 11),
(44, 1),
(44, 2),
(44, 3),
(45, 1),
(45, 2),
(45, 3),
(46, 1),
(46, 2),
(46, 3),
(47, 1),
(47, 2),
(47, 3),
(47, 4),
(48, 1),
(48, 2),
(49, 1),
(49, 2),
(49, 3),
(50, 1),
(50, 2),
(51, 1),
(51, 2),
(51, 6),
(51, 7),
(52, 1),
(52, 2),
(52, 6),
(53, 1),
(53, 2),
(53, 6),
(54, 1),
(54, 2),
(55, 1),
(55, 2),
(55, 6),
(55, 7),
(56, 1),
(56, 2),
(56, 6),
(56, 7),
(57, 1),
(57, 2),
(57, 6),
(57, 7),
(58, 1),
(58, 2),
(58, 7),
(59, 1),
(59, 6),
(60, 1),
(61, 1),
(62, 1),
(63, 1),
(63, 6),
(63, 7),
(63, 8),
(64, 1),
(65, 1),
(66, 1),
(67, 1),
(67, 6),
(67, 7),
(67, 8),
(68, 1),
(69, 1),
(70, 1),
(71, 1),
(71, 6),
(72, 1),
(73, 1),
(74, 1),
(75, 1),
(75, 8),
(76, 1),
(76, 8),
(77, 1),
(77, 8),
(78, 1),
(78, 8),
(79, 1),
(79, 8),
(80, 1),
(80, 8),
(81, 1),
(81, 8),
(82, 1),
(82, 8),
(83, 1),
(83, 8),
(84, 1),
(84, 8),
(85, 1),
(85, 8),
(86, 1),
(86, 8),
(87, 1),
(87, 8),
(88, 1),
(89, 1),
(90, 1),
(91, 1),
(92, 1),
(93, 1),
(94, 1),
(95, 1),
(95, 2),
(96, 1),
(96, 2),
(97, 1),
(97, 2),
(98, 1),
(98, 2),
(99, 1),
(99, 2),
(99, 3),
(99, 13),
(99, 17),
(100, 1),
(100, 2),
(100, 3),
(100, 13),
(100, 17),
(104, 1),
(104, 2),
(105, 1),
(105, 2),
(106, 1),
(106, 2),
(106, 11),
(106, 12),
(106, 13),
(106, 14),
(107, 1),
(107, 2),
(107, 11),
(107, 12),
(107, 13),
(107, 14),
(108, 1),
(108, 2),
(108, 12),
(108, 13),
(108, 14),
(108, 15),
(108, 16),
(109, 1),
(109, 2),
(109, 11),
(109, 12),
(109, 13),
(109, 14),
(110, 1),
(110, 2),
(110, 13),
(110, 14),
(110, 15),
(110, 16),
(110, 17),
(111, 1),
(111, 2),
(111, 13),
(111, 15),
(112, 1),
(112, 2),
(112, 12),
(112, 13),
(112, 14),
(112, 15),
(112, 16),
(113, 1),
(113, 2),
(113, 14),
(114, 1),
(114, 2),
(114, 14),
(115, 1),
(115, 2),
(115, 11),
(115, 12),
(115, 14),
(116, 1),
(116, 2),
(116, 15),
(117, 1),
(117, 2),
(117, 15),
(117, 16),
(117, 17),
(118, 1),
(118, 2),
(118, 16),
(119, 1),
(119, 2),
(119, 16),
(120, 1),
(120, 2),
(120, 16),
(121, 1),
(121, 2),
(121, 15),
(121, 16),
(121, 17),
(122, 1),
(122, 2),
(122, 16),
(122, 17),
(123, 1),
(123, 2),
(123, 16),
(123, 17),
(124, 1),
(124, 2),
(125, 1),
(125, 2),
(125, 16),
(125, 17),
(126, 1),
(126, 2),
(126, 16),
(126, 17),
(127, 1),
(127, 2),
(127, 16),
(127, 17),
(128, 1),
(128, 2),
(128, 16),
(128, 17),
(129, 1),
(129, 2),
(129, 16),
(129, 17),
(130, 1),
(130, 2),
(131, 1),
(131, 2),
(131, 16),
(131, 17),
(132, 1),
(132, 2),
(132, 16),
(132, 17),
(133, 1),
(133, 2),
(133, 16),
(133, 17),
(134, 1),
(134, 2),
(134, 16),
(134, 17),
(135, 1),
(135, 2),
(135, 16),
(135, 17),
(136, 1),
(136, 2),
(137, 1),
(137, 2),
(137, 16),
(137, 17),
(138, 1),
(138, 2),
(138, 16),
(138, 17),
(139, 1),
(139, 2),
(139, 16),
(139, 17),
(140, 1),
(140, 2),
(140, 11),
(140, 16),
(140, 17),
(141, 1),
(141, 2),
(142, 1),
(142, 2),
(143, 1),
(144, 1),
(144, 2),
(145, 1),
(145, 2),
(145, 16),
(145, 17),
(146, 1),
(146, 2),
(146, 14),
(147, 1),
(147, 2),
(147, 14),
(148, 1),
(148, 2),
(148, 14),
(149, 1),
(149, 2),
(150, 1),
(150, 2),
(150, 14),
(151, 1),
(151, 2),
(151, 14),
(152, 1),
(152, 2),
(152, 9),
(152, 11),
(153, 1),
(153, 2),
(153, 9),
(154, 1),
(154, 2),
(154, 9),
(155, 1),
(155, 2),
(155, 9),
(156, 1),
(156, 2),
(156, 9),
(156, 11),
(157, 1),
(157, 2),
(157, 9),
(158, 1),
(158, 2),
(158, 9),
(159, 1),
(159, 2),
(159, 9),
(160, 1),
(160, 2),
(160, 9),
(160, 11),
(161, 1),
(161, 2),
(161, 9),
(162, 1),
(162, 2),
(162, 9),
(163, 1),
(163, 2),
(163, 9),
(164, 1),
(164, 2),
(164, 9),
(165, 1),
(165, 2),
(165, 9),
(166, 1),
(166, 2),
(166, 9),
(167, 1),
(167, 2),
(167, 9),
(168, 1),
(168, 2),
(168, 9),
(178, 1),
(179, 1),
(180, 1),
(181, 1),
(182, 1),
(183, 1),
(183, 2),
(183, 12),
(183, 14),
(183, 15),
(183, 17),
(184, 1),
(184, 2),
(184, 12),
(185, 1),
(185, 2),
(185, 14),
(185, 15),
(185, 17),
(186, 1),
(186, 2),
(186, 12),
(186, 14),
(186, 15),
(186, 17),
(192, 1),
(192, 14),
(193, 1),
(193, 2),
(193, 14),
(194, 1),
(194, 2),
(194, 14),
(194, 15),
(194, 16),
(195, 1),
(195, 2),
(195, 16),
(201, 1),
(201, 2),
(201, 17),
(202, 1),
(202, 2),
(202, 17),
(203, 1),
(203, 2),
(203, 17),
(204, 1),
(204, 2),
(204, 17),
(207, 1),
(207, 2),
(207, 14),
(207, 15),
(207, 16),
(207, 17),
(208, 1),
(208, 2),
(208, 14),
(208, 15),
(208, 16),
(208, 17),
(209, 1),
(209, 2),
(209, 15),
(209, 16),
(209, 17),
(210, 1),
(210, 2),
(210, 15),
(210, 16),
(210, 17),
(211, 1),
(211, 2),
(211, 15),
(211, 16),
(211, 17),
(212, 1),
(212, 2),
(212, 3),
(213, 1),
(213, 2),
(213, 3),
(214, 1),
(214, 2),
(214, 3),
(215, 1),
(215, 2),
(215, 3),
(215, 4),
(215, 5),
(215, 10),
(215, 11),
(215, 12),
(215, 14),
(224, 1),
(224, 2),
(224, 9),
(225, 1),
(225, 2),
(225, 9),
(226, 1),
(226, 2),
(227, 1),
(227, 2),
(228, 1),
(228, 2),
(229, 1),
(229, 2),
(230, 1),
(230, 2),
(231, 1),
(231, 2),
(232, 1),
(232, 2),
(232, 3),
(233, 1),
(233, 2),
(233, 3);

-- --------------------------------------------------------

--
-- Table structure for table `service_categories`
--

DROP TABLE IF EXISTS `service_categories`;
CREATE TABLE IF NOT EXISTS `service_categories` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `code` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `icon` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `service_categories_code_unique` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `service_items`
--

DROP TABLE IF EXISTS `service_items`;
CREATE TABLE IF NOT EXISTS `service_items` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `icon` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `is_visible_to_guest` tinyint(1) NOT NULL DEFAULT '0',
  `unit` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `unit_price` decimal(10,2) NOT NULL,
  `service_type` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED NOT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `service_items_code_unique` (`code`),
  KEY `service_items_department_id_foreign` (`department_id`),
  KEY `service_items_zone_id_foreign` (`zone_id`),
  KEY `service_items_outlet_active_idx` (`outlet_id`,`active`)
) ENGINE=InnoDB AUTO_INCREMENT=169 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `service_items`
--

INSERT INTO `service_items` (`id`, `name`, `name_ar`, `code`, `icon`, `sort_order`, `description`, `active`, `is_visible_to_guest`, `unit`, `unit_price`, `service_type`, `department_id`, `zone_id`, `outlet_id`, `created_at`, `updated_at`) VALUES
(1, 'AC Repair', 'إصلاح تكييف', 'PSK-PYR-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(2, 'Plumbing Fix', 'إصلاح سباكة', 'PSK-PYR-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(3, 'Electrical Check', 'فحص كهرباء', 'PSK-PYR-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(4, 'Appliance Repair', 'إصلاح أجهزة', 'PSK-PYR-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(5, 'Extra Cleaning', 'تنظيف إضافي', 'PSK-PYR-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 1, 1, '150.00', 1, 2, 1, NULL, '2026-05-23 00:27:06', '2026-05-25 10:37:21'),
(6, 'Linen Change', 'تغيير مفروشات', 'PSK-PYR-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 1, 1, '100.00', 1, 2, 1, 16, '2026-05-23 00:27:06', '2026-06-13 21:08:22'),
(7, 'Deep Cleaning', 'تنظيف عميق', 'PSK-PYR-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 1, 1, '400.00', 1, 2, 1, NULL, '2026-05-23 00:27:06', '2026-05-25 10:37:19'),
(8, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PSK-PYR-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(9, 'Generator Check', 'فحص مولد كهربائي', 'PSK-PYR-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(10, 'Lock Change', 'تغيير قفل', 'PSK-PYR-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(11, 'CCTV Check', 'فحص كاميرات', 'PSK-PYR-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(12, 'Late Checkout', 'تأخر مغادرة', 'PSK-PYR-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(13, 'Early Check-in', 'تسجيل دخول مبكر', 'PSK-PYR-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(14, 'Luggage Storage', 'تخزين أمتعة', 'PSK-PYR-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(15, 'Airport Pickup', 'استقبال من المطار', 'PSK-PYR-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 1, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(16, 'Airport Drop-off', 'توصيل للمطار', 'PSK-PYR-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 1, 16, '2026-05-23 00:27:06', '2026-06-13 20:54:03'),
(17, 'Extra Bed', 'سرير إضافي', 'PSK-PYR-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 1, 1, '250.00', 1, 7, 1, 16, '2026-05-23 00:27:06', '2026-06-13 21:13:53'),
(18, 'Baby Cot', 'سرير طفل', 'PSK-PYR-GST-COT', 'fas fa-baby', 18, NULL, 1, 1, 1, '100.00', 1, 7, 1, 16, '2026-05-23 00:27:06', '2026-06-13 21:13:49'),
(19, 'Room Breakfast', 'إفطار بالغرفة', 'PSK-PYR-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 1, 1, '180.00', 1, 6, 1, 16, '2026-05-23 00:27:06', '2026-06-13 07:29:01'),
(20, 'Room Dinner', 'عشاء بالغرفة', 'PSK-PYR-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 1, 1, '350.00', 1, 6, 1, 16, '2026-05-23 00:27:06', '2026-06-13 07:28:57'),
(21, 'Minibar Refill', 'تعبئة ميني بار', 'PSK-PYR-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, '', 1, 1, 1, '200.00', 1, 6, 1, 16, '2026-05-23 00:27:06', '2026-06-18 17:33:14'),
(22, 'AC Repair', 'إصلاح تكييف', 'PSK-HOTEL-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(23, 'Plumbing Fix', 'إصلاح سباكة', 'PSK-HOTEL-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(24, 'Electrical Check', 'فحص كهرباء', 'PSK-HOTEL-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(25, 'Appliance Repair', 'إصلاح أجهزة', 'PSK-HOTEL-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(26, 'Extra Cleaning', 'تنظيف إضافي', 'PSK-HOTEL-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 0, 1, '150.00', 1, 2, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(27, 'Linen Change', 'تغيير مفروشات', 'PSK-HOTEL-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 0, 1, '100.00', 1, 2, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(28, 'Deep Cleaning', 'تنظيف عميق', 'PSK-HOTEL-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 0, 1, '400.00', 1, 2, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(29, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PSK-HOTEL-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(30, 'Generator Check', 'فحص مولد كهربائي', 'PSK-HOTEL-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(31, 'Lock Change', 'تغيير قفل', 'PSK-HOTEL-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(32, 'CCTV Check', 'فحص كاميرات', 'PSK-HOTEL-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(33, 'Late Checkout', 'تأخر مغادرة', 'PSK-HOTEL-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(34, 'Early Check-in', 'تسجيل دخول مبكر', 'PSK-HOTEL-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(35, 'Luggage Storage', 'تخزين أمتعة', 'PSK-HOTEL-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(36, 'Airport Pickup', 'استقبال من المطار', 'PSK-HOTEL-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(37, 'Airport Drop-off', 'توصيل للمطار', 'PSK-HOTEL-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(38, 'Extra Bed', 'سرير إضافي', 'PSK-HOTEL-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 0, 1, '250.00', 1, 7, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(39, 'Baby Cot', 'سرير طفل', 'PSK-HOTEL-GST-COT', 'fas fa-baby', 18, NULL, 1, 0, 1, '100.00', 1, 7, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(40, 'Room Breakfast', 'إفطار بالغرفة', 'PSK-HOTEL-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 0, 1, '180.00', 1, 6, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(41, 'Room Dinner', 'عشاء بالغرفة', 'PSK-HOTEL-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 0, 1, '350.00', 1, 6, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(42, 'Minibar Refill', 'تعبئة ميني بار', 'PSK-HOTEL-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, NULL, 1, 0, 1, '200.00', 1, 6, 2, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(43, 'AC Repair', 'إصلاح تكييف', 'PSK-GOLF-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(44, 'Plumbing Fix', 'إصلاح سباكة', 'PSK-GOLF-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(45, 'Electrical Check', 'فحص كهرباء', 'PSK-GOLF-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(46, 'Appliance Repair', 'إصلاح أجهزة', 'PSK-GOLF-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(47, 'Extra Cleaning', 'تنظيف إضافي', 'PSK-GOLF-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 0, 1, '150.00', 1, 2, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(48, 'Linen Change', 'تغيير مفروشات', 'PSK-GOLF-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 0, 1, '100.00', 1, 2, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(49, 'Deep Cleaning', 'تنظيف عميق', 'PSK-GOLF-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 0, 1, '400.00', 1, 2, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(50, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PSK-GOLF-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(51, 'Generator Check', 'فحص مولد كهربائي', 'PSK-GOLF-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(52, 'Lock Change', 'تغيير قفل', 'PSK-GOLF-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(53, 'CCTV Check', 'فحص كاميرات', 'PSK-GOLF-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(54, 'Late Checkout', 'تأخر مغادرة', 'PSK-GOLF-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(55, 'Early Check-in', 'تسجيل دخول مبكر', 'PSK-GOLF-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(56, 'Luggage Storage', 'تخزين أمتعة', 'PSK-GOLF-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(57, 'Airport Pickup', 'استقبال من المطار', 'PSK-GOLF-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(58, 'Airport Drop-off', 'توصيل للمطار', 'PSK-GOLF-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(59, 'Extra Bed', 'سرير إضافي', 'PSK-GOLF-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 0, 1, '250.00', 1, 7, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(60, 'Baby Cot', 'سرير طفل', 'PSK-GOLF-GST-COT', 'fas fa-baby', 18, NULL, 1, 0, 1, '100.00', 1, 7, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(61, 'Room Breakfast', 'إفطار بالغرفة', 'PSK-GOLF-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 0, 1, '180.00', 1, 6, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(62, 'Room Dinner', 'عشاء بالغرفة', 'PSK-GOLF-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 0, 1, '350.00', 1, 6, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(63, 'Minibar Refill', 'تعبئة ميني بار', 'PSK-GOLF-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, NULL, 1, 0, 1, '200.00', 1, 6, 3, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(64, 'AC Repair', 'إصلاح تكييف', 'PSB-GENWA-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(65, 'Plumbing Fix', 'إصلاح سباكة', 'PSB-GENWA-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(66, 'Electrical Check', 'فحص كهرباء', 'PSB-GENWA-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(67, 'Appliance Repair', 'إصلاح أجهزة', 'PSB-GENWA-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(68, 'Extra Cleaning', 'تنظيف إضافي', 'PSB-GENWA-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 0, 1, '150.00', 1, 2, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(69, 'Linen Change', 'تغيير مفروشات', 'PSB-GENWA-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 0, 1, '100.00', 1, 2, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(70, 'Deep Cleaning', 'تنظيف عميق', 'PSB-GENWA-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 0, 1, '400.00', 1, 2, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(71, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PSB-GENWA-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(72, 'Generator Check', 'فحص مولد كهربائي', 'PSB-GENWA-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(73, 'Lock Change', 'تغيير قفل', 'PSB-GENWA-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(74, 'CCTV Check', 'فحص كاميرات', 'PSB-GENWA-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(75, 'Late Checkout', 'تأخر مغادرة', 'PSB-GENWA-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(76, 'Early Check-in', 'تسجيل دخول مبكر', 'PSB-GENWA-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(77, 'Luggage Storage', 'تخزين أمتعة', 'PSB-GENWA-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(78, 'Airport Pickup', 'استقبال من المطار', 'PSB-GENWA-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(79, 'Airport Drop-off', 'توصيل للمطار', 'PSB-GENWA-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(80, 'Extra Bed', 'سرير إضافي', 'PSB-GENWA-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 0, 1, '250.00', 1, 7, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(81, 'Baby Cot', 'سرير طفل', 'PSB-GENWA-GST-COT', 'fas fa-baby', 18, NULL, 1, 0, 1, '100.00', 1, 7, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(82, 'Room Breakfast', 'إفطار بالغرفة', 'PSB-GENWA-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 0, 1, '180.00', 1, 6, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(83, 'Room Dinner', 'عشاء بالغرفة', 'PSB-GENWA-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 0, 1, '350.00', 1, 6, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(84, 'Minibar Refill', 'تعبئة ميني بار', 'PSB-GENWA-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, NULL, 1, 0, 1, '200.00', 1, 6, 4, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(85, 'AC Repair', 'إصلاح تكييف', 'PSB-PVC-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(86, 'Plumbing Fix', 'إصلاح سباكة', 'PSB-PVC-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(87, 'Electrical Check', 'فحص كهرباء', 'PSB-PVC-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(88, 'Appliance Repair', 'إصلاح أجهزة', 'PSB-PVC-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(89, 'Extra Cleaning', 'تنظيف إضافي', 'PSB-PVC-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 0, 1, '150.00', 1, 2, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(90, 'Linen Change', 'تغيير مفروشات', 'PSB-PVC-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 0, 1, '100.00', 1, 2, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(91, 'Deep Cleaning', 'تنظيف عميق', 'PSB-PVC-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 0, 1, '400.00', 1, 2, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(92, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PSB-PVC-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(93, 'Generator Check', 'فحص مولد كهربائي', 'PSB-PVC-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(94, 'Lock Change', 'تغيير قفل', 'PSB-PVC-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(95, 'CCTV Check', 'فحص كاميرات', 'PSB-PVC-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(96, 'Late Checkout', 'تأخر مغادرة', 'PSB-PVC-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(97, 'Early Check-in', 'تسجيل دخول مبكر', 'PSB-PVC-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(98, 'Luggage Storage', 'تخزين أمتعة', 'PSB-PVC-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(99, 'Airport Pickup', 'استقبال من المطار', 'PSB-PVC-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(100, 'Airport Drop-off', 'توصيل للمطار', 'PSB-PVC-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(101, 'Extra Bed', 'سرير إضافي', 'PSB-PVC-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 0, 1, '250.00', 1, 7, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(102, 'Baby Cot', 'سرير طفل', 'PSB-PVC-GST-COT', 'fas fa-baby', 18, NULL, 1, 0, 1, '100.00', 1, 7, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(103, 'Room Breakfast', 'إفطار بالغرفة', 'PSB-PVC-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 0, 1, '180.00', 1, 6, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(104, 'Room Dinner', 'عشاء بالغرفة', 'PSB-PVC-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 0, 1, '350.00', 1, 6, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(105, 'Minibar Refill', 'تعبئة ميني بار', 'PSB-PVC-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, NULL, 1, 0, 1, '200.00', 1, 6, 5, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(106, 'AC Repair', 'إصلاح تكييف', 'PMR-TOWERS-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(107, 'Plumbing Fix', 'إصلاح سباكة', 'PMR-TOWERS-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(108, 'Electrical Check', 'فحص كهرباء', 'PMR-TOWERS-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(109, 'Appliance Repair', 'إصلاح أجهزة', 'PMR-TOWERS-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(110, 'Extra Cleaning', 'تنظيف إضافي', 'PMR-TOWERS-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 0, 1, '150.00', 1, 2, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(111, 'Linen Change', 'تغيير مفروشات', 'PMR-TOWERS-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 0, 1, '100.00', 1, 2, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(112, 'Deep Cleaning', 'تنظيف عميق', 'PMR-TOWERS-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 0, 1, '400.00', 1, 2, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(113, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PMR-TOWERS-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(114, 'Generator Check', 'فحص مولد كهربائي', 'PMR-TOWERS-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(115, 'Lock Change', 'تغيير قفل', 'PMR-TOWERS-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(116, 'CCTV Check', 'فحص كاميرات', 'PMR-TOWERS-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(117, 'Late Checkout', 'تأخر مغادرة', 'PMR-TOWERS-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(118, 'Early Check-in', 'تسجيل دخول مبكر', 'PMR-TOWERS-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(119, 'Luggage Storage', 'تخزين أمتعة', 'PMR-TOWERS-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(120, 'Airport Pickup', 'استقبال من المطار', 'PMR-TOWERS-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(121, 'Airport Drop-off', 'توصيل للمطار', 'PMR-TOWERS-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(122, 'Extra Bed', 'سرير إضافي', 'PMR-TOWERS-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 0, 1, '250.00', 1, 7, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(123, 'Baby Cot', 'سرير طفل', 'PMR-TOWERS-GST-COT', 'fas fa-baby', 18, NULL, 1, 0, 1, '100.00', 1, 7, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(124, 'Room Breakfast', 'إفطار بالغرفة', 'PMR-TOWERS-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 0, 1, '180.00', 1, 6, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(125, 'Room Dinner', 'عشاء بالغرفة', 'PMR-TOWERS-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 0, 1, '350.00', 1, 6, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(126, 'Minibar Refill', 'تعبئة ميني بار', 'PMR-TOWERS-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, NULL, 1, 0, 1, '200.00', 1, 6, 6, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(127, 'AC Repair', 'إصلاح تكييف', 'PMR-HOTEL-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(128, 'Plumbing Fix', 'إصلاح سباكة', 'PMR-HOTEL-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(129, 'Electrical Check', 'فحص كهرباء', 'PMR-HOTEL-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(130, 'Appliance Repair', 'إصلاح أجهزة', 'PMR-HOTEL-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(131, 'Extra Cleaning', 'تنظيف إضافي', 'PMR-HOTEL-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 0, 1, '150.00', 1, 2, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(132, 'Linen Change', 'تغيير مفروشات', 'PMR-HOTEL-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 0, 1, '100.00', 1, 2, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(133, 'Deep Cleaning', 'تنظيف عميق', 'PMR-HOTEL-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 0, 1, '400.00', 1, 2, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(134, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PMR-HOTEL-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(135, 'Generator Check', 'فحص مولد كهربائي', 'PMR-HOTEL-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(136, 'Lock Change', 'تغيير قفل', 'PMR-HOTEL-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(137, 'CCTV Check', 'فحص كاميرات', 'PMR-HOTEL-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(138, 'Late Checkout', 'تأخر مغادرة', 'PMR-HOTEL-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(139, 'Early Check-in', 'تسجيل دخول مبكر', 'PMR-HOTEL-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(140, 'Luggage Storage', 'تخزين أمتعة', 'PMR-HOTEL-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(141, 'Airport Pickup', 'استقبال من المطار', 'PMR-HOTEL-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(142, 'Airport Drop-off', 'توصيل للمطار', 'PMR-HOTEL-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(143, 'Extra Bed', 'سرير إضافي', 'PMR-HOTEL-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 0, 1, '250.00', 1, 7, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(144, 'Baby Cot', 'سرير طفل', 'PMR-HOTEL-GST-COT', 'fas fa-baby', 18, NULL, 1, 0, 1, '100.00', 1, 7, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(145, 'Room Breakfast', 'إفطار بالغرفة', 'PMR-HOTEL-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 0, 1, '180.00', 1, 6, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(146, 'Room Dinner', 'عشاء بالغرفة', 'PMR-HOTEL-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 0, 1, '350.00', 1, 6, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(147, 'Minibar Refill', 'تعبئة ميني بار', 'PMR-HOTEL-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, NULL, 1, 0, 1, '200.00', 1, 6, 7, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(148, 'AC Repair', 'إصلاح تكييف', 'PMR-GOLF-MNT-AC-REP', 'fas fa-snowflake', 1, NULL, 1, 0, 1, '300.00', 1, 1, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(149, 'Plumbing Fix', 'إصلاح سباكة', 'PMR-GOLF-MNT-PLB-FIX', 'fas fa-faucet', 2, NULL, 1, 0, 1, '250.00', 1, 1, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(150, 'Electrical Check', 'فحص كهرباء', 'PMR-GOLF-MNT-ELE-CHK', 'fas fa-bolt', 3, NULL, 1, 0, 1, '200.00', 1, 1, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(151, 'Appliance Repair', 'إصلاح أجهزة', 'PMR-GOLF-MNT-APP-REP', 'fas fa-tools', 4, NULL, 1, 0, 1, '350.00', 1, 1, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(152, 'Extra Cleaning', 'تنظيف إضافي', 'PMR-GOLF-HKP-EXT-CLN', 'fas fa-broom', 5, NULL, 1, 0, 1, '150.00', 1, 2, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(153, 'Linen Change', 'تغيير مفروشات', 'PMR-GOLF-HKP-LIN-CHG', 'fas fa-bed', 6, NULL, 1, 0, 1, '100.00', 1, 2, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(154, 'Deep Cleaning', 'تنظيف عميق', 'PMR-GOLF-HKP-DEEP-CLN', 'fas fa-spray-can', 7, NULL, 1, 0, 1, '400.00', 1, 2, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(155, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'PMR-GOLF-ENG-HVAC', 'fas fa-wind', 8, NULL, 1, 0, 1, '500.00', 1, 5, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(156, 'Generator Check', 'فحص مولد كهربائي', 'PMR-GOLF-ENG-GEN', 'fas fa-plug', 9, NULL, 1, 0, 1, '400.00', 1, 5, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(157, 'Lock Change', 'تغيير قفل', 'PMR-GOLF-SEC-LOCK', 'fas fa-key', 10, NULL, 1, 0, 1, '150.00', 1, 3, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(158, 'CCTV Check', 'فحص كاميرات', 'PMR-GOLF-SEC-CCTV', 'fas fa-video', 11, NULL, 1, 0, 1, '200.00', 1, 3, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(159, 'Late Checkout', 'تأخر مغادرة', 'PMR-GOLF-FDK-LATE', 'fas fa-clock', 12, NULL, 1, 0, 1, '200.00', 1, 4, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(160, 'Early Check-in', 'تسجيل دخول مبكر', 'PMR-GOLF-FDK-EARLY', 'fas fa-door-open', 13, NULL, 1, 0, 1, '150.00', 1, 4, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(161, 'Luggage Storage', 'تخزين أمتعة', 'PMR-GOLF-FDK-LUG', 'fas fa-suitcase', 14, NULL, 1, 0, 1, '50.00', 1, 4, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(162, 'Airport Pickup', 'استقبال من المطار', 'PMR-GOLF-GST-AIR-PICK', 'fas fa-car', 15, NULL, 1, 0, 1, '800.00', 1, 7, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(163, 'Airport Drop-off', 'توصيل للمطار', 'PMR-GOLF-GST-AIR-DROP', 'fas fa-car-side', 16, NULL, 1, 0, 1, '600.00', 1, 7, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(164, 'Extra Bed', 'سرير إضافي', 'PMR-GOLF-GST-EXT-BED', 'fas fa-bed', 17, NULL, 1, 0, 1, '250.00', 1, 7, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(165, 'Baby Cot', 'سرير طفل', 'PMR-GOLF-GST-COT', 'fas fa-baby', 18, NULL, 1, 0, 1, '100.00', 1, 7, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(166, 'Room Breakfast', 'إفطار بالغرفة', 'PMR-GOLF-FNB-RM-BRK', 'fas fa-mug-hot', 19, NULL, 1, 0, 1, '180.00', 1, 6, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(167, 'Room Dinner', 'عشاء بالغرفة', 'PMR-GOLF-FNB-RM-DIN', 'fas fa-utensils', 20, NULL, 1, 0, 1, '350.00', 1, 6, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(168, 'Minibar Refill', 'تعبئة ميني بار', 'PMR-GOLF-FNB-MINI-RFL', 'fas fa-wine-bottle', 21, NULL, 1, 0, 1, '200.00', 1, 6, 8, NULL, '2026-05-23 00:27:06', '2026-05-23 00:27:06');

-- --------------------------------------------------------

--
-- Table structure for table `service_requests`
--

DROP TABLE IF EXISTS `service_requests`;
CREATE TABLE IF NOT EXISTS `service_requests` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `requested_by` bigint UNSIGNED DEFAULT NULL,
  `assigned_to` bigint UNSIGNED DEFAULT NULL,
  `unit_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `outlet_id` bigint UNSIGNED DEFAULT NULL,
  `branch_id` bigint UNSIGNED DEFAULT NULL COMMENT 'Branch (for multi-branch hotels flexibility)',
  `status` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `origin` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'staff_panel',
  `preferred_date` datetime DEFAULT NULL,
  `subtotal` decimal(12,2) NOT NULL DEFAULT '0.00',
  `discount_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `discount_value` decimal(10,2) DEFAULT NULL,
  `discount_amount` decimal(10,2) DEFAULT NULL,
  `total_cost` decimal(12,2) NOT NULL DEFAULT '0.00',
  `refunded_amount` decimal(12,2) NOT NULL DEFAULT '0.00',
  `remaining_balance` decimal(12,2) NOT NULL DEFAULT '0.00',
  `qr_token` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `qr_expires_at` datetime DEFAULT NULL,
  `business_date` date DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `service_requests_code_unique` (`code`),
  KEY `service_requests_assigned_to_foreign` (`assigned_to`),
  KEY `service_requests_unit_id_foreign` (`unit_id`),
  KEY `service_requests_branch_id_index` (`branch_id`),
  KEY `service_requests_zone_id_index` (`zone_id`),
  KEY `service_requests_outlet_id_index` (`outlet_id`),
  KEY `requests_zone_business_idx` (`zone_id`,`business_date`),
  KEY `service_requests_requested_by_foreign` (`requested_by`),
  KEY `service_requests_origin_index` (`origin`),
  KEY `service_requests_department_id_foreign` (`department_id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `service_requests`
--

INSERT INTO `service_requests` (`id`, `code`, `requested_by`, `assigned_to`, `unit_id`, `zone_id`, `outlet_id`, `branch_id`, `status`, `origin`, `preferred_date`, `subtotal`, `discount_type`, `discount_value`, `discount_amount`, `total_cost`, `refunded_amount`, `remaining_balance`, `qr_token`, `qr_expires_at`, `business_date`, `created_at`, `updated_at`, `department_id`) VALUES
(1, 'SR-20260523-0001', 2, NULL, 1, 1, NULL, NULL, 6, 'staff_panel', NULL, '250.00', NULL, NULL, NULL, '324.90', '0.00', '0.00', '3cb34f19-26ef-4880-adb4-77d006a09196', '2026-05-26 14:02:17', '2026-05-23', '2026-05-23 11:02:17', '2026-05-24 05:26:01', NULL),
(2, 'SR-20260523-0002', 1, NULL, 2, 1, NULL, NULL, 6, 'staff_panel', NULL, '650.00', NULL, NULL, NULL, '844.74', '844.74', '0.00', '526575a7-83b1-4d97-b079-920fd5e92ee8', '2026-05-26 20:24:37', '2026-05-23', '2026-05-23 17:24:37', '2026-05-23 17:24:51', NULL),
(3, 'SR-20260523-0003', 2, NULL, 1, 1, NULL, NULL, 6, 'staff_panel', NULL, '100.00', NULL, NULL, NULL, '129.96', '129.96', '0.00', 'b75bb237-192e-44d9-a141-344cfc293b77', '2026-05-27 01:25:12', '2026-05-23', '2026-05-23 22:25:12', '2026-05-24 03:31:47', NULL),
(4, 'SR-20260523-0004', 1, NULL, 1, 1, NULL, NULL, 6, 'staff_panel', NULL, '150.00', NULL, NULL, NULL, '194.94', '194.94', '-194.94', 'a8a5b0f9-f86c-4b1e-8a35-3057a12de798', '2026-05-27 03:49:30', '2026-05-23', '2026-05-24 03:49:30', '2026-05-24 03:49:37', NULL),
(5, 'SR-20260523-0005', 1, NULL, 1, 1, NULL, NULL, 6, 'staff_panel', NULL, '150.00', NULL, NULL, NULL, '194.94', '0.00', '0.00', '58d22c6f-ab69-400e-a4e4-46ab49e95d01', '2026-05-27 05:01:07', '2026-05-23', '2026-05-24 05:01:07', '2026-05-24 05:25:45', NULL),
(6, 'SR-20260523-0006', 1, NULL, 1, 1, NULL, NULL, 6, 'staff_panel', NULL, '350.00', NULL, NULL, NULL, '454.86', '0.00', '0.00', '6df9bc24-2dad-420b-b6d1-f38a60b4f56e', '2026-05-27 05:09:24', '2026-05-23', '2026-05-24 05:09:24', '2026-05-24 05:25:53', NULL),
(7, 'SR-20260523-0007', 1, NULL, 2, 1, NULL, NULL, 6, 'staff_panel', NULL, '150.00', NULL, NULL, NULL, '194.94', '194.94', '-194.94', '51c97bea-b778-4e78-9982-f05ac36ede25', '2026-05-27 05:12:21', '2026-05-23', '2026-05-24 05:12:21', '2026-05-24 05:12:28', NULL),
(8, 'SR-20260523-0008', 1, NULL, 1, 1, 16, NULL, 6, 'staff_panel', NULL, '100.00', NULL, NULL, NULL, '129.96', '129.96', '-129.96', '9e9c793c-f7f9-4a31-a473-9b26c904ba9f', '2026-05-27 05:14:20', '2026-05-23', '2026-05-24 05:14:20', '2026-06-18 16:16:19', NULL),
(9, 'SR-20260523-0009', 1, NULL, 1, 1, NULL, NULL, 4, 'guest_web', NULL, '150.00', NULL, NULL, '0.00', '194.94', '0.00', '0.00', '74b2d131-66f6-4202-9a2a-80a23dd6ea3a', '2026-05-28 13:37:42', '2026-05-23', '2026-05-25 10:37:42', '2026-05-26 18:44:50', NULL),
(10, 'SR-20260523-0010', 2, NULL, 1, 1, NULL, NULL, 4, 'staff_panel', NULL, '100.00', NULL, NULL, NULL, '129.96', '0.00', '0.00', 'd53be6dc-bb1b-46bb-b31a-48b3540ddc9c', '2026-05-29 21:43:17', '2026-05-23', '2026-05-26 18:43:17', '2026-05-26 18:44:23', NULL),
(11, 'SR-20260523-0011', 2, NULL, 1, 1, 16, NULL, 6, 'staff_panel', NULL, '350.00', NULL, NULL, NULL, '454.86', '454.86', '0.00', '14a7a232-6151-435d-bdd6-8f3f25378464', '2026-05-29 21:52:07', '2026-05-23', '2026-05-26 18:52:07', '2026-06-18 14:02:47', NULL),
(12, 'SR-20260523-0012', 1, NULL, 1, 1, 16, NULL, 6, 'guest_web', NULL, '150.00', NULL, NULL, '0.00', '194.94', '194.94', '0.00', '4d556a5c-c6ef-4f47-9ad7-e156ec422caf', '2026-06-01 14:26:20', '2026-05-23', '2026-05-29 11:26:20', '2026-06-18 14:03:34', NULL),
(13, 'SR-20260523-0013', 3, NULL, 1, 1, 16, NULL, 4, 'guest_web', NULL, '400.00', NULL, NULL, '0.00', '519.84', '0.00', '0.00', '022cb13a-9036-4cf8-b465-c99f3d458431', '2026-06-06 10:38:29', '2026-05-23', '2026-06-03 07:38:29', '2026-06-18 12:52:20', NULL),
(14, 'SR-20260524-0001', 1, NULL, 1, 1, NULL, NULL, 6, 'guest_web', NULL, '400.00', NULL, NULL, '0.00', '519.84', '519.84', '0.00', 'c7c01eed-3d14-4f0d-bb25-4407ca4f567f', '2026-06-08 01:00:46', '2026-05-24', '2026-06-04 22:00:46', '2026-06-12 13:58:38', NULL),
(15, 'SR-20260524-0002', 2, NULL, 2, 1, NULL, NULL, 6, 'staff_panel', NULL, '250.00', NULL, NULL, NULL, '324.90', '324.90', '0.00', 'bf9170fa-265d-43f6-b2ed-9741759d5002', '2026-06-09 03:03:24', '2026-05-24', '2026-06-06 03:03:24', '2026-06-06 03:07:31', NULL),
(16, 'SR-20260526-0001', 2, NULL, 2, 1, 16, NULL, 4, 'staff_panel', NULL, '250.00', NULL, NULL, NULL, '285.00', '0.00', '0.00', 'd9c6dd80-b09a-4612-927c-a870ef2d4ac9', '2026-06-17 00:37:50', '2026-05-26', '2026-06-13 21:37:50', '2026-06-18 14:05:31', NULL),
(17, 'SR-20260527-0001', 2, NULL, 2, 1, 16, NULL, 4, 'staff_panel', NULL, '150.00', NULL, NULL, NULL, '271.00', '0.00', '0.00', 'c42c5eff-72e6-4149-991b-b29440f90f1b', '2026-06-21 15:53:16', '2026-05-27', '2026-06-18 12:53:16', '2026-06-18 12:53:38', NULL),
(18, 'SR-20260530-0001', 2, NULL, 2, 1, 16, NULL, 4, 'staff_panel', NULL, '250.00', NULL, NULL, NULL, '385.00', '0.00', '0.00', 'e540bf96-4d79-48d5-ade0-a64f1270854c', '2026-06-21 17:03:16', '2026-05-30', '2026-06-18 14:03:16', '2026-06-18 14:05:23', NULL),
(19, 'SR-20260531-0001', 2, NULL, 1, 1, 16, NULL, 6, 'staff_panel', NULL, '100.00', NULL, NULL, NULL, '214.00', '214.00', '0.00', '0e36b98a-047c-4aba-acd3-037f2b852441', '2026-06-21 19:16:40', '2026-05-31', '2026-06-18 16:16:40', '2026-06-18 16:16:55', NULL),
(20, 'SR-20260531-0002', 2, NULL, 2, 1, 16, NULL, 6, 'staff_panel', NULL, '250.00', NULL, NULL, NULL, '385.00', '385.00', '0.00', 'f6f85eba-ed91-4536-881c-659d485c1a40', '2026-06-21 19:21:26', '2026-05-31', '2026-06-18 16:21:26', '2026-06-18 16:21:57', NULL),
(21, 'SR-20260531-0003', 2, NULL, 2, 1, 16, NULL, 2, 'staff_panel', NULL, '1550.00', NULL, NULL, NULL, '1867.00', '1084.07', '-120.45', '9b9b9e7c-59d9-4609-9a99-51dff0ac48a5', '2026-06-21 19:37:00', '2026-05-31', '2026-06-18 16:37:00', '2026-06-18 16:39:40', NULL),
(22, 'SR-20260531-0004', 2, NULL, 2, 1, 16, NULL, 1, 'staff_panel', NULL, '300.00', NULL, NULL, NULL, '442.00', '0.00', '342.00', '4d8b6848-1f5a-4aeb-b697-9bd42681001e', '2026-06-21 20:19:43', '2026-05-31', '2026-06-18 17:19:43', '2026-06-18 17:19:51', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `sessions`
--

DROP TABLE IF EXISTS `sessions`;
CREATE TABLE IF NOT EXISTS `sessions` (
  `id` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `user_agent` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `payload` longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `last_activity` int NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sessions_user_id_index` (`user_id`),
  KEY `sessions_last_activity_index` (`last_activity`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `sessions`
--

INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES
('zMY2W5t5SRzDw5sO1jnJu3lzd9cCfCBNtwgkCwfI', 2, '41.33.179.50', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:151.0) Gecko/20100101 Firefox/151.0', 'YTo3OntzOjY6Il90b2tlbiI7czo0MDoiY0M4Q1RGeHYwd1ZDQnNnbTNtVDY4U3lVSUdEdXV5M2ZQREpmUDRhcCI7czo5OiJfcHJldmlvdXMiO2E6MTp7czozOiJ1cmwiO3M6NTU6Imh0dHBzOi8vd2VjYXJlLnB2Yy1wc2IuY29tLz9jb21wb25lbnQ9Y3JlYXRlLWNhcnQtb3JkZXIiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjUwOiJsb2dpbl93ZWJfNTliYTM2YWRkYzJiMmY5NDAxNTgwZjAxNGM3ZjU4ZWE0ZTMwOTg5ZCI7aToyO3M6MTg6InNpZGViYXJfb3Blbl9tZW51cyI7YTozOntpOjA7czo5OiJkYXNoYm9hcmQiO2k6MTtzOjE1OiJtZW51LW1hbmFnZW1lbnQiO2k6MjtzOjEyOiJzeXN0ZW0tYWRtaW4iO31zOjE3OiJwcmV2aW91c0NvbXBvbmVudCI7czoxMzoiY2FydC1yZXF1ZXN0cyI7czoxNDoiY3VycmVudE9yZGVySWQiO2k6Nzk7fQ==', 1781450753),
('t9FOIez7Nh2OQNsP1484eYjI6Q44C4sQJhACX5w3', NULL, '105.46.5.218', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.4 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.4 facebookexternalhit/1.1 Facebot Twitterbot/1.0', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiMHZMekRsUzFVczYyTkdhVlRsdzFJakM3SDdLZXpmaEhuWE8wYW1GaiI7czo5OiJfcHJldmlvdXMiO2E6MTp7czozOiJ1cmwiO3M6NTQ6Imh0dHBzOi8vd2VjYXJlLnB2Yy1wc2IuY29tL2d1ZXN0L21lbnU/YWN0aXZlQ2F0ZWdvcnk9MiI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', 1781447805),
('uG91cS7SG3vGWIGh7xtQlbfWL0ERwN7SEBjBLxgZ', NULL, '41.33.179.50', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.4 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.4 facebookexternalhit/1.1 Facebot Twitterbot/1.0', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiY0tkTEhFNDFGcnNqWEFMRnlMQ29qazkwdkdNczBJU1NrSE9FVmtodyI7czo5OiJfcHJldmlvdXMiO2E6MTp7czozOiJ1cmwiO3M6MzI6Imh0dHBzOi8vd2VjYXJlLnB2Yy1wc2IuY29tL2d1ZXN0Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', 1781449359),
('7GEtAuJomVZGc6TYmri1smP12v6qrUYi0XAu2ZIn', NULL, '41.33.179.51', 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Mobile/15E148 Safari/604.1', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiOFJvTDhxcFNaN1RiUVpVVUZYTWZFNTJ5bmJQeE1ZOWhNMUtlMG1iNyI7czoxMzoiZ3Vlc3RfY29udGV4dCI7YTo4OntzOjc6InpvbmVfaWQiO2k6MTtzOjE0OiJ6b25lX2xvY2tlZF9hdCI7czoyNToiMjAyNi0wNi0xNFQxODoxMDoyNCswMzowMCI7czo0OiJyb29tIjthOjM6e3M6NzoidW5pdF9pZCI7aToxO3M6MTE6InVuaXRfbnVtYmVyIjtzOjM6IjEwMSI7czoxMDoic2Nhbm5lZF9hdCI7czoyNToiMjAyNi0wNi0xNFQxODoxMDoyNCswMzowMCI7fXM6MTA6ImV4cGlyZXNfYXQiO3M6MjU6IjIwMjYtMDYtMjFUMTg6MTE6MTYrMDM6MDAiO3M6MTA6InVwZGF0ZWRfYXQiO3M6MjU6IjIwMjYtMDYtMTRUMTg6MTE6MTYrMDM6MDAiO3M6MTU6InNlcnZpY2VfY29udGV4dCI7YTo1OntzOjQ6InR5cGUiO3M6MTI6InJvb21fc2VydmljZSI7czo5OiJvdXRsZXRfaWQiO2k6MTY7czoxNjoic2VydmljZV9wb2ludF9pZCI7TjtzOjU6ImxhYmVsIjtzOjg6IlJvb20gMTAxIjtzOjEwOiJzY2FubmVkX2F0IjtzOjI1OiIyMDI2LTA2LTE0VDE4OjEwOjI0KzAzOjAwIjt9czo3OiJjYXJ0X2lkIjtpOjIyO3M6NzoiY29udGFjdCI7YTo0OntzOjI6ImlkIjtpOjc7czo1OiJwaG9uZSI7czoxMDoiMTAwMDIwNTE0NiI7czo0OiJuYW1lIjtzOjEwOiJaaWFkIFRhcmVrIjtzOjU6ImVtYWlsIjtzOjA6IiI7fX1zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjk6Il9wcmV2aW91cyI7YToxOntzOjM6InVybCI7czozMjoiaHR0cHM6Ly93ZWNhcmUucHZjLXBzYi5jb20vZ3Vlc3QiO319', 1781449876),
('vqYxzUkkPS3QKTIaox0xDgotTwG9FnedEGcjq4SG', 2, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0', 'YTo1OntzOjY6Il90b2tlbiI7czo0MDoiSnp5Qk9sSFJGTDdrRXRjTkp4Umh6eGpwRUt4SVBSWDVxdVJDYk5IRyI7czo5OiJfcHJldmlvdXMiO2E6MTp7czozOiJ1cmwiO3M6MzI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS91bml0L3FyLzE1Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czo1MDoibG9naW5fd2ViXzU5YmEzNmFkZGMyYjJmOTQwMTU4MGYwMTRjN2Y1OGVhNGUzMDk4OWQiO2k6MjtzOjE4OiJzaWRlYmFyX29wZW5fbWVudXMiO2E6Mzp7aTowO3M6OToiZGFzaGJvYXJkIjtpOjE7czoxNToidXNlci1tYW5hZ2VtZW50IjtpOjI7czoxNjoic2l0ZXMtcHJvcGVydGllcyI7fX0=', 1781511786);

-- --------------------------------------------------------

--
-- Table structure for table `sites`
--

DROP TABLE IF EXISTS `sites`;
CREATE TABLE IF NOT EXISTS `sites` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `area_id` bigint UNSIGNED DEFAULT NULL,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `sites_name_unique` (`name`),
  UNIQUE KEY `sites_code_unique` (`code`),
  KEY `sites_area_id_foreign` (`area_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `sites`
--

INSERT INTO `sites` (`id`, `area_id`, `code`, `name`, `name_ar`, `description`, `created_at`, `updated_at`) VALUES
(1, 1, 'PSK', 'Porto Sokhna', 'بورتو السخنة', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 1, 'PSB', 'Porto South Beach', 'بورتو ساوث بيتش', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 2, 'PMR', 'Porto Marina', 'بورتو مارينا', NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `site_settings`
--

DROP TABLE IF EXISTS `site_settings`;
CREATE TABLE IF NOT EXISTS `site_settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `site_name` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'AOT Services',
  `site_name_ar` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `company_name` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'AOT',
  `company_name_ar` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `company_tagline` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `support_email` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'support@example.com',
  `mail_from_name` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_from_address` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_enabled` tinyint(1) NOT NULL DEFAULT '1',
  `mail_provider` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'custom',
  `mail_mailer` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'smtp',
  `mail_host` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_port` smallint UNSIGNED DEFAULT NULL,
  `mail_encryption` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_username` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_password` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `mail_timeout` smallint UNSIGNED NOT NULL DEFAULT '10',
  `mail_ehlo_domain` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `phone` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `whatsapp` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `address` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `address_ar` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `logo_path` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `favicon_path` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `social_links` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `guest_session_days` smallint UNSIGNED NOT NULL DEFAULT '7',
  `survey_settings` json DEFAULT NULL,
  `max_image_upload_mb` smallint UNSIGNED NOT NULL DEFAULT '10',
  `system_timezone` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Africa/Cairo',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `site_settings`
--

INSERT INTO `site_settings` (`id`, `site_name`, `site_name_ar`, `company_name`, `company_name_ar`, `company_tagline`, `support_email`, `mail_from_name`, `mail_from_address`, `mail_enabled`, `mail_provider`, `mail_mailer`, `mail_host`, `mail_port`, `mail_encryption`, `mail_username`, `mail_password`, `mail_timeout`, `mail_ehlo_domain`, `phone`, `whatsapp`, `address`, `address_ar`, `logo_path`, `favicon_path`, `social_links`, `guest_session_days`, `survey_settings`, `max_image_upload_mb`, `system_timezone`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'AOT Services', 'خدمات AOT', 'AOT', 'AOT', 'A Capital Holding', 'hello@example.com', 'AOT Services', 'hello@example.com', 1, 'custom', 'smtp', 'sandbox.smtp.mailtrap.io', 2525, 'tls', 'e12535409e8dc3', NULL, 10, NULL, '+20 2 1234 5678', '+20 100 123 4567', 'Cairo Business District, New Cairo, Egypt', 'منطقة الأعمال بالقاهرة، القاهرة الجديدة، مصر', 'images/logo-500x500.png', 'assets/images/favicon.png', '[{\"url\": \"#\", \"icon\": \"fa-facebook-f\", \"label\": \"Facebook\"}, {\"url\": \"#\", \"icon\": \"fa-instagram\", \"label\": \"Instagram\"}, {\"url\": \"#\", \"icon\": \"fa-linkedin-in\", \"label\": \"LinkedIn\"}]', 7, NULL, 3, 'Etc/GMT-3', 1, '2026-06-04 07:42:46', '2026-06-12 16:24:04');

-- --------------------------------------------------------

--
-- Table structure for table `survey_questions`
--

DROP TABLE IF EXISTS `survey_questions`;
CREATE TABLE IF NOT EXISTS `survey_questions` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `dimension` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_text` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `question_text_ar` text COLLATE utf8mb4_unicode_ci,
  `response_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `options` json DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `sort_order` smallint UNSIGNED NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `survey_questions_code_unique` (`code`),
  KEY `survey_questions_dimension_index` (`dimension`),
  KEY `survey_questions_is_active_index` (`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `survey_questions`
--

INSERT INTO `survey_questions` (`id`, `code`, `dimension`, `question_text`, `question_text_ar`, `response_type`, `options`, `is_active`, `sort_order`, `created_at`, `updated_at`) VALUES
(1, 'overall_service_rating', 'overall', 'How was this service?', 'ما تقييمك لهذه الخدمة؟', 'star5', '{\"reasons\": [\"fast\", \"slow\", \"clean\", \"quality\", \"staff\"]}', 1, 1, '2026-06-19 12:18:51', '2026-06-19 12:18:51');

-- --------------------------------------------------------

--
-- Table structure for table `survey_templates`
--

DROP TABLE IF EXISTS `survey_templates`;
CREATE TABLE IF NOT EXISTS `survey_templates` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name_ar` varchar(125) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `trigger_type` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `source_kind` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `max_questions` smallint UNSIGNED NOT NULL DEFAULT '3',
  `cooldown_hours` smallint UNSIGNED DEFAULT NULL,
  `config` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `survey_templates`
--

INSERT INTO `survey_templates` (`id`, `zone_id`, `name`, `name_ar`, `trigger_type`, `source_kind`, `is_active`, `max_questions`, `cooldown_hours`, `config`, `created_at`, `updated_at`) VALUES
(1, NULL, 'Mini post-service survey', 'تقييم مصغر بعد الخدمة', 'post_service', NULL, 1, 3, NULL, '{\"channels\": [\"portal\"]}', '2026-06-19 12:18:51', '2026-06-19 12:18:51');

-- --------------------------------------------------------

--
-- Table structure for table `survey_template_question`
--

DROP TABLE IF EXISTS `survey_template_question`;
CREATE TABLE IF NOT EXISTS `survey_template_question` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `survey_template_id` bigint UNSIGNED NOT NULL,
  `survey_question_id` bigint UNSIGNED NOT NULL,
  `sort_order` smallint UNSIGNED NOT NULL DEFAULT '0',
  `is_required` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `survey_tpl_question_unique` (`survey_template_id`,`survey_question_id`),
  KEY `survey_template_question_survey_question_id_foreign` (`survey_question_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data for table `survey_template_question`
--

INSERT INTO `survey_template_question` (`id`, `survey_template_id`, `survey_question_id`, `sort_order`, `is_required`) VALUES
(1, 1, 1, 1, 1);

-- --------------------------------------------------------

--
-- Table structure for table `template_replies`
--

DROP TABLE IF EXISTS `template_replies`;
CREATE TABLE IF NOT EXISTS `template_replies` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `content` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `category` enum('initial','follow_up','completion','general') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'general',
  `is_global` tinyint(1) NOT NULL DEFAULT '0',
  `attachments` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `status_change` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `sort_order` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `template_replies_is_global_is_active_index` (`is_global`,`is_active`),
  KEY `template_replies_service_category_id_is_active_index` (`is_active`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `template_replies`
--

INSERT INTO `template_replies` (`id`, `name`, `content`, `category`, `is_global`, `attachments`, `status_change`, `is_active`, `sort_order`, `created_at`, `updated_at`) VALUES
(1, 'Work In Progress', 'We are working on this issue.', 'general', 1, NULL, '2', 1, 1, '2026-05-23 00:27:03', '2026-06-18 12:25:18'),
(2, 'Technician Assigned', 'A technician has been assigned.', 'general', 1, NULL, 'in_progress', 0, 2, '2026-05-23 00:27:03', '2026-05-24 18:32:08'),
(3, 'Technician En Route', 'The technician is on the way.', 'general', 1, NULL, 'in_progress', 0, 3, '2026-05-23 00:27:03', '2026-05-24 18:32:11'),
(4, 'Assessment Complete', 'The issue was checked and work is in progress.', 'general', 1, NULL, 'in_progress', 0, 4, '2026-05-23 00:27:03', '2026-05-24 18:32:18'),
(5, 'Spare Parts Required', 'We are waiting for spare parts.', 'initial', 0, NULL, 'on_hold', 1, 10, '2026-05-23 00:27:03', '2026-05-24 18:32:43'),
(6, 'Waiting for External Vendor', 'We are waiting for the vendor response.', 'general', 1, NULL, 'on_hold', 0, 11, '2026-05-23 00:27:03', '2026-05-24 18:32:56'),
(7, 'Pending Approval', 'This request is waiting for approval.', 'general', 1, NULL, 'on_hold', 0, 12, '2026-05-23 00:27:03', '2026-05-24 18:33:03'),
(8, 'Awaiting Customer Response', 'We are waiting for your reply.', 'general', 1, NULL, NULL, 1, 13, '2026-05-23 00:27:03', '2026-05-24 18:33:29'),
(9, 'Issue Resolved', 'The issue has been resolved.', 'general', 1, NULL, 'resolved', 0, 20, '2026-05-23 00:27:03', '2026-05-24 18:34:44'),
(10, 'Repair Completed', 'The repair has been completed.', 'general', 1, NULL, 'resolved', 0, 21, '2026-05-23 00:27:03', '2026-05-24 18:33:47'),
(11, 'Service Completed', 'The service has been completed.', 'general', 1, NULL, 'resolved', 1, 22, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(12, 'Duplicate Ticket Closed', 'This ticket was closed as duplicate.', 'general', 1, NULL, 'closed', 0, 30, '2026-05-23 00:27:03', '2026-05-24 18:34:32'),
(13, 'Issue Resolved - Closed', 'This ticket was resolved and closed.', 'general', 1, NULL, 'closed', 0, 31, '2026-05-23 00:27:03', '2026-05-24 18:34:27'),
(14, 'No Response - Auto Closed', 'This ticket was closed due to no response.', 'general', 1, NULL, 'closed', 0, 32, '2026-05-23 00:27:03', '2026-05-24 18:34:23'),
(15, 'Request Cancelled', 'This request was cancelled.', 'general', 1, NULL, 'closed', 1, 33, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(16, 'Out of Scope', 'This request is out of scope.', 'general', 1, NULL, 'closed', 0, 34, '2026-05-23 00:27:03', '2026-05-24 18:34:02'),
(17, 'Ticket Assigned', 'This ticket has been assigned.', 'general', 1, NULL, 'assigned', 0, 40, '2026-05-23 00:27:03', '2026-05-24 18:34:00'),
(18, 'Follow-up Required', 'A follow-up is needed.', 'general', 1, NULL, NULL, 0, 50, '2026-05-23 00:27:03', '2026-05-24 18:33:58'),
(19, 'Customer Notified', 'The customer has been notified.', 'general', 1, NULL, NULL, 0, 51, '2026-05-23 00:27:03', '2026-05-24 18:33:56'),
(20, 'Quality Check Passed', 'The quality check was completed.', 'general', 1, NULL, NULL, 0, 52, '2026-05-23 00:27:03', '2026-05-24 18:33:55');

-- --------------------------------------------------------

--
-- Table structure for table `template_reply_department`
--

DROP TABLE IF EXISTS `template_reply_department`;
CREATE TABLE IF NOT EXISTS `template_reply_department` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `template_reply_id` bigint UNSIGNED NOT NULL,
  `department_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `template_reply_department_template_reply_id_department_id_unique` (`template_reply_id`,`department_id`),
  KEY `template_reply_department_department_id_foreign` (`department_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `template_reply_department`
--

INSERT INTO `template_reply_department` (`id`, `template_reply_id`, `department_id`, `created_at`, `updated_at`) VALUES
(1, 5, 1, '2026-05-24 18:32:43', '2026-05-24 18:32:43');

-- --------------------------------------------------------

--
-- Table structure for table `tickets`
--

DROP TABLE IF EXISTS `tickets`;
CREATE TABLE IF NOT EXISTS `tickets` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `site_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `service_item_id` bigint UNSIGNED DEFAULT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `unit_id` bigint UNSIGNED DEFAULT NULL,
  `location` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `requester_id` bigint UNSIGNED NOT NULL,
  `is_guest_ticket` tinyint(1) NOT NULL DEFAULT '0',
  `origin` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'staff_panel',
  `technician_id` bigint UNSIGNED DEFAULT NULL,
  `status` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `priority` tinyint UNSIGNED NOT NULL DEFAULT '2',
  `title` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `opened_at` timestamp NULL DEFAULT NULL,
  `assigned_at` timestamp NULL DEFAULT NULL,
  `closed_at` timestamp NULL DEFAULT NULL,
  `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `tickets_code_unique` (`code`),
  KEY `tickets_unit_id_foreign` (`unit_id`),
  KEY `tickets_site_id_status_index` (`site_id`),
  KEY `tickets_requester_id_index` (`requester_id`),
  KEY `tickets_technician_id_index` (`technician_id`),
  KEY `tickets_service_item_id_foreign` (`service_item_id`),
  KEY `tickets_zone_id_status_index` (`zone_id`),
  KEY `tickets_origin_index` (`origin`),
  KEY `fk_tickets_department_id` (`department_id`),
  KEY `idx_tickets_zone_status_priority` (`zone_id`,`status`,`priority`,`created_at`),
  KEY `idx_tickets_department_status` (`department_id`,`status`,`created_at`),
  KEY `idx_tickets_requester_status` (`requester_id`,`status`,`created_at`),
  KEY `idx_tickets_unit_status` (`unit_id`,`status`,`created_at`),
  KEY `idx_tickets_sla_due` (`status`,`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tickets`
--

INSERT INTO `tickets` (`id`, `code`, `site_id`, `zone_id`, `service_item_id`, `department_id`, `unit_id`, `location`, `requester_id`, `is_guest_ticket`, `origin`, `technician_id`, `status`, `priority`, `title`, `description`, `opened_at`, `assigned_at`, `closed_at`, `meta`, `created_at`, `updated_at`) VALUES
(1, 'TKT-20260523-1631', 1, 1, 1, 1, 1, NULL, 2, 0, 'staff_panel', NULL, 1, 2, 'Request: AC Repair', 'Service: AC Repair\nDetails:\n—', '2026-05-23 10:14:54', NULL, NULL, '{\"due_date\": null, \"notify_requester\": true, \"visible_in_portal\": false}', '2026-05-23 10:14:54', '2026-05-23 10:14:54'),
(2, 'TKT-20260524-52MI', 1, 1, 8, 1, 1, '101', 1, 1, 'guest_web', NULL, 12, 3, 'Request: Door/Window Repair', 'ddddddddddddd', '2026-05-24 18:35:01', NULL, '2026-05-26 18:25:03', NULL, '2026-05-24 18:35:01', '2026-05-26 18:25:03'),
(3, 'TKT-20260526-XRBD', 1, 1, 1, 1, 5, '105', 2, 1, 'guest_web', NULL, 1, 2, 'Request: AC Repair', 'issue in AC', '2026-05-26 15:12:00', NULL, NULL, NULL, '2026-05-26 15:12:00', '2026-05-26 15:12:00'),
(4, 'TKT-20260526-6ZV8', 1, 1, 1, 1, 1, NULL, 2, 0, 'staff_panel', NULL, 1, 2, 'Request: AC Repair', 'Service: AC Repair\nDetails:\n—', '2026-05-26 17:19:49', NULL, NULL, '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":null}', '2026-05-26 17:19:49', '2026-05-26 17:19:49'),
(5, 'TKT-20260526-GOWN', 1, 1, 3, 1, 1, NULL, 2, 0, 'staff_panel', NULL, 1, 3, 'Request: Plumbing Repair', 'Service: Plumbing Repair\nDetails:\n—', '2026-05-26 18:13:45', NULL, NULL, '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":null}', '2026-05-26 18:13:45', '2026-05-26 18:13:45'),
(6, 'TKT-20260526-AUMX', 1, 1, 8, 1, 1, NULL, 2, 0, 'staff_panel', NULL, 1, 1, 'Request: Door/Window Repair', 'Service: Door/Window Repair\nDetails:\n—', '2026-05-26 18:37:50', NULL, NULL, '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":null}', '2026-05-26 18:37:50', '2026-05-26 18:37:50'),
(7, 'TKT-20260526-UAOL', 1, 1, 21, 3, 1, NULL, 2, 0, 'staff_panel', NULL, 1, 2, 'Request: Lost Key', 'Service: Lost Key\nDetails:\n—', '2026-05-26 18:40:40', NULL, NULL, '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":null}', '2026-05-26 18:40:40', '2026-05-26 18:40:40'),
(8, 'TKT-20260526-CEDQ', 1, 1, 1, 1, 1, NULL, 2, 0, 'staff_panel', NULL, 1, 2, 'Request: AC Repair', 'Service: AC Repair\nDetails:\n—', '2026-05-26 18:41:18', NULL, NULL, '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":null}', '2026-05-26 18:41:18', '2026-05-26 18:41:18'),
(9, 'TKT-20260529-O9BX', 1, 1, 1, 1, 1, '101', 1, 1, 'guest_web', NULL, 2, 3, 'Request: AC Repair', 'ffgfgfgfhgfhfghgfh', '2026-05-29 11:16:13', NULL, NULL, NULL, '2026-05-29 11:16:14', '2026-06-18 09:08:39'),
(10, 'TKT-20260603-LVBU', 1, 1, 5, 1, 1, '101', 3, 1, 'guest_web', NULL, 2, 3, 'Request: Electrical Fault', 'rfgfdfdhfhfdh', '2026-06-03 07:38:01', NULL, NULL, NULL, '2026-06-03 07:38:01', '2026-06-03 07:42:29'),
(11, 'TKT-20260605-Y7ZJ', 1, 1, 1, 1, 2, '102', 1, 1, 'guest_web', NULL, 1, 2, 'Request: AC Repair', 'cdffffffffffffffffffffff', '2026-06-05 18:39:35', NULL, NULL, NULL, '2026-06-05 18:39:36', '2026-06-05 18:39:36'),
(12, 'TKT-20260606-F2G6', 1, 1, 4, 1, 2, '102', 1, 1, 'guest_web', NULL, 1, 3, 'Request: Water Leak', 'Water fixed', '2026-06-06 01:39:10', NULL, NULL, NULL, '2026-06-06 01:39:10', '2026-06-06 01:39:10'),
(13, 'TKT-20260606-ID8J', 1, 1, 8, 1, 2, '102', 5, 1, 'guest_qr', NULL, 11, 3, 'Request: Door/Window Repair', 'I can’t open the door ', '2026-06-06 01:45:44', NULL, NULL, NULL, '2026-06-06 01:45:44', '2026-06-19 13:02:38'),
(14, 'TKT-20260606-DOIO', 1, 1, NULL, NULL, 3, NULL, 2, 0, 'staff_panel', NULL, 2, 2, 'house keeping', 'clean room', '2026-06-06 02:43:15', NULL, NULL, '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":\"2026-06-07\"}', '2026-06-06 02:43:15', '2026-06-06 02:43:48'),
(15, 'TKT-20260618-IU2A', 1, 1, 1, 1, 1, NULL, 2, 0, 'staff_panel', NULL, 12, 2, 'Request: AC Repair', 'Service: AC Repair\nDetails:\n—test', '2026-06-18 09:10:10', NULL, '2026-06-18 09:11:09', '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":null}', '2026-06-18 09:10:10', '2026-06-18 09:11:09'),
(16, 'TKT-20260618-MW3F', 1, 1, 1, 1, 1, NULL, 2, 0, 'staff_panel', NULL, 12, 1, 'Request: AC Repair', 'testبيلبيل بيل بيل يبل يل يب ', '2026-06-18 11:16:04', NULL, '2026-06-18 11:16:20', '{\"notify_requester\":true,\"visible_in_portal\":false,\"due_date\":null}', '2026-06-18 11:16:04', '2026-06-18 11:16:20'),
(17, 'TKT-20260618-PKG7', 1, 1, 1, 1, NULL, 'في الشارع', 2, 0, 'staff_panel', NULL, 1, 1, 'Request: AC Repair', '#TKT-20260618-MW3F dds gds gdf fdg ', '2026-06-18 11:20:02', NULL, NULL, '{\"notify_requester\":false,\"visible_in_portal\":false,\"due_date\":null}', '2026-06-18 11:20:02', '2026-06-18 11:20:02');

-- --------------------------------------------------------

--
-- Table structure for table `tickets_archive`
--

DROP TABLE IF EXISTS `tickets_archive`;
CREATE TABLE IF NOT EXISTS `tickets_archive` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `site_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `service_item_id` bigint UNSIGNED DEFAULT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `unit_id` bigint UNSIGNED DEFAULT NULL,
  `location` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `requester_id` bigint UNSIGNED NOT NULL,
  `is_guest_ticket` tinyint(1) NOT NULL DEFAULT '0',
  `origin` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'staff_panel',
  `technician_id` bigint UNSIGNED DEFAULT NULL,
  `status` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `priority` tinyint UNSIGNED NOT NULL DEFAULT '2',
  `title` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `opened_at` timestamp NULL DEFAULT NULL,
  `assigned_at` timestamp NULL DEFAULT NULL,
  `closed_at` timestamp NULL DEFAULT NULL,
  `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `archived_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `tickets_code_unique` (`code`),
  KEY `tickets_unit_id_foreign` (`unit_id`),
  KEY `tickets_site_id_status_index` (`site_id`),
  KEY `tickets_requester_id_index` (`requester_id`),
  KEY `tickets_technician_id_index` (`technician_id`),
  KEY `tickets_service_item_id_foreign` (`service_item_id`),
  KEY `tickets_zone_id_status_index` (`zone_id`),
  KEY `tickets_origin_index` (`origin`),
  KEY `fk_tickets_department_id` (`department_id`),
  KEY `idx_tickets_zone_status_priority` (`zone_id`,`status`,`priority`,`created_at`),
  KEY `idx_tickets_department_status` (`department_id`,`status`,`created_at`),
  KEY `idx_tickets_requester_status` (`requester_id`,`status`,`created_at`),
  KEY `idx_tickets_unit_status` (`unit_id`,`status`,`created_at`),
  KEY `idx_tickets_sla_due` (`status`,`created_at`),
  KEY `idx_archived_at` (`archived_at`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `ticket_field_history`
--

DROP TABLE IF EXISTS `ticket_field_history`;
CREATE TABLE IF NOT EXISTS `ticket_field_history` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `ticket_id` bigint UNSIGNED NOT NULL,
  `field` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `old_value` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `new_value` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `changed_by` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ticket_field_history_changed_by_foreign` (`changed_by`),
  KEY `ticket_field_history_ticket_id_created_at_index` (`ticket_id`,`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `ticket_files`
--

DROP TABLE IF EXISTS `ticket_files`;
CREATE TABLE IF NOT EXISTS `ticket_files` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `ticket_id` bigint UNSIGNED NOT NULL,
  `attachment_id` bigint UNSIGNED DEFAULT NULL,
  `file_path` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `original_name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `mime_type` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `size` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ticket_files_attachment_id_foreign` (`attachment_id`),
  KEY `ticket_files_ticket_id_index` (`ticket_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `ticket_items`
--

DROP TABLE IF EXISTS `ticket_items`;
CREATE TABLE IF NOT EXISTS `ticket_items` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `code` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `icon` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `color` varchar(7) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `priority` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL DEFAULT 'medium',
  `sla_minutes` int NOT NULL DEFAULT '60',
  `default_template_subject` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `template_body` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `template_body_ar` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `sort_order` int NOT NULL DEFAULT '0',
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `is_visible_to_guest` tinyint NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ticket_items_code_unique` (`code`),
  KEY `ticket_items_zone_id_foreign` (`zone_id`),
  KEY `fk_ticket_items_department_id` (`department_id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `ticket_items`
--

INSERT INTO `ticket_items` (`id`, `department_id`, `zone_id`, `name`, `name_ar`, `code`, `description`, `icon`, `color`, `priority`, `sla_minutes`, `default_template_subject`, `template_body`, `template_body_ar`, `sort_order`, `active`, `is_visible_to_guest`, `created_at`, `updated_at`) VALUES
(1, 1, NULL, 'AC Repair', 'إصلاح تكييف', 'MNT-AC', NULL, 'fas fa-snowflake', '#4f46e5', '1', 60, NULL, 'test', NULL, 1, 1, 1, '2026-05-23 00:27:02', '2026-06-18 10:18:50'),
(3, 1, NULL, 'Plumbing Repair', 'إصلاح سباكة', 'MNT-PLB', NULL, 'fas fa-faucet', NULL, '3', 60, NULL, NULL, NULL, 3, 1, 1, '2026-05-23 00:27:02', '2026-05-24 18:31:00'),
(4, 1, NULL, 'Water Leak', 'تسريب مياه', 'MNT-LEAK', NULL, 'fas fa-droplet', NULL, '3', 60, NULL, NULL, NULL, 4, 1, 1, '2026-05-23 00:27:02', '2026-06-06 02:44:08'),
(5, 1, NULL, 'Electrical Fault', 'أعطال كهربائية', 'MNT-ELE', NULL, 'fas fa-bolt', NULL, '3', 60, NULL, NULL, NULL, 5, 1, 1, '2026-05-23 00:27:02', '2026-05-24 18:31:08'),
(6, 1, NULL, 'Light Fixture', 'إصلاح إضاءة', 'MNT-LIGHT', NULL, 'fas fa-lightbulb', NULL, '1', 60, NULL, NULL, NULL, 6, 1, 1, '2026-05-23 00:27:02', '2026-05-24 18:31:10'),
(7, 1, NULL, 'Appliance Repair', 'إصلاح أجهزة', 'MNT-APP', NULL, 'fas fa-tools', NULL, '2', 60, NULL, NULL, NULL, 7, 1, 0, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(8, 1, NULL, 'Door/Window Repair', 'إصلاح أبواب/نوافذ', 'MNT-DR', NULL, 'fas fa-door-open', NULL, '1', 60, NULL, NULL, NULL, 8, 1, 1, '2026-05-23 00:27:02', '2026-05-24 18:31:14'),
(9, 2, NULL, 'Deep Cleaning', 'تنظيف عميق', 'HKP-DCL', NULL, 'fas fa-soap', NULL, '1', 60, NULL, NULL, NULL, 9, 1, 0, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(10, 2, NULL, 'Urgent Cleaning', 'تنظيف مستعجل', 'HKP-UCL', NULL, 'fas fa-broom', NULL, '3', 60, NULL, NULL, NULL, 10, 1, 0, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(11, 2, NULL, 'Laundry Service', 'مغسلة ملابس', 'HKP-LND', NULL, 'fas fa-shirt', NULL, '1', 60, NULL, NULL, NULL, 11, 1, 0, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(12, 2, NULL, 'Carpet Cleaning', 'تنظيف سجاد', 'HKP-CARP', NULL, 'fas fa-brush', NULL, '2', 60, NULL, NULL, NULL, 12, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(13, 2, NULL, 'Window Cleaning', 'تنظيف نوافذ', 'HKP-WIN', NULL, 'fas fa-spray-can-sparkles', NULL, '1', 60, NULL, NULL, NULL, 13, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(14, 2, NULL, 'Pest Control', 'مكافحة حشرات', 'HKP-PEST', NULL, 'fas fa-bug', NULL, '3', 60, NULL, NULL, NULL, 14, 1, 1, '2026-05-23 00:27:03', '2026-05-24 18:31:31'),
(15, 5, NULL, 'HVAC Maintenance', 'صيانة تكييف مركزي', 'ENG-HVAC', NULL, 'fas fa-wind', NULL, '2', 60, NULL, NULL, NULL, 15, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(16, 5, NULL, 'Generator Check', 'فحص مولد كهربائي', 'ENG-GEN', NULL, 'fas fa-plug', NULL, '2', 60, NULL, NULL, NULL, 16, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(17, 5, NULL, 'Elevator Issue', 'مشكلة مصعد', 'ENG-ELEV', NULL, 'fas fa-building', NULL, '3', 60, NULL, NULL, NULL, 17, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(18, 5, NULL, 'Fire Safety Check', 'فحص سلامة حريق', 'ENG-FIRE', NULL, 'fas fa-fire-extinguisher', NULL, '3', 60, NULL, NULL, NULL, 18, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(19, 5, NULL, 'Pump Maintenance', 'صيانة مضخات', 'ENG-PUMP', NULL, 'fas fa-gauge-high', NULL, '2', 60, NULL, NULL, NULL, 19, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(20, 3, NULL, 'Access Issue', 'مشكلة دخول', 'SEC-ACC', NULL, 'fas fa-id-card', NULL, '3', 60, NULL, NULL, NULL, 20, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(21, 3, NULL, 'Lost Key', 'مفتاح مفقود', 'SEC-KEY', NULL, 'fas fa-key', NULL, '2', 60, NULL, NULL, NULL, 21, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(22, 3, NULL, 'Lock Change', 'تغيير قفل', 'SEC-LOCK', NULL, 'fas fa-lock', NULL, '2', 60, NULL, NULL, NULL, 22, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(23, 3, NULL, 'CCTV Issue', 'مشكلة كاميرات', 'SEC-CCTV', NULL, 'fas fa-video', NULL, '2', 60, NULL, NULL, NULL, 23, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(24, 3, NULL, 'Security Patrol', 'دورية أمنية', 'SEC-PATROL', NULL, 'fas fa-user-shield', NULL, '1', 60, NULL, NULL, NULL, 24, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(25, 4, NULL, 'Check-in Issue', 'مشكلة تسجيل دخول', 'FDK-CHK', NULL, 'fas fa-right-to-bracket', NULL, '3', 60, NULL, NULL, NULL, 25, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(26, 4, NULL, 'Check-out Issue', 'مشكلة تسجيل خروج', 'FDK-OUT', NULL, 'fas fa-right-from-bracket', NULL, '3', 60, NULL, NULL, NULL, 26, 1, 0, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(27, 4, NULL, 'Information Request', 'طلب معلومات', 'FDK-INF', NULL, 'fas fa-circle-info', NULL, '1', 60, NULL, NULL, NULL, 27, 1, 1, '2026-05-23 00:27:03', '2026-05-24 18:31:43'),
(28, 4, NULL, 'Complaint', 'شكوى', 'FDK-COMP', NULL, 'fas fa-comment-dots', NULL, '3', 60, NULL, NULL, NULL, 28, 1, 1, '2026-05-23 00:27:03', '2026-05-24 18:31:42'),
(29, 4, NULL, 'Lost & Found', 'مفقودات', 'FDK-LOST', NULL, 'fas fa-box-open', NULL, '2', 60, NULL, NULL, NULL, 29, 1, 1, '2026-05-23 00:27:03', '2026-05-24 18:31:41');

-- --------------------------------------------------------

--
-- Table structure for table `ticket_replies`
--

DROP TABLE IF EXISTS `ticket_replies`;
CREATE TABLE IF NOT EXISTS `ticket_replies` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `ticket_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `contact_id` bigint UNSIGNED DEFAULT NULL,
  `content` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `message` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `attachments` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `status_before` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `status_after` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `template_id` bigint UNSIGNED DEFAULT NULL,
  `read` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ticket_replies_template_id_foreign` (`template_id`),
  KEY `ticket_replies_ticket_id_created_at_index` (`ticket_id`,`created_at`),
  KEY `ticket_replies_user_id_index` (`user_id`),
  KEY `ticket_replies_contact_id_foreign` (`contact_id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `ticket_replies`
--

INSERT INTO `ticket_replies` (`id`, `ticket_id`, `user_id`, `contact_id`, `content`, `message`, `attachments`, `status_before`, `status_after`, `template_id`, `read`, `created_at`, `updated_at`) VALUES
(1, 1, 2, NULL, 'We are waiting for your reply.', 'We are waiting for your reply.', NULL, 'new', NULL, 8, 0, '2026-05-24 18:46:34', '2026-05-24 18:46:34'),
(2, 4, 2, NULL, 'We are working on this issue.', 'We are working on this issue.', NULL, '1', NULL, 1, 0, '2026-05-26 17:19:54', '2026-05-26 17:19:54'),
(3, 4, 2, NULL, 'We are waiting for spare parts.', 'We are waiting for spare parts.', NULL, '1', NULL, 5, 0, '2026-05-26 17:19:58', '2026-05-26 17:19:58'),
(4, 2, 2, NULL, 'We are working on this issue.', 'We are working on this issue.', NULL, '1', NULL, 1, 0, '2026-05-26 18:12:57', '2026-05-26 18:12:57'),
(5, 2, 2, NULL, 'We are working on this issue.', 'We are working on this issue.', NULL, '1', '2', 1, 0, '2026-05-26 18:24:55', '2026-05-26 18:24:55'),
(6, 2, 2, NULL, 'This request was cancelled.', 'This request was cancelled.', NULL, '2', '12', 15, 0, '2026-05-26 18:25:03', '2026-05-26 18:25:03'),
(7, 10, 2, NULL, 'We are working on this issue.', 'We are working on this issue.', NULL, '1', '2', 1, 0, '2026-06-03 07:42:29', '2026-06-03 07:42:29'),
(8, 14, 2, NULL, 'We are working on this issue.', 'We are working on this issue.', NULL, '1', '2', 1, 0, '2026-06-06 02:43:48', '2026-06-06 02:43:48'),
(9, 9, 2, NULL, 'We are working on this issue.', 'We are working on this issue.', NULL, '1', '2', 1, 0, '2026-06-18 09:08:39', '2026-06-18 09:08:39'),
(10, 15, 2, NULL, 'We are working on this issue.', 'We are working on this issue.', NULL, '1', '2', 1, 0, '2026-06-18 09:10:33', '2026-06-18 09:10:33'),
(11, 15, 2, NULL, 'This request was cancelled.', 'This request was cancelled.', NULL, '2', '12', 15, 0, '2026-06-18 09:11:09', '2026-06-18 09:11:09'),
(12, 16, 2, NULL, 'This request was cancelled.', 'This request was cancelled.', NULL, '1', '12', 15, 0, '2026-06-18 11:16:20', '2026-06-18 11:16:20'),
(13, 13, NULL, 5, 'This request has been completed. Thank you!', NULL, NULL, NULL, NULL, NULL, 0, '2026-06-19 13:02:38', '2026-06-19 13:02:38');

-- --------------------------------------------------------

--
-- Table structure for table `ticket_status_history`
--

DROP TABLE IF EXISTS `ticket_status_history`;
CREATE TABLE IF NOT EXISTS `ticket_status_history` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `ticket_id` bigint UNSIGNED NOT NULL,
  `old_status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `new_status` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `changed_by` bigint UNSIGNED DEFAULT NULL,
  `note` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ticket_status_history_changed_by_foreign` (`changed_by`),
  KEY `ticket_status_history_ticket_id_created_at_index` (`ticket_id`,`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `ticket_status_history`
--

INSERT INTO `ticket_status_history` (`id`, `ticket_id`, `old_status`, `new_status`, `changed_by`, `note`, `created_at`) VALUES
(1, 1, NULL, 'new', 2, 'Ticket created', '2026-05-23 10:14:54'),
(2, 2, NULL, 'new', 1, 'Ticket created', '2026-05-24 18:35:01'),
(3, 2, 'new', 'new', NULL, 'auto_escalated|Low → High', '2026-05-24 20:25:55'),
(4, 3, NULL, 'new', 2, 'Ticket created', '2026-05-26 15:12:00'),
(5, 4, NULL, '1', 2, 'Ticket created', '2026-05-26 17:19:49'),
(6, 5, NULL, '1', 2, 'Ticket created', '2026-05-26 18:13:45'),
(7, 2, '1', '2', 2, NULL, '2026-05-26 18:24:55'),
(8, 2, '2', '12', 2, NULL, '2026-05-26 18:25:03'),
(9, 6, NULL, '1', 2, 'Ticket created', '2026-05-26 18:37:50'),
(10, 7, NULL, '1', 2, 'Ticket created', '2026-05-26 18:40:40'),
(11, 8, NULL, '1', 2, 'Ticket created', '2026-05-26 18:41:18'),
(12, 9, NULL, '1', 1, 'Ticket created', '2026-05-29 11:16:14'),
(13, 10, NULL, '1', 3, 'Ticket created', '2026-06-03 07:38:01'),
(14, 10, '1', '2', 2, NULL, '2026-06-03 07:42:29'),
(15, 9, '1', '1', NULL, 'auto_escalated|Medium → High', '2026-06-04 17:07:39'),
(16, 11, NULL, '1', 1, 'Ticket created', '2026-06-05 18:39:36'),
(17, 12, NULL, '1', 1, 'Ticket created', '2026-06-05 22:39:10'),
(18, 13, NULL, '1', 5, 'Ticket created', '2026-06-05 22:45:44'),
(19, 14, NULL, '1', 2, 'Ticket created', '2026-06-05 23:43:15'),
(20, 14, '1', '2', 2, NULL, '2026-06-05 23:43:48'),
(21, 9, '1', '2', 2, NULL, '2026-06-18 09:08:39'),
(22, 15, NULL, '1', 2, 'Ticket created', '2026-06-18 09:10:10'),
(23, 15, '1', '2', 2, NULL, '2026-06-18 09:10:33'),
(24, 15, '2', '12', 2, NULL, '2026-06-18 09:11:09'),
(25, 16, NULL, '1', 2, 'Ticket created', '2026-06-18 11:16:04'),
(26, 16, '1', '12', 2, NULL, '2026-06-18 11:16:20'),
(27, 17, NULL, '1', 2, 'Ticket created', '2026-06-18 11:20:02'),
(28, 13, '1', '1', NULL, 'auto_escalated|Low → High', '2026-06-19 13:02:35'),
(29, 13, '1', '11', NULL, 'guest_resolved|Guest marked this request as done.', '2026-06-19 13:02:38');

-- --------------------------------------------------------

--
-- Table structure for table `transactions`
--

DROP TABLE IF EXISTS `transactions`;
CREATE TABLE IF NOT EXISTS `transactions` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `payment_id` bigint UNSIGNED NOT NULL,
  `type` tinyint UNSIGNED NOT NULL DEFAULT '1',
  `amount` decimal(10,2) NOT NULL,
  `reason` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `transactions_payment_id_foreign` (`payment_id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `transactions`
--

INSERT INTO `transactions` (`id`, `payment_id`, `type`, `amount`, `reason`, `created_at`, `updated_at`) VALUES
(1, 2, 3, '40.00', 'Refund: Item refund (including proportional adjustments)', '2026-05-23 17:06:45', '2026-05-23 17:06:45'),
(2, 1, 3, '250.00', 'Refund', '2026-05-23 17:09:16', '2026-05-23 17:09:16'),
(3, 4, 3, '129.96', 'Refund', '2026-05-24 03:30:44', '2026-05-24 03:30:44'),
(4, 7, 3, '194.94', 'Refund', '2026-05-24 03:49:37', '2026-05-24 03:49:37'),
(5, 8, 3, '57.68', 'Refund: Item refund (including proportional adjustments)', '2026-05-24 03:50:07', '2026-05-24 03:50:07'),
(6, 10, 3, '77.17', 'Full order refund (including proportional adjustments)', '2026-05-24 05:00:37', '2026-05-24 05:00:37'),
(7, 11, 3, '194.94', 'Refund', '2026-05-24 05:01:15', '2026-05-24 05:01:15'),
(8, 12, 3, '454.86', 'Refund', '2026-05-24 05:09:31', '2026-05-24 05:09:31'),
(9, 13, 3, '57.68', 'Full order refund (including proportional adjustments)', '2026-05-24 05:12:13', '2026-05-24 05:12:13'),
(10, 14, 3, '194.94', 'Refund', '2026-05-24 05:12:28', '2026-05-24 05:12:28'),
(11, 15, 3, '64.18', 'Refund: Item refund (including proportional adjustments)', '2026-05-24 05:14:07', '2026-05-24 05:14:07'),
(12, 16, 3, '129.96', 'Refund', '2026-05-24 05:14:27', '2026-05-24 05:14:27'),
(13, 19, 3, '86.84', 'Refund: Item refund (including proportional adjustments)', '2026-05-24 21:48:27', '2026-05-24 21:48:27'),
(14, 27, 3, '324.90', 'Refund', '2026-06-06 03:06:50', '2026-06-06 03:06:50'),
(15, 35, 3, '30.00', 'Refund: Item refund', '2026-06-13 20:23:33', '2026-06-13 20:23:33'),
(16, 35, 3, '20.00', 'Refund: Item refund', '2026-06-13 20:24:36', '2026-06-13 20:24:36'),
(17, 35, 3, '85.00', 'Refund: Item refund', '2026-06-13 20:24:45', '2026-06-13 20:24:45'),
(18, 37, 3, '57.00', 'Full order refund', '2026-06-14 13:25:19', '2026-06-14 13:25:19'),
(19, 19, 3, '145.51', 'Refund: Item refund', '2026-06-15 11:37:55', '2026-06-15 11:37:55'),
(20, 19, 3, '91.75', 'Refund: Item refund', '2026-06-15 11:38:07', '2026-06-15 11:38:07'),
(21, 19, 3, '0.00', 'Refund: Item refund', '2026-06-15 11:38:13', '2026-06-15 11:38:13'),
(22, 23, 3, '194.94', 'Refund', '2026-06-18 14:03:00', '2026-06-18 14:03:00'),
(23, 49, 3, '214.00', 'Refund', '2026-06-18 16:16:52', '2026-06-18 16:16:52'),
(24, 51, 3, '385.00', 'Refund', '2026-06-18 16:21:51', '2026-06-18 16:21:51'),
(25, 53, 3, '481.81', 'Refund', '2026-06-18 16:37:24', '2026-06-18 16:37:24'),
(26, 53, 3, '481.81', 'Refund', '2026-06-18 16:37:33', '2026-06-18 16:37:33'),
(27, 54, 3, '120.45', 'Refund', '2026-06-18 16:39:40', '2026-06-18 16:39:40'),
(28, 57, 3, '22.15', 'Refund: Item refund', '2026-06-18 17:41:06', '2026-06-18 17:41:06'),
(29, 57, 3, '55.37', 'Refund: Item refund', '2026-06-18 17:41:19', '2026-06-18 17:41:19');

-- --------------------------------------------------------

--
-- Table structure for table `units`
--

DROP TABLE IF EXISTS `units`;
CREATE TABLE IF NOT EXISTS `units` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `property_id` bigint UNSIGNED DEFAULT NULL,
  `number` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `status` tinyint NOT NULL,
  `type` tinyint NOT NULL,
  `level` tinyint NOT NULL,
  `area` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `notes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `units_property_id_foreign` (`property_id`)
) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `units`
--

INSERT INTO `units` (`id`, `property_id`, `number`, `status`, `type`, `level`, `area`, `notes`, `created_at`, `updated_at`) VALUES
(1, 1, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 1, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 1, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(4, 1, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(5, 1, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(6, 2, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(7, 2, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(8, 2, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(9, 2, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(10, 2, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(11, 3, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(12, 3, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(13, 3, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(14, 3, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(15, 3, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(16, 4, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(17, 4, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(18, 4, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(19, 4, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(20, 4, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(21, 5, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(22, 5, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(23, 5, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(24, 5, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(25, 5, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(26, 6, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(27, 6, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(28, 6, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(29, 6, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(30, 6, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(31, 7, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(32, 7, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(33, 7, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(34, 7, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(35, 7, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(36, 8, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(37, 8, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(38, 8, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(39, 8, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(40, 8, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(41, 9, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(42, 9, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(43, 9, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(44, 9, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(45, 9, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(46, 10, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(47, 10, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(48, 10, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(49, 10, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(50, 10, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(51, 11, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(52, 11, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(53, 11, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(54, 11, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(55, 11, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(56, 12, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(57, 12, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(58, 12, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(59, 12, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(60, 12, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(61, 13, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(62, 13, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(63, 13, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(64, 13, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(65, 13, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(66, 14, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(67, 14, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(68, 14, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(69, 14, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(70, 14, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(71, 15, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(72, 15, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(73, 15, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(74, 15, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(75, 15, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(76, 16, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(77, 16, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(78, 16, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(79, 16, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(80, 16, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(81, 17, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(82, 17, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(83, 17, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(84, 17, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(85, 17, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(86, 18, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(87, 18, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(88, 18, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(89, 18, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(90, 18, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(91, 19, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(92, 19, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(93, 19, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(94, 19, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(95, 19, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(96, 20, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(97, 20, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(98, 20, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(99, 20, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(100, 20, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(101, 21, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(102, 21, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(103, 21, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(104, 21, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(105, 21, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(106, 22, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(107, 22, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(108, 22, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(109, 22, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(110, 22, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(111, 23, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(112, 23, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(113, 23, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(114, 23, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(115, 23, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(116, 24, '101', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(117, 24, '102', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(118, 24, '103', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(119, 24, '104', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(120, 24, '105', 1, 1, 1, NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
CREATE TABLE IF NOT EXISTS `users` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `email` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `two_factor_secret` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `two_factor_recovery_codes` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `two_factor_confirmed_at` timestamp NULL DEFAULT NULL,
  `remember_token` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `locked` tinyint(1) NOT NULL DEFAULT '0',
  `phone` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `title` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `department_id` bigint UNSIGNED DEFAULT NULL,
  `status` enum('0','1') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `profile_photo_path` varchar(2048) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`),
  KEY `users_department_id_foreign` (`department_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `two_factor_secret`, `two_factor_recovery_codes`, `two_factor_confirmed_at`, `remember_token`, `locked`, `phone`, `title`, `department_id`, `status`, `profile_photo_path`, `created_at`, `updated_at`) VALUES
(1, 'Super Admin', 'superadmin@demo.com', '2026-05-23 00:27:03', '$2y$10$UPSvns3hvZFLUg/Oo/UvfujUFLSNVuFsUkXEdrzAaX/UVk5qy3z1a', NULL, NULL, NULL, NULL, 0, '012', NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-06-17 17:48:59'),
(2, 'Admin User', 'admin@demo.com', '2026-05-23 00:27:03', '$2y$10$3ZYwQ64NKHKx8.Mn/OdmC.vq2L8XLmMUI2a6MeY/hOiyytdVm0WUK', NULL, NULL, NULL, 'kSpuONvmFpjiRYdg8McMFZl3xtCA9VmPqUER5YLRZ3NeX7v95ufFmmXsJ8OD', 0, '111111111111', NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:29:16'),
(3, 'Service Agent', 'serviceagent@demo.com', '2026-05-23 00:27:03', '$2y$10$yV/D6gbi8lNSQFATWtg.QeQi4.F9FaiCJdfbIqGtObJPk/NbNxyfy', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(4, 'Cashier', 'cashier@demo.com', '2026-05-23 00:27:03', '$2y$10$gp9o50t1E9OVDfzLcyvpD.Nf1zmyOCKk0RZzeLNYGtG4O2oabWKQW', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(5, 'Supervisor Cashier', 'supervisor@demo.com', '2026-05-23 00:27:03', '$2y$10$4Cm.uA.JieAlmOpf8aIukehVJ6r/.tjDjXywtVEvWnjbGfpG/N4rG', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(6, 'Night Editor', 'nighteditor@demo.com', '2026-05-23 00:27:03', '$2y$10$s4t2ZBcfC9QQhN1Ltnp2suFvv3egJWsxD/CzPBHR0HPBZexsIdNrK', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(7, 'General Cashier', 'generalcashier@demo.com', '2026-05-23 00:27:03', '$2y$10$DSUkpSCG9dpUTEExhbrbPuzSmMRXvBC64cFgeqOI7Egu3DvAJgyQm', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(8, 'Finance Manager', 'finance@demo.com', '2026-05-23 00:27:03', '$2y$10$lkibYUU5rXMP7SU1VTawf.G1Xd7wGqjESlXqUaclSBYtQL9nUjRgW', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(9, 'Tickets Manager', 'tickets@demo.com', '2026-05-23 00:27:03', '$2y$10$cf6ahwYErC1omyxw1ZyoveLmgqlFkNIir5itkaGc52DOj1Aj5jAwe', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(10, 'Technician', 'tech@demo.com', '2026-05-23 00:27:03', '$2y$10$dyX10hfJfTI1/Q4.iByiM.bNvDfYvqew5jr09lIsrSlvn6qtdtkF.', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(11, 'Unit Manager', 'unitmanager@demo.com', '2026-05-23 00:27:03', '$2y$10$fbXb2sk1Ci8yYd5MzCpgberle2NZh9GTUJdFAluyFTRfbZMbZBtcC', NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, '1', NULL, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(12, 'Pyramids Cashier', 'cashier.pyramids@demo.com', NULL, '$2y$10$/XqB8F/dcIXApzTkfrxXye1YQHLwaQakaRA03DojIcySXJCkU/fZS', NULL, NULL, NULL, NULL, 0, '+201234567890', NULL, NULL, NULL, NULL, '2026-05-23 01:06:41', '2026-05-23 01:06:41'),
(13, 'Pyramids Supervisor', 'supervisor.pyramids@demo.com', NULL, '$2y$10$fvmL.QZPNokU1z7EXve0Xef6Xw4otmsNY0KMSw3akxglTayFgb0zW', NULL, NULL, NULL, NULL, 0, '+201234567891', NULL, NULL, NULL, NULL, '2026-05-23 01:06:41', '2026-05-23 01:06:41'),
(14, 'Hotel Cashier', 'cashier.hotel@demo.com', NULL, '$2y$10$NQNrF99LPX71eZKosNLwAe.Ia57aV6ey2jhrjEFOg5aPDe2hsZvPG', NULL, NULL, NULL, NULL, 0, '+201234567892', NULL, NULL, NULL, NULL, '2026-05-23 01:06:42', '2026-05-23 01:06:42'),
(15, 'Multi-Zone Cashier', 'cashier.multi@demo.com', NULL, '$2y$10$sgKn8LLr4ON47j3KVPBtLel0t9PAcT9XKB2gOa6OSINz4vBACQIwG', NULL, NULL, NULL, NULL, 0, '+201234567893', NULL, NULL, NULL, NULL, '2026-05-23 01:06:42', '2026-05-23 01:06:42');

-- --------------------------------------------------------

--
-- Table structure for table `user_areas`
--

DROP TABLE IF EXISTS `user_areas`;
CREATE TABLE IF NOT EXISTS `user_areas` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED NOT NULL,
  `area_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_areas_user_id_area_id_unique` (`user_id`,`area_id`),
  KEY `user_areas_area_id_foreign` (`area_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `user_departments`
--

DROP TABLE IF EXISTS `user_departments`;
CREATE TABLE IF NOT EXISTS `user_departments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED NOT NULL,
  `department_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_departments_user_id_department_id_unique` (`user_id`,`department_id`),
  KEY `user_departments_department_id_foreign` (`department_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `user_permission_overrides`
--

DROP TABLE IF EXISTS `user_permission_overrides`;
CREATE TABLE IF NOT EXISTS `user_permission_overrides` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED NOT NULL,
  `permission_id` bigint UNSIGNED NOT NULL,
  `type` enum('allow','deny') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `reason` text CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_permission_overrides_user_id_permission_id_unique` (`user_id`,`permission_id`),
  KEY `user_permission_overrides_permission_id_foreign` (`permission_id`),
  KEY `user_permission_overrides_created_by_foreign` (`created_by`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `user_sites`
--

DROP TABLE IF EXISTS `user_sites`;
CREATE TABLE IF NOT EXISTS `user_sites` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED NOT NULL,
  `site_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_sites_user_id_site_id_unique` (`user_id`,`site_id`),
  KEY `user_sites_site_id_foreign` (`site_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `user_sites`
--

INSERT INTO `user_sites` (`id`, `user_id`, `site_id`, `created_at`, `updated_at`) VALUES
(1, 1, 1, '2026-06-17 17:48:59', '2026-06-17 17:48:59');

-- --------------------------------------------------------

--
-- Table structure for table `user_unit_scopes`
--

DROP TABLE IF EXISTS `user_unit_scopes`;
CREATE TABLE IF NOT EXISTS `user_unit_scopes` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED NOT NULL,
  `scope_type` enum('area','site','zone','property') CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `scope_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_unit_scopes_user_id_scope_type_scope_id_unique` (`user_id`,`scope_type`,`scope_id`),
  KEY `user_unit_scopes_scope_type_index` (`scope_type`),
  KEY `user_unit_scopes_scope_id_index` (`scope_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `user_zones`
--

DROP TABLE IF EXISTS `user_zones`;
CREATE TABLE IF NOT EXISTS `user_zones` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_zones_user_id_zone_id_unique` (`user_id`,`zone_id`),
  KEY `user_zones_zone_id_foreign` (`zone_id`)
) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `user_zones`
--

INSERT INTO `user_zones` (`id`, `user_id`, `zone_id`, `created_at`, `updated_at`) VALUES
(1, 3, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(2, 3, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(3, 3, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(4, 3, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(5, 3, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(6, 3, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(7, 3, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(8, 3, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(9, 4, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(10, 4, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(11, 4, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(12, 4, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(13, 4, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(14, 4, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(15, 4, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(16, 4, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(17, 5, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(18, 5, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(19, 5, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(20, 5, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(21, 5, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(22, 5, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(23, 5, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(24, 5, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(25, 6, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(26, 6, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(27, 6, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(28, 6, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(29, 6, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(30, 6, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(31, 6, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(32, 6, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(33, 7, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(34, 7, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(35, 7, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(36, 7, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(37, 7, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(38, 7, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(39, 7, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(40, 7, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(41, 8, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(42, 8, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(43, 8, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(44, 8, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(45, 8, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(46, 8, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(47, 8, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(48, 8, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(49, 9, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(50, 9, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(51, 9, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(52, 9, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(53, 9, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(54, 9, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(55, 9, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(56, 9, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(57, 10, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(58, 10, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(59, 10, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(60, 10, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(61, 10, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(62, 10, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(63, 10, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(64, 10, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(65, 11, 1, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(66, 11, 2, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(67, 11, 3, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(68, 11, 4, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(69, 11, 5, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(70, 11, 6, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(71, 11, 7, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(72, 11, 8, '2026-05-23 00:27:03', '2026-05-23 00:27:03'),
(73, 2, 1, '2026-05-23 00:29:16', '2026-05-23 00:29:16'),
(74, 12, 1, '2026-05-23 01:06:41', '2026-05-23 01:06:41'),
(75, 13, 1, '2026-05-23 01:06:41', '2026-05-23 01:06:41'),
(76, 14, 2, '2026-05-23 01:06:42', '2026-05-23 01:06:42'),
(77, 15, 1, '2026-05-23 01:06:42', '2026-05-23 01:06:42'),
(78, 15, 2, '2026-05-23 01:06:42', '2026-05-23 01:06:42');

-- --------------------------------------------------------

--
-- Table structure for table `visitors`
--

DROP TABLE IF EXISTS `visitors`;
CREATE TABLE IF NOT EXISTS `visitors` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `phone` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `qr_code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `allowed_entries` int NOT NULL DEFAULT '1',
  `valid_from` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `valid_until` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `visitors_qr_code_unique` (`qr_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `visitor_entries`
--

DROP TABLE IF EXISTS `visitor_entries`;
CREATE TABLE IF NOT EXISTS `visitor_entries` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `visitor_id` bigint UNSIGNED NOT NULL,
  `gate_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `visitor_entries_visitor_id_foreign` (`visitor_id`),
  KEY `visitor_entries_gate_id_foreign` (`gate_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `visitor_zones`
--

DROP TABLE IF EXISTS `visitor_zones`;
CREATE TABLE IF NOT EXISTS `visitor_zones` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `visitor_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `visitor_zones_visitor_id_foreign` (`visitor_id`),
  KEY `idx_visitor_zones_zone_id` (`zone_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `zones`
--

DROP TABLE IF EXISTS `zones`;
CREATE TABLE IF NOT EXISTS `zones` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `site_id` bigint UNSIGNED DEFAULT NULL,
  `name` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `name_ar` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `code` varchar(125) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `zones_code_unique` (`code`),
  KEY `zones_site_id_foreign` (`site_id`)
) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `zones`
--

INSERT INTO `zones` (`id`, `site_id`, `name`, `name_ar`, `code`, `created_at`, `updated_at`) VALUES
(1, 1, 'Porto Sokhna - Pyramids', 'بورتو السخنة - ', 'PSK-PYR', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(2, 1, 'Porto Sokhna - Hotel', 'بورتو السخنة - ', 'PSK-HOTEL', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 1, 'Porto Sokhna - Golf', 'بورتو السخنة - ', 'PSK-GOLF', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(4, 2, 'Porto South Beach - Genwa', 'بورتو ساوث بيتش - ', 'PSB-GENWA', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(5, 2, 'Porto South Beach - PVC Timeshare', 'بورتو ساوث بيتش - ', 'PSB-PVC', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(6, 3, 'Porto Marina - Towers', 'بورتو مارينا - ', 'PMR-TOWERS', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(7, 3, 'Porto Marina - Hotel', 'بورتو مارينا - ', 'PMR-HOTEL', '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(8, 3, 'Porto Marina - Golf', 'بورتو مارينا - ', 'PMR-GOLF', '2026-05-23 00:27:02', '2026-05-23 00:27:02');

-- --------------------------------------------------------

--
-- Table structure for table `zone_adjustments`
--

DROP TABLE IF EXISTS `zone_adjustments`;
CREATE TABLE IF NOT EXISTS `zone_adjustments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `adjustment_definition_id` bigint UNSIGNED NOT NULL,
  `zone_id` bigint UNSIGNED DEFAULT NULL,
  `value` decimal(10,4) NOT NULL,
  `is_percentage` tinyint(1) NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `zone_adjustments_adjustment_definition_id_foreign` (`adjustment_definition_id`),
  KEY `idx_zone_adjustments_zone_id` (`zone_id`)
) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `zone_adjustments`
--

INSERT INTO `zone_adjustments` (`id`, `adjustment_definition_id`, `zone_id`, `value`, `is_percentage`, `is_active`, `created_at`, `updated_at`) VALUES
(51, 1, 1, '14.0000', 1, 1, '2026-06-13 12:58:06', '2026-06-13 12:58:06'),
(52, 2, 1, '5.0000', 0, 1, '2026-06-13 12:58:11', '2026-06-13 12:58:11'),
(53, 3, 1, '14.0000', 1, 1, '2026-06-13 12:58:22', '2026-06-13 12:58:22'),
(4, 4, 2, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(5, 5, 2, '5.0000', 0, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(6, 6, 2, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(7, 7, 3, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(8, 8, 3, '5.0000', 0, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(9, 9, 3, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(10, 10, 4, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(11, 11, 4, '10.0000', 0, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(12, 12, 4, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(13, 13, 5, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(14, 14, 5, '10.0000', 0, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(15, 15, 5, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(16, 16, 6, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(17, 17, 6, '15.0000', 0, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(18, 18, 6, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(19, 19, 7, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(20, 20, 7, '15.0000', 0, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(21, 21, 7, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(22, 22, 8, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(23, 23, 8, '15.0000', 0, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(24, 24, 8, '14.0000', 1, 1, '2026-05-23 00:27:06', '2026-05-23 00:27:06'),
(54, 43, 1, '0.0000', 1, 1, '2026-06-13 13:00:30', '2026-06-13 13:00:30');

-- --------------------------------------------------------

--
-- Table structure for table `zone_business_dates`
--

DROP TABLE IF EXISTS `zone_business_dates`;
CREATE TABLE IF NOT EXISTS `zone_business_dates` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `zone_id` bigint UNSIGNED NOT NULL,
  `business_date` date NOT NULL,
  `last_night_run_at` timestamp NULL DEFAULT NULL,
  `last_night_run_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `zone_business_dates_zone_id_unique` (`zone_id`),
  KEY `zone_business_dates_last_night_run_by_foreign` (`last_night_run_by`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

--
-- Dumping data for table `zone_business_dates`
--

INSERT INTO `zone_business_dates` (`id`, `zone_id`, `business_date`, `last_night_run_at`, `last_night_run_by`, `created_at`, `updated_at`) VALUES
(1, 1, '2026-05-31', '2026-06-18 14:04:07', 2, '2026-05-23 00:27:02', '2026-06-18 14:04:07'),
(2, 2, '2026-05-23', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(3, 3, '2026-05-23', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(4, 4, '2026-05-23', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(5, 5, '2026-05-23', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(6, 6, '2026-05-23', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(7, 7, '2026-05-23', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02'),
(8, 8, '2026-05-23', NULL, NULL, '2026-05-23 00:27:02', '2026-05-23 00:27:02');

--
-- Constraints for dumped tables
--

--
-- Constraints for table `guest_survey_instances`
--
ALTER TABLE `guest_survey_instances`
  ADD CONSTRAINT `guest_survey_instances_survey_template_id_foreign` FOREIGN KEY (`survey_template_id`) REFERENCES `survey_templates` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `guest_survey_responses`
--
ALTER TABLE `guest_survey_responses`
  ADD CONSTRAINT `guest_survey_responses_guest_survey_instance_id_foreign` FOREIGN KEY (`guest_survey_instance_id`) REFERENCES `guest_survey_instances` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `guest_survey_responses_survey_question_id_foreign` FOREIGN KEY (`survey_question_id`) REFERENCES `survey_questions` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `pms_rate_plans`
--
ALTER TABLE `pms_rate_plans`
  ADD CONSTRAINT `pms_rate_plans_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pms_rate_plans_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pms_rate_plans_zone_id_foreign` FOREIGN KEY (`zone_id`) REFERENCES `zones` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `pms_reservations`
--
ALTER TABLE `pms_reservations`
  ADD CONSTRAINT `pms_reservations_contact_id_foreign` FOREIGN KEY (`contact_id`) REFERENCES `contacts` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pms_reservations_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pms_reservations_rate_plan_id_foreign` FOREIGN KEY (`rate_plan_id`) REFERENCES `pms_rate_plans` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pms_reservations_unit_id_foreign` FOREIGN KEY (`unit_id`) REFERENCES `units` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pms_reservations_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `pms_reservations_zone_id_foreign` FOREIGN KEY (`zone_id`) REFERENCES `zones` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `pms_reservation_action_logs`
--
ALTER TABLE `pms_reservation_action_logs`
  ADD CONSTRAINT `pms_reservation_action_logs_reservation_id_foreign` FOREIGN KEY (`reservation_id`) REFERENCES `pms_reservations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pms_reservation_action_logs_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `survey_template_question`
--
ALTER TABLE `survey_template_question`
  ADD CONSTRAINT `survey_template_question_survey_question_id_foreign` FOREIGN KEY (`survey_question_id`) REFERENCES `survey_questions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `survey_template_question_survey_template_id_foreign` FOREIGN KEY (`survey_template_id`) REFERENCES `survey_templates` (`id`) ON DELETE CASCADE;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
