-- phpMyAdmin SQL Dump -- version 5.2.0 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1:3306 -- Generation Time: Aug 16, 2026 at 03:04 PM -- Server version: 8.0.31 -- PHP Version: 8.0.26 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: `airline_agency` -- -- -------------------------------------------------------- -- -- Table structure for table `airlines` -- DROP TABLE IF EXISTS `airlines`; CREATE TABLE IF NOT EXISTS `airlines` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(256) COLLATE utf32_persian_ci NOT NULL, `code` varchar(20) COLLATE utf32_persian_ci NOT NULL, `file_id` bigint UNSIGNED NOT NULL, `status` tinyint NOT NULL COMMENT '0: disable |1: enable', `created_at` timestamp NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `airports` -- DROP TABLE IF EXISTS `airports`; CREATE TABLE IF NOT EXISTS `airports` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(200) COLLATE utf32_persian_ci NOT NULL, `city` varchar(255) COLLATE utf32_persian_ci NOT NULL, `country` varchar(255) COLLATE utf32_persian_ci NOT NULL, `code` varchar(10) COLLATE utf32_persian_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `bookings` -- DROP TABLE IF EXISTS `bookings`; CREATE TABLE IF NOT EXISTS `bookings` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `user_id` bigint UNSIGNED NOT NULL, `flight_id` bigint UNSIGNED NOT NULL, `toure_date_id` bigint UNSIGNED NOT NULL, `adult_count` int UNSIGNED NOT NULL, `child_count` int UNSIGNED NOT NULL, `total_price` int UNSIGNED NOT NULL, `tracking_code` varchar(50) COLLATE utf32_persian_ci NOT NULL, `status` tinyint NOT NULL COMMENT '1: pending | 2: confirmed | 3: cancelled', `created_ar` timestamp NOT NULL, `updated_at` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `bookings_fk1` (`flight_id`), KEY `bookings_fk2` (`toure_date_id`), KEY `bookings_fk3` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `booking_passengers` -- DROP TABLE IF EXISTS `booking_passengers`; CREATE TABLE IF NOT EXISTS `booking_passengers` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `booking_id` bigint UNSIGNED NOT NULL, `first_name` varchar(150) COLLATE utf32_persian_ci NOT NULL, `last_name` varchar(150) COLLATE utf32_persian_ci NOT NULL, `national_code` varchar(20) COLLATE utf32_persian_ci NOT NULL, `birth_date` date NOT NULL, `passenger_type` tinyint UNSIGNED NOT NULL COMMENT '0: adult | 1: child ', `created_ar` timestamp NOT NULL, `updated_at` timestamp NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `cities` -- DROP TABLE IF EXISTS `cities`; CREATE TABLE IF NOT EXISTS `cities` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `province_id` bigint UNSIGNED NOT NULL, `name` varchar(255) COLLATE utf32_persian_ci NOT NULL, PRIMARY KEY (`id`), KEY `cities_fk1` (`province_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `comments` -- DROP TABLE IF EXISTS `comments`; CREATE TABLE IF NOT EXISTS `comments` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `user_id` bigint UNSIGNED NOT NULL, `comment` text COLLATE utf32_persian_ci NOT NULL, `status` tinyint UNSIGNED NOT NULL COMMENT '0: pending | 1: approved | 2: rejected', `created_at` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `comments_fk1` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `files` -- DROP TABLE IF EXISTS `files`; CREATE TABLE IF NOT EXISTS `files` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(200) COLLATE utf32_persian_ci NOT NULL, `extension` varchar(10) COLLATE utf32_persian_ci NOT NULL, `size` bigint UNSIGNED NOT NULL, `original_name` varchar(500) COLLATE utf32_persian_ci NOT NULL, `path` varchar(300) COLLATE utf32_persian_ci NOT NULL, `created_at` timestamp NOT NULL, `updated_at` timestamp NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `flights` -- DROP TABLE IF EXISTS `flights`; CREATE TABLE IF NOT EXISTS `flights` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `title` varchar(256) CHARACTER SET utf32 COLLATE utf32_persian_ci NOT NULL, `file_id` bigint UNSIGNED DEFAULT NULL, `airline_id` bigint UNSIGNED NOT NULL, `flight_type` tinyint UNSIGNED NOT NULL COMMENT '0: departure | 1: return | 2: roundtrip', `departure_time` timestamp NOT NULL, `departure_airport_id` bigint UNSIGNED NOT NULL, `arrival_airport_id` bigint UNSIGNED NOT NULL, `price` decimal(10,0) NOT NULL, `summary` varchar(512) CHARACTER SET utf32 COLLATE utf32_persian_ci NOT NULL, `capacity` int NOT NULL, `description` varchar(512) CHARACTER SET utf32 COLLATE utf32_persian_ci NOT NULL, `status` tinyint NOT NULL COMMENT '0: disable | 1: enable', `created_at` timestamp NOT NULL, `updated_at` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `flights_fk1` (`airline_id`), KEY `flights_fk2` (`file_id`), KEY `flights_fk3` (`arrival_airport_id`), KEY `flights_fk4` (`departure_airport_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `provinces` -- DROP TABLE IF EXISTS `provinces`; CREATE TABLE IF NOT EXISTS `provinces` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `name` varchar(200) COLLATE utf32_persian_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `tours` -- DROP TABLE IF EXISTS `tours`; CREATE TABLE IF NOT EXISTS `tours` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `title` varchar(256) COLLATE utf32_persian_ci NOT NULL, `summary` text COLLATE utf32_persian_ci NOT NULL, `description` text COLLATE utf32_persian_ci NOT NULL, `origin` varchar(200) COLLATE utf32_persian_ci NOT NULL, `destination` varchar(256) COLLATE utf32_persian_ci NOT NULL, `file_id` bigint UNSIGNED DEFAULT NULL, `duration` int UNSIGNED NOT NULL, `status` tinyint NOT NULL COMMENT '0: disable | 1: enable', `created_ar` timestamp NOT NULL, `updated_at` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `tours_fk1` (`file_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `tour_dates` -- DROP TABLE IF EXISTS `tour_dates`; CREATE TABLE IF NOT EXISTS `tour_dates` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `tour_id` bigint UNSIGNED NOT NULL, `departure_date` date NOT NULL, `return_date` date NOT NULL, `price` int UNSIGNED NOT NULL, `capacity` int UNSIGNED NOT NULL, `status` tinyint NOT NULL COMMENT '1: disable | 2:enable', `created_at` timestamp NOT NULL, `updated_at` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `tours_dates_fk1` (`tour_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -------------------------------------------------------- -- -- Table structure for table `users` -- DROP TABLE IF EXISTS `users`; CREATE TABLE IF NOT EXISTS `users` ( `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, `first_name` varchar(256) COLLATE utf32_persian_ci NOT NULL, `last_name` varchar(256) COLLATE utf32_persian_ci NOT NULL, `national_code` varchar(10) COLLATE utf32_persian_ci NOT NULL, `gender` tinyint UNSIGNED NOT NULL COMMENT '0:male | 1:female | 2:unknown', `marital_status` tinyint UNSIGNED NOT NULL COMMENT '0:single | 1:married | 2:separated', `spouse_name` varchar(256) COLLATE utf32_persian_ci DEFAULT NULL, `mobile` varchar(11) COLLATE utf32_persian_ci NOT NULL, `email` varchar(150) COLLATE utf32_persian_ci NOT NULL, `file_id` bigint UNSIGNED DEFAULT NULL, `username` varchar(200) COLLATE utf32_persian_ci NOT NULL, `password` varchar(250) COLLATE utf32_persian_ci NOT NULL, `provience_id` bigint UNSIGNED NOT NULL, `city_id` bigint UNSIGNED NOT NULL, `status` tinyint UNSIGNED NOT NULL COMMENT '0:disable | 1:pending | 2:enable', `created_at` timestamp NOT NULL, `updated_at` timestamp NOT NULL, `deleted` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `user_image_fk1` (`file_id`), KEY `users_fk2` (`provience_id`), KEY `users_fk3` (`city_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_persian_ci; -- -- Constraints for dumped tables -- -- -- Constraints for table `bookings` -- ALTER TABLE `bookings` ADD CONSTRAINT `bookings_fk1` FOREIGN KEY (`flight_id`) REFERENCES `flights` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, ADD CONSTRAINT `bookings_fk2` FOREIGN KEY (`toure_date_id`) REFERENCES `tour_dates` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, ADD CONSTRAINT `bookings_fk3` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; -- -- Constraints for table `cities` -- ALTER TABLE `cities` ADD CONSTRAINT `cities_fk1` FOREIGN KEY (`province_id`) REFERENCES `provinces` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; -- -- Constraints for table `comments` -- ALTER TABLE `comments` ADD CONSTRAINT `comments_fk1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; -- -- Constraints for table `flights` -- ALTER TABLE `flights` ADD CONSTRAINT `flights_fk1` FOREIGN KEY (`airline_id`) REFERENCES `airlines` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, ADD CONSTRAINT `flights_fk2` FOREIGN KEY (`file_id`) REFERENCES `files` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, ADD CONSTRAINT `flights_fk3` FOREIGN KEY (`arrival_airport_id`) REFERENCES `airports` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, ADD CONSTRAINT `flights_fk4` FOREIGN KEY (`departure_airport_id`) REFERENCES `airports` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; -- -- Constraints for table `tours` -- ALTER TABLE `tours` ADD CONSTRAINT `tours_fk1` FOREIGN KEY (`file_id`) REFERENCES `files` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; -- -- Constraints for table `tour_dates` -- ALTER TABLE `tour_dates` ADD CONSTRAINT `tours_dates_fk1` FOREIGN KEY (`tour_id`) REFERENCES `tours` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; -- -- Constraints for table `users` -- ALTER TABLE `users` ADD CONSTRAINT `user_image_fk1` FOREIGN KEY (`file_id`) REFERENCES `files` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, ADD CONSTRAINT `users_fk2` FOREIGN KEY (`provience_id`) REFERENCES `provinces` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT, ADD CONSTRAINT `users_fk3` FOREIGN KEY (`city_id`) REFERENCES `cities` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; 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 */;