-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Waktu pembuatan: 06 Bulan Mei 2026 pada 04.34
-- Versi server: 9.1.0
-- Versi PHP: 8.3.14

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: `hotel`
--

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

--
-- Struktur dari tabel `activity_logs`
--

DROP TABLE IF EXISTS `activity_logs`;
CREATE TABLE IF NOT EXISTS `activity_logs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `action` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `model_id` bigint UNSIGNED DEFAULT NULL,
  `old_values` json DEFAULT NULL,
  `new_values` json DEFAULT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `activity_logs_user_id_foreign` (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `activity_logs`
--

INSERT INTO `activity_logs` (`id`, `user_id`, `action`, `model_type`, `model_id`, `old_values`, `new_values`, `ip_address`, `description`, `created_at`, `updated_at`) VALUES
(1, 2, 'login', NULL, NULL, NULL, NULL, '127.0.0.1', 'User logged in', '2026-04-26 16:27:23', '2026-04-26 16:27:23'),
(2, 2, 'login', NULL, NULL, NULL, NULL, '127.0.0.1', 'User logged in', '2026-04-30 08:59:51', '2026-04-30 08:59:51'),
(3, 2, 'login', NULL, NULL, NULL, NULL, '127.0.0.1', 'User logged in', '2026-05-06 01:22:49', '2026-05-06 01:22:49'),
(4, 2, 'login', NULL, NULL, NULL, NULL, '127.0.0.1', 'User logged in', '2026-05-06 04:25:25', '2026-05-06 04:25:25');

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

--
-- Struktur dari tabel `amenities`
--

DROP TABLE IF EXISTS `amenities`;
CREATE TABLE IF NOT EXISTS `amenities` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `icon` text COLLATE utf8mb4_unicode_ci,
  `description` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `photo` varchar(191) 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`),
  KEY `amenities_is_active_index` (`is_active`),
  KEY `amenities_sort_order_index` (`sort_order`)
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `amenities`
--

INSERT INTO `amenities` (`id`, `name`, `icon`, `description`, `photo`, `sort_order`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'Kolam Renang', 'M8.111 16.404a5.5 5.5 0 017.778 0M12 20h.01m-7.08-7.071c3.904-3.905 10.236-3.905 14.141 0M1.394 9.393c5.857-5.857 15.355-5.857 21.213 0', 'Infinity pool dengan pemandangan kota', 'https://images.unsplash.com/photo-1572331165267-854da2b10ccc?auto=format&fit=crop&w=1200&q=80', 1, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(2, 'Pusat Kebugaran', 'M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4', 'Akses 24/7 dengan peralatan modern', 'https://images.unsplash.com/photo-1517838277536-f5f99be501cd?auto=format&fit=crop&w=1200&q=80', 2, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(3, 'Spa & Wellness', 'M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z', 'Layanan spa dan relaksasi', 'https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=1200&q=80', 3, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(4, 'Restoran', 'M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z', 'Fine dining dengan masakan internasional', 'https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1200&q=80', 4, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(5, 'WiFi Gratis', 'M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z', 'Internet kecepatan tinggi', 'https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=1200&q=80', 5, 1, '2026-04-26 16:27:00', '2026-04-26 16:59:09'),
(6, 'Parkir', 'M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-1 0h-2m-2 0h-2m-2 0H9m-2 0H7m-2 0H5m-2 0H3m0 0V5a2 2 0 012-2h2a2 2 0 012 2v16a2 2 0 01-2 2H5a2 2 0 01-2-2z', 'Parkir gratis untuk tamu hotel', 'https://images.unsplash.com/photo-1506521781263-d8422e82f27a?auto=format&fit=crop&w=1200&q=80', 6, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(7, 'Layanan 24/7', 'M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z', 'Room service 24 jam', 'https://images.unsplash.com/photo-1504384308090-c894fdcc538d?auto=format&fit=crop&w=1200&q=80', 7, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(8, 'Keamanan', 'M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z', 'Sistem keamanan 24/7', 'https://images.unsplash.com/photo-1558002038-1055907df827?auto=format&fit=crop&w=1200&q=80', 8, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00');

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

--
-- Struktur dari tabel `booking_requests`
--

DROP TABLE IF EXISTS `booking_requests`;
CREATE TABLE IF NOT EXISTS `booking_requests` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `booking_code` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `room_type_id` bigint UNSIGNED NOT NULL,
  `guest_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guest_email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guest_phone` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `check_in_date` date NOT NULL,
  `check_out_date` date NOT NULL,
  `number_of_guests` int NOT NULL,
  `special_requests` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` enum('pending','confirmed','cancelled') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending',
  `payment_status` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'unpaid',
  `payment_method` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `duitku_payment_url` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `duitku_reference` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `paid_at` timestamp NULL DEFAULT NULL,
  `estimated_total` decimal(10,2) DEFAULT NULL,
  `notes` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `booking_requests_booking_code_unique` (`booking_code`),
  KEY `booking_requests_room_type_id_foreign` (`room_type_id`),
  KEY `booking_requests_status_check_in_date_index` (`status`,`check_in_date`),
  KEY `booking_requests_guest_email_index` (`guest_email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `cache`
--

DROP TABLE IF EXISTS `cache`;
CREATE TABLE IF NOT EXISTS `cache` (
  `key` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `cache`
--

INSERT INTO `cache` (`key`, `value`, `expiration`) VALUES
('hotel_management_system_cache_website_settings', 'a:9:{s:9:\"site_name\";s:18:\"Grand Luxury Hotel\";s:12:\"site_tagline\";s:38:\"Experience Ultimate Comfort and Luxury\";s:16:\"site_description\";s:80:\"Experience unparalleled luxury and world-class service in the heart of the city.\";s:13:\"contact_phone\";s:16:\"+62 21 1234 5678\";s:13:\"contact_email\";s:20:\"info@grandluxury.com\";s:15:\"contact_address\";s:44:\"Jl. Luxury No. 123, Jakarta, Indonesia 12345\";s:15:\"social_facebook\";s:1:\"#\";s:14:\"social_twitter\";s:1:\"#\";s:16:\"social_instagram\";s:1:\"#\";}', 2092580909),
('hotel_management_system_cache_theme_colors', 'a:11:{s:7:\"primary\";s:7:\"#4f46e5\";s:13:\"primary_light\";s:7:\"#818cf8\";s:12:\"primary_dark\";s:7:\"#3730a3\";s:6:\"accent\";s:7:\"#f59e0b\";s:12:\"accent_light\";s:7:\"#fbbf24\";s:11:\"accent_dark\";s:7:\"#d97706\";s:13:\"sidebar_start\";s:7:\"#1e1b4b\";s:11:\"sidebar_mid\";s:7:\"#312e81\";s:11:\"sidebar_end\";s:7:\"#0f172a\";s:9:\"footer_bg\";s:7:\"#1e1b4b\";s:11:\"footer_text\";s:7:\"#e0e7ff\";}', 2092580909);

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

--
-- Struktur dari tabel `cache_locks`
--

DROP TABLE IF EXISTS `cache_locks`;
CREATE TABLE IF NOT EXISTS `cache_locks` (
  `key` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `owner` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `email_settings`
--

DROP TABLE IF EXISTS `email_settings`;
CREATE TABLE IF NOT EXISTS `email_settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `mail_mailer` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'smtp',
  `mail_host` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_port` int NOT NULL DEFAULT '587',
  `mail_username` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_password` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_encryption` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_from_address` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `mail_from_name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `failed_jobs`
--

DROP TABLE IF EXISTS `failed_jobs`;
CREATE TABLE IF NOT EXISTS `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `uuid` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `guests`
--

DROP TABLE IF EXISTS `guests`;
CREATE TABLE IF NOT EXISTS `guests` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `full_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `identity_type` enum('ktp','passport','sim','other') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'ktp',
  `identity_number` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `address` text COLLATE utf8mb4_unicode_ci,
  `nationality` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Indonesia',
  `photo_id` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `guests`
--

INSERT INTO `guests` (`id`, `full_name`, `email`, `phone`, `identity_type`, `identity_number`, `address`, `nationality`, `photo_id`, `created_at`, `updated_at`) VALUES
(1, 'Budi Santoso', 'budi.santoso@email.com', '+62 812 3456 7890', 'ktp', '3201234567890001', 'Jl. Sudirman No. 123, Jakarta Pusat', 'Indonesia', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(2, 'Siti Rahayu', 'siti.rahayu@gmail.com', '+62 813 9876 5432', 'ktp', '3277012345678901', 'Jl. Gatot Subroto No. 45, Bandung', 'Indonesia', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(3, 'Ahmad Fauzi', 'ahmad.fauzi@yahoo.com', '+62 815 7654 3210', 'ktp', '3510234567890002', 'Jl. Diponegoro No. 67, Surabaya', 'Indonesia', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(4, 'John Smith', 'john.smith@gmail.com', '+1 555 123 4567', 'passport', 'US123456789', '123 Main St, New York, USA', 'United States', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(5, 'Nguyen Van An', 'nguyen.vanan@email.vn', '+84 912 345 678', 'passport', 'VN987654321', '45 Le Loi Street, Ho Chi Minh City, Vietnam', 'Vietnam', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(6, 'Dewi Kusuma', 'dewi.kusuma@email.com', '+62 816 2345 6789', 'ktp', '3471056789012345', 'Jl. Malioboro No. 12, Yogyakarta', 'Indonesia', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00');

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

--
-- Struktur dari tabel `housekeeping_tasks`
--

DROP TABLE IF EXISTS `housekeeping_tasks`;
CREATE TABLE IF NOT EXISTS `housekeeping_tasks` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `room_id` bigint UNSIGNED NOT NULL,
  `assigned_to` bigint UNSIGNED DEFAULT NULL,
  `task_type` enum('cleaning','maintenance','inspection') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'cleaning',
  `status` enum('pending','in_progress','completed','cancelled') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending',
  `priority` enum('low','normal','high','urgent') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'normal',
  `notes` text COLLATE utf8mb4_unicode_ci,
  `checklist` json DEFAULT NULL,
  `scheduled_at` timestamp NULL DEFAULT NULL,
  `completed_at` timestamp NULL DEFAULT NULL,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `housekeeping_tasks_room_id_foreign` (`room_id`),
  KEY `housekeeping_tasks_assigned_to_foreign` (`assigned_to`),
  KEY `housekeeping_tasks_created_by_foreign` (`created_by`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `invoices`
--

DROP TABLE IF EXISTS `invoices`;
CREATE TABLE IF NOT EXISTS `invoices` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `invoice_number` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `reservation_id` bigint UNSIGNED NOT NULL,
  `subtotal` decimal(12,2) NOT NULL DEFAULT '0.00',
  `tax` decimal(10,2) NOT NULL DEFAULT '0.00',
  `service_charge` decimal(10,2) NOT NULL DEFAULT '0.00',
  `discount` decimal(10,2) NOT NULL DEFAULT '0.00',
  `grand_total` decimal(12,2) NOT NULL DEFAULT '0.00',
  `payment_method` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `payment_status` enum('unpaid','partial','paid','refunded') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'unpaid',
  `notes` text COLLATE utf8mb4_unicode_ci,
  `issued_at` timestamp NULL DEFAULT NULL,
  `paid_at` timestamp NULL 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 `invoices_reservation_id_foreign` (`reservation_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `jobs`
--

DROP TABLE IF EXISTS `jobs`;
CREATE TABLE IF NOT EXISTS `jobs` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `queue` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `attempts` tinyint UNSIGNED NOT NULL,
  `reserved_at` int UNSIGNED DEFAULT NULL,
  `available_at` int UNSIGNED NOT NULL,
  `created_at` int UNSIGNED NOT NULL,
  PRIMARY KEY (`id`),
  KEY `jobs_queue_index` (`queue`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `job_batches`
--

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

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

--
-- Struktur dari tabel `landing_settings`
--

DROP TABLE IF EXISTS `landing_settings`;
CREATE TABLE IF NOT EXISTS `landing_settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `setting_key` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `setting_value` text COLLATE utf8mb4_unicode_ci,
  `type` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'text',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `landing_settings_setting_key_unique` (`setting_key`),
  KEY `landing_settings_setting_key_index` (`setting_key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `migrations`
--

DROP TABLE IF EXISTS `migrations`;
CREATE TABLE IF NOT EXISTS `migrations` (
  `id` int UNSIGNED NOT NULL AUTO_INCREMENT,
  `migration` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '2024_01_01_000000_create_users_table', 1),
(2, '2024_01_01_000001_create_room_types_table', 1),
(3, '2024_01_01_000002_create_rooms_table', 1),
(4, '2024_01_01_000003_create_guests_table', 1),
(5, '2024_01_01_000004_create_reservations_table', 1),
(6, '2024_01_01_000005_create_payments_table', 1),
(7, '2024_01_01_000006_create_invoices_table', 1),
(8, '2024_01_01_000007_create_housekeeping_tasks_table', 1),
(9, '2024_01_01_000008_create_staff_table', 1),
(10, '2024_01_01_000009_create_activity_logs_table', 1),
(11, '2024_01_01_000010_create_sessions_table', 1),
(12, '2024_01_01_000011_create_cache_table', 1),
(13, '2024_01_01_000012_create_jobs_table', 1),
(14, '2024_01_01_000013_create_permission_tables', 1),
(15, '2026_03_05_074435_create_booking_requests_table', 1),
(16, '2026_03_05_075500_create_landing_settings_table', 1),
(17, '2026_03_05_095031_create_amenities_table', 1),
(18, '2026_04_01_085932_create_website_settings_table', 1),
(19, '2026_04_01_090056_create_theme_colors_table', 1),
(20, '2026_04_01_091422_add_more_theme_colors', 1),
(21, '2026_04_01_100000_create_payment_settings_table', 1),
(22, '2026_04_01_100001_create_email_settings_table', 1),
(23, '2026_04_01_100002_add_payment_columns_to_booking_requests_table', 1),
(24, '2026_04_01_200000_add_slug_to_room_types_table', 1),
(25, '2026_04_06_000001_create_whatsapp_settings_table', 1),
(26, '2026_04_26_000001_add_photo_to_amenities_table', 1),
(27, '2026_05_06_000001_add_price_per_month_to_room_types_table', 2);

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

--
-- Struktur dari tabel `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(100) COLLATE utf8mb4_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=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `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(100) COLLATE utf8mb4_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=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `model_has_roles`
--

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

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

--
-- Struktur dari tabel `password_reset_tokens`
--

DROP TABLE IF EXISTS `password_reset_tokens`;
CREATE TABLE IF NOT EXISTS `password_reset_tokens` (
  `email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `payments`
--

DROP TABLE IF EXISTS `payments`;
CREATE TABLE IF NOT EXISTS `payments` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `reservation_id` bigint UNSIGNED NOT NULL,
  `invoice_id` bigint UNSIGNED DEFAULT NULL,
  `amount` decimal(12,2) NOT NULL,
  `payment_method` enum('cash','transfer','qris','credit_card') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'cash',
  `payment_date` date NOT NULL,
  `reference_number` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `notes` text COLLATE utf8mb4_unicode_ci,
  `status` enum('pending','completed','failed','refunded') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending',
  `processed_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `payments_reservation_id_foreign` (`reservation_id`),
  KEY `payments_processed_by_foreign` (`processed_by`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `payment_settings`
--

DROP TABLE IF EXISTS `payment_settings`;
CREATE TABLE IF NOT EXISTS `payment_settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `gateway_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'duitku',
  `api_key` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `merchant_code` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `environment` enum('sandbox','production') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'sandbox',
  `is_active` tinyint(1) NOT NULL DEFAULT '0',
  `additional_config` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `permissions`
--

DROP TABLE IF EXISTS `permissions`;
CREATE TABLE IF NOT EXISTS `permissions` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`)
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `permissions`
--

INSERT INTO `permissions` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'view rooms', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(2, 'create rooms', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(3, 'edit rooms', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(4, 'delete rooms', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(5, 'view room-types', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(6, 'create room-types', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(7, 'edit room-types', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(8, 'delete room-types', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(9, 'view guests', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(10, 'create guests', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(11, 'edit guests', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(12, 'delete guests', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(13, 'view reservations', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(14, 'create reservations', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(15, 'edit reservations', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(16, 'delete reservations', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(17, 'confirm reservations', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(18, 'cancel reservations', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(19, 'perform check-in', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(20, 'perform check-out', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(21, 'view payments', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(22, 'create payments', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(23, 'view invoices', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(24, 'generate invoices', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(25, 'view housekeeping', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(26, 'create housekeeping', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(27, 'edit housekeeping', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(28, 'delete housekeeping', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(29, 'view staff', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(30, 'create staff', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(31, 'edit staff', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(32, 'delete staff', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(33, 'view reports', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(34, 'manage settings', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(35, 'manage users', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58');

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

--
-- Struktur dari tabel `reservations`
--

DROP TABLE IF EXISTS `reservations`;
CREATE TABLE IF NOT EXISTS `reservations` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `reservation_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guest_id` bigint UNSIGNED NOT NULL,
  `room_id` bigint UNSIGNED NOT NULL,
  `check_in_date` date NOT NULL,
  `check_out_date` date NOT NULL,
  `number_of_guests` int UNSIGNED NOT NULL DEFAULT '1',
  `total_price` decimal(12,2) NOT NULL DEFAULT '0.00',
  `status` enum('pending','confirmed','checked_in','checked_out','cancelled','no_show') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pending',
  `payment_status` enum('unpaid','partial','paid','refunded') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'unpaid',
  `source` enum('walk_in','website','ota') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'walk_in',
  `early_checkin_fee` decimal(10,2) NOT NULL DEFAULT '0.00',
  `late_checkout_fee` decimal(10,2) NOT NULL DEFAULT '0.00',
  `notes` text COLLATE utf8mb4_unicode_ci,
  `checked_in_at` timestamp NULL DEFAULT NULL,
  `checked_out_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `reservations_reservation_code_unique` (`reservation_code`),
  KEY `reservations_guest_id_foreign` (`guest_id`),
  KEY `reservations_room_id_foreign` (`room_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `roles`
--

DROP TABLE IF EXISTS `roles`;
CREATE TABLE IF NOT EXISTS `roles` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(80) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `roles`
--

INSERT INTO `roles` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'super_admin', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(2, 'admin', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(3, 'receptionist', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(4, 'housekeeping', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(5, 'finance', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58'),
(6, 'guest', 'web', '2026-04-26 16:26:58', '2026-04-26 16:26:58');

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

--
-- Struktur dari tabel `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=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `role_has_permissions`
--

INSERT INTO `role_has_permissions` (`permission_id`, `role_id`) VALUES
(1, 1),
(1, 2),
(1, 3),
(1, 4),
(2, 1),
(2, 2),
(3, 1),
(3, 2),
(4, 1),
(4, 2),
(5, 1),
(5, 2),
(5, 3),
(6, 1),
(6, 2),
(7, 1),
(7, 2),
(8, 1),
(8, 2),
(9, 1),
(9, 2),
(9, 3),
(10, 1),
(10, 2),
(10, 3),
(11, 1),
(11, 2),
(11, 3),
(12, 1),
(12, 2),
(13, 1),
(13, 2),
(13, 3),
(13, 5),
(13, 6),
(14, 1),
(14, 2),
(14, 3),
(15, 1),
(15, 2),
(15, 3),
(16, 1),
(16, 2),
(17, 1),
(17, 2),
(17, 3),
(18, 1),
(18, 2),
(18, 3),
(19, 1),
(19, 2),
(19, 3),
(20, 1),
(20, 2),
(20, 3),
(21, 1),
(21, 2),
(21, 3),
(21, 5),
(22, 1),
(22, 2),
(22, 3),
(22, 5),
(23, 1),
(23, 2),
(23, 3),
(23, 5),
(24, 1),
(24, 2),
(24, 3),
(24, 5),
(25, 1),
(25, 2),
(25, 3),
(25, 4),
(26, 1),
(26, 2),
(27, 1),
(27, 2),
(27, 4),
(28, 1),
(28, 2),
(29, 1),
(29, 2),
(30, 1),
(30, 2),
(31, 1),
(31, 2),
(32, 1),
(32, 2),
(33, 1),
(33, 2),
(33, 5),
(34, 1),
(34, 2),
(35, 1);

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

--
-- Struktur dari tabel `rooms`
--

DROP TABLE IF EXISTS `rooms`;
CREATE TABLE IF NOT EXISTS `rooms` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `room_number` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
  `room_type_id` bigint UNSIGNED NOT NULL,
  `floor` int UNSIGNED NOT NULL DEFAULT '1',
  `status` enum('available','occupied','reserved','cleaning','maintenance') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'available',
  `notes` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `rooms_room_number_unique` (`room_number`),
  KEY `rooms_room_type_id_foreign` (`room_type_id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `rooms`
--

INSERT INTO `rooms` (`id`, `room_number`, `room_type_id`, `floor`, `status`, `notes`, `created_at`, `updated_at`) VALUES
(1, '101', 1, 1, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(2, '102', 1, 1, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(3, '103', 1, 1, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(4, '104', 3, 1, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(5, '105', 3, 1, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(6, '201', 2, 2, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(7, '202', 2, 2, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(8, '203', 2, 2, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(9, '204', 1, 2, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(10, '205', 1, 2, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(11, '301', 2, 3, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(12, '302', 2, 3, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(13, '303', 3, 3, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(14, '304', 4, 3, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(15, '305', 4, 3, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(16, '401', 4, 4, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(17, '402', 4, 4, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(18, '403', 5, 4, 'available', NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00');

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

--
-- Struktur dari tabel `room_types`
--

DROP TABLE IF EXISTS `room_types`;
CREATE TABLE IF NOT EXISTS `room_types` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `slug` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `price_per_month` decimal(12,2) DEFAULT NULL,
  `price_per_night` decimal(12,2) NOT NULL,
  `capacity` int UNSIGNED NOT NULL DEFAULT '2',
  `bed_type` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Double',
  `size` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `facilities` json DEFAULT NULL,
  `photo` varchar(191) COLLATE utf8mb4_unicode_ci 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`),
  UNIQUE KEY `room_types_slug_unique` (`slug`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `room_types`
--

INSERT INTO `room_types` (`id`, `name`, `slug`, `description`, `price_per_month`, `price_per_night`, `capacity`, `bed_type`, `size`, `facilities`, `photo`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'Kamar Standard', 'kamar-standard', 'Kamar standard yang nyaman dengan semua fasilitas penting. Sempurna untuk pelancong tunggal atau pasangan.', 350000.00, 350000.00, 2, 'Double', '24 m²', '[\"WiFi\", \"AC\", \"TV\", \"Air Panas\", \"Lemari\"]', NULL, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(2, 'Kamar Deluxe', 'kamar-deluxe', 'Kamar deluxe yang luas dengan perabotan superior dan pemandangan kota yang indah.', 550000.00, 550000.00, 2, 'Queen', '32 m²', '[\"WiFi\", \"AC\", \"Smart TV\", \"Air Panas\", \"Minibar\", \"Brankas\", \"Lemari\", \"Meja Kerja\"]', NULL, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(3, 'Kamar Superior Twin', 'kamar-superior-twin', 'Ideal untuk teman atau rekan yang bepergian bersama dengan dua tempat tidur single.', 500000.00, 500000.00, 2, 'Twin', '30 m²', '[\"WiFi\", \"AC\", \"TV\", \"Air Panas\", \"Minibar\", \"Lemari\"]', NULL, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(4, 'Junior Suite', 'junior-suite', 'Suite junior yang mewah dengan area ruang tamu terpisah dan fasilitas premium.', 850000.00, 850000.00, 3, 'King', '48 m²', '[\"WiFi\", \"AC\", \"Smart TV\", \"Air Panas\", \"Minibar\", \"Brankas\", \"Bathtub\", \"Ruang Tamu\", \"Meja Kerja\", \"Lemari\"]', NULL, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(5, 'Presidential Suite', 'presidential-suite', 'Pengalaman kemewahan tertinggi dengan pemandangan panorama dan layanan butler penuh.', 2500000.00, 2500000.00, 4, 'King', '120 m²', '[\"WiFi\", \"AC\", \"Smart TV\", \"Air Panas\", \"Full Bar\", \"Brankas\", \"Jacuzzi\", \"Ruang Tamu\", \"Ruang Makan\", \"Layanan Butler\", \"Teras Pribadi\"]', NULL, 1, '2026-04-26 16:27:00', '2026-04-26 16:27:00');

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

--
-- Struktur dari tabel `sessions`
--

DROP TABLE IF EXISTS `sessions`;
CREATE TABLE IF NOT EXISTS `sessions` (
  `id` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` text COLLATE utf8mb4_unicode_ci,
  `payload` longtext COLLATE utf8mb4_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=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `sessions`
--

INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES
('V1wW4KZ7qygSBYzmgOMMRF1YkkxcQFypLgqPPITV', 2, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'YTo1OntzOjY6Il90b2tlbiI7czo0MDoibElGWXM4bG1obTZhU1IxZnR5QjVyOFhlMEYxZlpnT0NzcHBTdExHUiI7czozOiJ1cmwiO2E6MDp7fXM6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjIxOiJodHRwOi8vbG9jYWxob3N0OjgwMDAiO3M6NToicm91dGUiO3M6MTM6ImxhbmRpbmcuaW5kZXgiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjUwOiJsb2dpbl93ZWJfNTliYTM2YWRkYzJiMmY5NDAxNTgwZjAxNGM3ZjU4ZWE0ZTMwOTg5ZCI7aToyO30=', 1777222754),
('cvdu40RxJtdGN7CHjeZtx3akn92PTHY0Y7FpXb8H', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoicHlaWm0zZ3hJZFo1Mmkza1BoaVBIeXU1a3NkREF0d29ubE1IcVVMSCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjE6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7czo1OiJyb3V0ZSI7czoxMzoibGFuZGluZy5pbmRleCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', 1777513709),
('xRIdT3TV4SWvcjmPMTxJbKOekJoqShELAGdHMaqq', NULL, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoic1FHV0ZoTnF5WXVwYlZxQ08zb1JyYWdyREJoS3Z1OHFPOHpmdUtRciI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjE6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7czo1OiJyb3V0ZSI7czoxMzoibGFuZGluZy5pbmRleCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', 1777524613),
('5i00hgmBBbujbrbvdDINzxfz4oninv4pphPQZcwl', 2, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiQVJpSDBzdnA2SElwQzA0bW5YdEFOQkszbVBEVGYzWlJIQVA1a1dyTyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjE6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7czo1OiJyb3V0ZSI7czoxMzoibGFuZGluZy5pbmRleCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fXM6NTA6ImxvZ2luX3dlYl81OWJhMzZhZGRjMmIyZjk0MDE1ODBmMDE0YzdmNThlYTRlMzA5ODlkIjtpOjI7fQ==', 1777547050),
('wgjoCzhyRjfniFh0sk5ysVbgrF4WQ4RWqXzzUxpp', 2, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'YTo1OntzOjY6Il90b2tlbiI7czo0MDoiNmRocjgxMUVMckk3dGIzVFpWUlUzdlpYaG82T3N4MndzQVc0S3lPciI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzE6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9kYXNoYm9hcmQiO3M6NToicm91dGUiO3M6OToiZGFzaGJvYXJkIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czozOiJ1cmwiO2E6MDp7fXM6NTA6ImxvZ2luX3dlYl81OWJhMzZhZGRjMmIyZjk0MDE1ODBmMDE0YzdmNThlYTRlMzA5ODlkIjtpOjI7fQ==', 1778030570),
('QtP4JblqfmgxMFupCTyzYMTa4aQfvUVBMgmlo9tX', 2, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoidE13SDZXZVN1M1M4UEpwU0Zyb1lpTXNRYmpMN0NER3h5N1FHT0oyaSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mzg6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZXR0aW5ncy9sYW5kaW5nIjtzOjU6InJvdXRlIjtzOjIxOiJzZXR0aW5ncy5sYW5kaW5nLmVkaXQiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjUwOiJsb2dpbl93ZWJfNTliYTM2YWRkYzJiMmY5NDAxNTgwZjAxNGM3ZjU4ZWE0ZTMwOTg5ZCI7aToyO30=', 1778041951);

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

--
-- Struktur dari tabel `staff`
--

DROP TABLE IF EXISTS `staff`;
CREATE TABLE IF NOT EXISTS `staff` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `role` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `salary` decimal(12,2) NOT NULL DEFAULT '0.00',
  `join_date` date DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `performance_notes` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `staff_user_id_foreign` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `theme_colors`
--

DROP TABLE IF EXISTS `theme_colors`;
CREATE TABLE IF NOT EXISTS `theme_colors` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `key` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `theme_colors_key_unique` (`key`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `theme_colors`
--

INSERT INTO `theme_colors` (`id`, `key`, `value`, `created_at`, `updated_at`) VALUES
(1, 'primary', '#4f46e5', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(2, 'primary_light', '#818cf8', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(3, 'primary_dark', '#3730a3', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(4, 'accent', '#f59e0b', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(5, 'accent_light', '#fbbf24', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(6, 'accent_dark', '#d97706', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(7, 'sidebar_start', '#1e1b4b', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(8, 'sidebar_mid', '#312e81', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(9, 'sidebar_end', '#0f172a', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(10, 'footer_bg', '#1e1b4b', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(11, 'footer_text', '#e0e7ff', '2026-04-26 16:28:29', '2026-04-26 16:28:29');

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

--
-- Struktur dari tabel `users`
--

DROP TABLE IF EXISTS `users`;
CREATE TABLE IF NOT EXISTS `users` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `role` enum('super_admin','admin','receptionist','housekeeping','finance','guest') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'guest',
  `phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `remember_token` varchar(100) COLLATE utf8mb4_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`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `role`, `phone`, `is_active`, `remember_token`, `created_at`, `updated_at`) VALUES
(1, 'Super Admin', 'superadmin@hotel.com', NULL, '$2y$12$SXLhhT5SGfl/8AGPPJvkaOPh4mOKz9CV6g9mQ9A9zqJPDAi4Zlqum', 'guest', '+62 811 1111 1111', 1, NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(2, 'Admin Hotel', 'admin@hotel.com', NULL, '$2y$12$3PbMmWVIJ4m3wMjGY/7mNuHVCwTqtnAOG034pbCyH8Y76Jf6J.cVu', 'guest', '+62 812 2222 2222', 1, NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(3, 'Receptionist', 'receptionist@hotel.com', NULL, '$2y$12$4exWkiD8wZ2FhEy75Rmgv.0X8wbE0OOq3iVvhraxdliE.XIE5B4Di', 'guest', '+62 813 3333 3333', 1, NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(4, 'Finance Staff', 'finance@hotel.com', NULL, '$2y$12$rCUsH7ZJ7gvnKYt1CCo68u0vHJo7F8/8ApBawlHsTXKLtEExQhXsK', 'guest', '+62 814 4444 4444', 1, NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00'),
(5, 'Housekeeping Staff', 'housekeeping@hotel.com', NULL, '$2y$12$imjxThnKc8BGx3t4YJ4sd.Szvdt1QZZx86idD7YFUHaaYq0CTIHIm', 'guest', '+62 815 5555 5555', 1, NULL, '2026-04-26 16:27:00', '2026-04-26 16:27:00');

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

--
-- Struktur dari tabel `website_settings`
--

DROP TABLE IF EXISTS `website_settings`;
CREATE TABLE IF NOT EXISTS `website_settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `key` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` text COLLATE utf8mb4_unicode_ci,
  `type` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'string',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `website_settings_key_unique` (`key`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `website_settings`
--

INSERT INTO `website_settings` (`id`, `key`, `value`, `type`, `created_at`, `updated_at`) VALUES
(1, 'site_name', 'Grand Luxury Hotel', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(2, 'site_tagline', 'Experience Ultimate Comfort and Luxury', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(3, 'site_description', 'Experience unparalleled luxury and world-class service in the heart of the city.', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(4, 'contact_phone', '+62 21 1234 5678', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(5, 'contact_email', 'info@grandluxury.com', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(6, 'contact_address', 'Jl. Luxury No. 123, Jakarta, Indonesia 12345', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(7, 'social_facebook', '#', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(8, 'social_twitter', '#', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29'),
(9, 'social_instagram', '#', 'string', '2026-04-26 16:28:29', '2026-04-26 16:28:29');

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

--
-- Struktur dari tabel `whatsapp_settings`
--

DROP TABLE IF EXISTS `whatsapp_settings`;
CREATE TABLE IF NOT EXISTS `whatsapp_settings` (
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `api_key` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `admin_phone` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Nomor WhatsApp admin untuk menerima notifikasi',
  `is_active` tinyint(1) NOT NULL DEFAULT '0',
  `notify_admin_on_booking` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Kirim notifikasi ke admin saat ada booking baru',
  `notify_customer_on_booking` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Kirim notifikasi ke pelanggan saat booking berhasil',
  `admin_message_template` text COLLATE utf8mb4_unicode_ci COMMENT 'Template pesan untuk admin',
  `customer_message_template` text COLLATE utf8mb4_unicode_ci COMMENT 'Template pesan untuk pelanggan',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
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 */;
