-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Generation Time: Jul 04, 2025 at 07:01 AM
-- Server version: 10.11.10-MariaDB
-- PHP Version: 7.2.34

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

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

--
-- Table structure for table `attendance_data`
--

CREATE TABLE `attendance_data` (
  `id` int(11) UNSIGNED NOT NULL,
  `class_id` int(11) NOT NULL,
  `class_section_id` int(11) NOT NULL,
  `student_id` int(11) NOT NULL,
  `school_id` char(36) NOT NULL,
  `date` date NOT NULL,
  `status` enum('present','absent','late') NOT NULL DEFAULT 'present',
  `reason` text DEFAULT NULL,
  `reported` tinyint(4) DEFAULT NULL,
  `semester` varchar(25) NOT NULL,
  `school_year` varchar(9) NOT NULL,
  `modified_by` int(11) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `attendance_record`
--

CREATE TABLE `attendance_record` (
  `id` int(11) UNSIGNED NOT NULL,
  `class_section_id` int(11) NOT NULL,
  `student_id` int(11) NOT NULL,
  `school_id` char(36) NOT NULL,
  `total_absence` int(11) NOT NULL DEFAULT 0,
  `total_late` int(11) NOT NULL DEFAULT 0,
  `total_presence` int(11) NOT NULL DEFAULT 0,
  `total_attendance` int(11) NOT NULL DEFAULT 0,
  `semester` varchar(25) NOT NULL,
  `school_year` varchar(9) NOT NULL,
  `modified_by` int(11) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `authorized_users`
--

CREATE TABLE `authorized_users` (
  `id` int(11) UNSIGNED NOT NULL,
  `user_id` int(11) NOT NULL,
  `authorized_user_id` int(11) DEFAULT NULL,
  `firstname` varchar(255) NOT NULL,
  `lastname` varchar(255) NOT NULL,
  `phone_number` varchar(25) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `email` varchar(255) NOT NULL,
  `relation_to_user` varchar(64) DEFAULT NULL,
  `token` varchar(128) DEFAULT NULL,
  `status` enum('Pending','Active') DEFAULT 'Pending',
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `calendar_events`
--

CREATE TABLE `calendar_events` (
  `id` int(11) UNSIGNED NOT NULL,
  `title` varchar(255) NOT NULL,
  `start` datetime NOT NULL,
  `end` datetime NOT NULL,
  `description` text DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

--
-- Table structure for table `chapters`
--

CREATE TABLE `chapters` (
  `id` int(11) UNSIGNED NOT NULL,
  `chapter_name` varchar(100) NOT NULL,
  `class_section_id` int(11) NOT NULL,
  `school_year` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `classes`
--

CREATE TABLE `classes` (
  `id` int(11) UNSIGNED NOT NULL,
  `class_name` varchar(100) NOT NULL,
  `schedule` varchar(100) NOT NULL,
  `capacity` int(11) NOT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `classes`
--

INSERT INTO `classes` (`id`, `class_name`, `schedule`, `capacity`, `semester`, `school_year`) VALUES
(1, '1', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(2, '2', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(3, '3', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(4, '4', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(5, '5', 'Sunday 10:00 PM - 1:00 PM', 30, '', '-1'),
(6, '6', 'Sunday 10:00 PM - 1:00 PM', 30, '', '-1'),
(7, '7', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(8, '8', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(9, '9', 'Sunday 10:00 PM - 1:00 PM', 30, '', '-1'),
(10, '10', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(11, '11', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1'),
(12, 'youth', 'Sunday 10:00 AM - 1:00 PM', 30, '', '-1');

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

--
-- Table structure for table `class_section`
--

CREATE TABLE `class_section` (
  `id` int(11) UNSIGNED NOT NULL,
  `class_id` int(11) UNSIGNED NOT NULL,
  `section_id` int(11) UNSIGNED NOT NULL,
  `class_section_name` varchar(100) NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `class_section`
--

INSERT INTO `class_section` (`id`, `class_id`, `section_id`, `class_section_name`, `created_at`, `updated_at`, `semester`, `school_year`) VALUES
(1, 1, 10, '1', '2024-08-16 01:06:30', '2024-08-23 16:30:43', '', NULL),
(2, 1, 11, '1-A', '2024-08-16 01:06:30', '2024-08-23 17:15:54', '', NULL),
(3, 1, 12, '1-B', '2024-08-16 01:06:30', '2024-08-23 17:15:54', '', NULL),
(4, 1, 13, '1-C', '2024-08-16 01:06:30', '2024-08-23 17:15:54', '', NULL),
(5, 2, 20, '2', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL),
(6, 2, 21, '2-A', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL),
(7, 2, 22, '2-B', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL),
(8, 2, 23, '2-C', '2024-08-16 01:06:30', '2024-08-23 17:16:30', '', NULL),
(9, 3, 30, '3', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL),
(10, 3, 31, '3-A', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL),
(11, 3, 32, '3-B', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL),
(12, 3, 33, '3-C', '2024-08-16 01:06:30', '2024-08-23 17:18:14', '', NULL),
(13, 4, 40, '4', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(14, 4, 41, '4-A', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(15, 4, 42, '4-B', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(16, 4, 43, '4-C', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(17, 5, 50, '5', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(18, 5, 51, '5-A', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(19, 5, 52, '5-B', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(20, 5, 53, '', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(21, 6, 60, '6', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(22, 6, 61, '6-A', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(23, 6, 62, '6-B', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(24, 6, 63, '6-C', '2024-08-16 01:06:30', '2024-08-23 17:19:31', '', NULL),
(25, 7, 70, '7', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(26, 7, 71, '7-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(27, 7, 72, '7-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(28, 7, 73, '7-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(29, 8, 80, '8', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(30, 8, 81, '8-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(31, 8, 82, '8-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(32, 8, 83, '8-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(33, 9, 90, '9', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(34, 9, 91, '9-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(35, 9, 92, '9-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(36, 9, 93, '9-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(37, 10, 100, '10', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(38, 10, 101, '10-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(39, 10, 102, '10-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(40, 10, 103, '10-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(41, 11, 110, '11', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(42, 11, 111, '11-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(43, 11, 112, '11-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(44, 11, 113, '11-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(45, 12, 120, 'youth', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(46, 12, 121, 'youth-A', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(47, 12, 122, 'youth-B', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL),
(48, 12, 123, 'youth-C', '2024-08-16 01:06:30', '2024-08-23 17:21:41', '', NULL);

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

--
-- Table structure for table `configuration`
--

CREATE TABLE `configuration` (
  `id` int(11) UNSIGNED NOT NULL,
  `config_key` varchar(100) NOT NULL,
  `config_value` varchar(100) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `configuration`
--

INSERT INTO `configuration` (`id`, `config_key`, `config_value`) VALUES
(3, 'cleanup_timeout', '900'),
(13, 'delete_email_notify', 'support@alrahmaisgl.org, melabidi@alrahmaisgl.org'),
(22, 'due_date', '2026-03-01'),
(21, 'end_school_day', '2026-06-01'),
(2, 'enrollment_deadline', '2025-09-30'),
(5, 'first_student_fee', '350'),
(15, 'max_age', '18'),
(1, 'max_kids', '7'),
(16, 'min_age', '5'),
(18, 'pass_score', '60'),
(11, 'refund_deadline', '2025-12-31'),
(14, 'school_start_date', '2025-09-01'),
(4, 'school_year', '2024-2025'),
(6, 'second_student_fee', '200'),
(8, 'semester', 'Fall'),
(9, 'total_semester1_days', '14'),
(10, 'total_semester2_days', '13'),
(17, 'trophy_score', '94'),
(20, 'weeks_study', '35'),
(7, 'youth_fee', '180');

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

--
-- Table structure for table `contactus`
--

CREATE TABLE `contactus` (
  `id` int(11) UNSIGNED NOT NULL,
  `sender_id` int(11) UNSIGNED NOT NULL,
  `reciever_id` int(11) UNSIGNED NOT NULL,
  `subject` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `current_flag`
--

CREATE TABLE `current_flag` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `student_name` varchar(255) NOT NULL,
  `grade` varchar(50) NOT NULL,
  `flag` enum('payment','attendance','grade','behavior','other') NOT NULL,
  `flag_datetime` datetime NOT NULL,
  `flag_state` enum('Open','Closed','Canceled') DEFAULT 'Open',
  `updated_by_open` int(11) DEFAULT NULL,
  `open_description` text DEFAULT NULL,
  `updated_by_closed` int(11) DEFAULT NULL,
  `close_description` text DEFAULT NULL,
  `updated_by_canceled` int(11) DEFAULT NULL,
  `cancel_description` text DEFAULT NULL,
  `semester` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `school_year` varchar(9) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `discount_usages`
--

CREATE TABLE `discount_usages` (
  `id` int(11) UNSIGNED NOT NULL,
  `voucher_id` int(11) NOT NULL,
  `invoice_id` int(11) UNSIGNED NOT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `discount_amount` decimal(10,2) NOT NULL DEFAULT 0.00,
  `school_year` varchar(9) NOT NULL,
  `updated_by` int(11) DEFAULT NULL,
  `used_at` datetime DEFAULT current_timestamp(),
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp(),
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `discount_vouchers`
--

CREATE TABLE `discount_vouchers` (
  `id` int(11) UNSIGNED NOT NULL,
  `code` varchar(50) NOT NULL,
  `discount_type` enum('percent','fixed') NOT NULL DEFAULT 'percent',
  `discount_value` decimal(10,2) NOT NULL,
  `max_uses` int(11) DEFAULT 1,
  `times_used` int(11) DEFAULT 0,
  `valid_from` date DEFAULT NULL,
  `valid_until` date DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT 1,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `emergency_contacts`
--

CREATE TABLE `emergency_contacts` (
  `id` int(11) UNSIGNED NOT NULL,
  `emergency_contact_name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `parent_id` int(11) DEFAULT NULL,
  `cellphone` varchar(20) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  `relation` varchar(50) NOT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `emergency_contacts`
--

INSERT INTO `emergency_contacts` (`id`, `emergency_contact_name`, `parent_id`, `cellphone`, `email`, `relation`, `semester`, `school_year`, `created_at`, `updated_at`) VALUES
(26, 'Moulay Elabidi', 108, '(617)-309-6743', 'moulay@gmail.com', 'Father', 'Fall', '-1', '2025-05-13 22:33:17', '2025-05-13 22:33:17'),
(27, 'Moulay Ellabi', 110, '(617)-309-6743', 'asdsgdg46@gmail.com', 'Other', 'Fall', '-1', '2025-05-14 01:03:49', '2025-05-14 01:03:49'),
(28, 'Fg Gg', 111, '(566)-566-6653', 'asdhljkh464@gmail.com', 'Grand Mother', 'Fall', '-1', '2025-05-14 01:43:38', '2025-05-14 01:43:38'),
(29, 'Moulay Elabidi', 114, '(617)-309-6743', 'testas@gmail.com', 'Father', 'Fall', '-1', '2025-05-18 04:04:54', '2025-05-18 04:04:54'),
(30, 'Vvn Dvcdv', 115, '(781)-485-6024', 'domran@gmail.com', 'Mother', 'Fall', '-1', '2025-05-20 01:21:31', '2025-05-20 01:21:31'),
(31, 'Ebad Rahman', 119, '6038602854', 'ajawak67@gmail.com', 'Father', 'Fall', NULL, '2025-06-28 21:49:22', '2025-06-28 21:49:22');

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

--
-- Table structure for table `enrollments`
--

CREATE TABLE `enrollments` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) UNSIGNED NOT NULL,
  `class_section_id` int(11) UNSIGNED DEFAULT NULL,
  `parent_id` int(11) UNSIGNED NOT NULL,
  `enrollment_date` date NOT NULL,
  `enrollment_status` enum('admission under review','payment pending','Enrolled','withdraw under review','refund pending','withdrawn') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `withdrawal_date` date DEFAULT NULL,
  `is_withdrawn` tinyint(1) DEFAULT 0,
  `admission_status` enum('accepted','denied') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'denied',
  `semester` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `school_year` varchar(25) NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `enrollments`
--

INSERT INTO `enrollments` (`id`, `student_id`, `class_section_id`, `parent_id`, `enrollment_date`, `enrollment_status`, `withdrawal_date`, `is_withdrawn`, `admission_status`, `semester`, `school_year`, `created_at`, `updated_at`) VALUES
(44, 107, 61, 108, '2025-05-13', 'payment pending', NULL, 0, 'accepted', 'Fall', '2024-2025', '2025-05-13 22:33:38', '2025-06-28 21:53:43'),
(47, 110, 31, 110, '2025-05-14', 'payment pending', NULL, 0, 'accepted', 'Fall', '2024-2025', '2025-05-14 01:15:42', '2025-06-28 21:53:43'),
(48, 111, 31, 110, '2025-05-14', 'payment pending', NULL, 0, 'accepted', 'Fall', '2024-2025', '2025-05-14 01:15:42', '2025-06-28 21:53:43'),
(49, 112, 61, 110, '2025-05-14', 'payment pending', NULL, 0, 'accepted', 'Fall', '2024-2025', '2025-05-14 01:15:42', '2025-06-28 21:53:43'),
(51, 118, 61, 114, '2025-05-18', 'payment pending', NULL, 0, 'accepted', 'Fall', '2024-2025', '2025-05-18 04:05:35', '2025-06-28 21:53:43'),
(52, 123, 11, 119, '2025-06-28', 'payment pending', NULL, 0, 'accepted', 'Fall', '2024-2025', '2025-06-28 21:49:34', '2025-06-28 21:54:41');

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

--
-- Table structure for table `events`
--

CREATE TABLE `events` (
  `id` int(11) UNSIGNED NOT NULL,
  `event_name` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `amount` decimal(10,2) NOT NULL,
  `flyer` varchar(255) DEFAULT NULL,
  `expiration_date` date NOT NULL,
  `semester` varchar(50) DEFAULT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `created_by` int(11) UNSIGNED DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `event_charges`
--

CREATE TABLE `event_charges` (
  `id` int(11) UNSIGNED NOT NULL,
  `event_id` int(11) UNSIGNED NOT NULL,
  `parent_id` int(11) UNSIGNED DEFAULT NULL,
  `student_id` int(11) UNSIGNED DEFAULT NULL,
  `participation` enum('yes','no') DEFAULT NULL,
  `charged` tinyint(1) DEFAULT 0,
  `semester` varchar(50) DEFAULT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `updated_by` int(11) UNSIGNED DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `examquestiondistribution`
--

CREATE TABLE `examquestiondistribution` (
  `exam_distribution_id` int(11) NOT NULL,
  `exam_id` int(11) NOT NULL,
  `question_type_id` int(11) NOT NULL,
  `num_questions` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `examquestions`
--

CREATE TABLE `examquestions` (
  `exam_question_id` int(11) NOT NULL,
  `exam_id` int(11) NOT NULL,
  `question_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `exams`
--

CREATE TABLE `exams` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` char(36) NOT NULL,
  `student_school_id` char(36) NOT NULL,
  `class_section_id` int(11) NOT NULL,
  `exam_name` varchar(100) NOT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp()
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

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

CREATE TABLE `expenses` (
  `id` int(11) UNSIGNED NOT NULL,
  `category` enum('Expense','Purchase','Reimbursement') NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `receipt_path` varchar(255) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `purchased_by` int(11) UNSIGNED DEFAULT NULL,
  `added_by` int(11) UNSIGNED NOT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL,
  `status` enum('pending','approved','denied') NOT NULL DEFAULT 'pending',
  `status_reason` text DEFAULT NULL,
  `updated_by` int(11) UNSIGNED DEFAULT NULL,
  `approved_by` int(11) UNSIGNED DEFAULT NULL,
  `reimbursement_id` int(11) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `final_exam`
--

CREATE TABLE `final_exam` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `school_id` char(36) NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `teacher_id` int(11) NOT NULL,
  `score` int(11) DEFAULT NULL,
  `semester` varchar(25) NOT NULL DEFAULT 'Spring',
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

--
-- Table structure for table `final_score`
--

CREATE TABLE `final_score` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `student_school_id` char(36) NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `teacher_id` int(11) NOT NULL,
  `score` int(11) NOT NULL,
  `score_letter` varchar(9) DEFAULT NULL,
  `comment` text DEFAULT NULL,
  `school_year` varchar(9) NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `semester` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `final_score`
--

INSERT INTO `final_score` (`id`, `student_id`, `student_school_id`, `class_section_id`, `teacher_id`, `score`, `score_letter`, `comment`, `school_year`, `created_at`, `updated_at`, `semester`) VALUES
(1, 123, '', 11, 109, 20, 'F', NULL, '2024-2025', '2025-07-04 06:33:10', '2025-07-04 06:33:10', 'Fall');

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

--
-- Table structure for table `flag`
--

CREATE TABLE `flag` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `student_name` varchar(255) NOT NULL,
  `grade` varchar(50) NOT NULL,
  `flag` enum('payment','attendance','grade','behavior','other') NOT NULL,
  `flag_datetime` datetime NOT NULL,
  `flag_state` enum('Closed','Canceled') NOT NULL,
  `updated_by_open` int(11) DEFAULT NULL,
  `open_description` text DEFAULT NULL,
  `updated_by_closed` int(11) DEFAULT NULL,
  `close_description` text DEFAULT NULL,
  `updated_by_canceled` int(11) DEFAULT NULL,
  `cancel_description` text DEFAULT NULL,
  `semester` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `school_year` varchar(9) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `homework`
--

CREATE TABLE `homework` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `student_school_id` char(36) NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `teacher_id` int(11) NOT NULL,
  `homework_index` tinyint(4) DEFAULT NULL,
  `score` int(11) DEFAULT NULL,
  `comment` text DEFAULT NULL,
  `semester` varchar(25) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

--
-- Table structure for table `invoices`
--

CREATE TABLE `invoices` (
  `id` int(11) UNSIGNED NOT NULL,
  `parent_id` int(11) NOT NULL,
  `invoice_number` varchar(50) NOT NULL,
  `total_amount` decimal(10,2) NOT NULL DEFAULT 0.00,
  `balance` decimal(10,2) DEFAULT 0.00,
  `paid_amount` decimal(10,2) NOT NULL DEFAULT 0.00,
  `has_discount` tinyint(1) NOT NULL DEFAULT 0 COMMENT '1 if discount applied, 0 no discount',
  `issue_date` date NOT NULL,
  `due_date` date DEFAULT NULL,
  `status` varchar(50) NOT NULL DEFAULT '''unpaid''',
  `description` text DEFAULT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp(),
  `updated_by` int(11) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `invoices`
--

INSERT INTO `invoices` (`id`, `parent_id`, `invoice_number`, `total_amount`, `balance`, `paid_amount`, `has_discount`, `issue_date`, `due_date`, `status`, `description`, `school_year`, `created_at`, `updated_at`, `updated_by`, `semester`) VALUES
(1, 119, 'INV-2500021-686064b9cb7a0', 1.00, 1.00, 0.00, 0, '2025-06-28', '2026-03-01', 'unpaid', NULL, '2024-2025', '2025-06-28 21:55:05', '2025-06-28 23:32:31', NULL, NULL),
(2, 114, 'INV-2500007-6860bd93a335d', 180.00, 180.00, 0.00, 0, '2025-06-29', '2026-03-01', 'unpaid', NULL, '2024-2025', '2025-06-29 04:14:11', '2025-06-29 04:14:11', NULL, NULL),
(3, 110, 'INV-2500004-6860bd96452b0', 540.00, 540.00, 0.00, 0, '2025-06-29', '2026-03-01', 'unpaid', NULL, '2024-2025', '2025-06-29 04:14:14', '2025-06-29 04:14:14', NULL, NULL),
(4, 108, 'INV-2500003-6860bd9850d6b', 180.00, 180.00, 0.00, 0, '2025-06-29', '2026-03-01', 'unpaid', NULL, '2024-2025', '2025-06-29 04:14:16', '2025-06-29 04:14:16', NULL, NULL);

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

--
-- Table structure for table `invoice_event`
--

CREATE TABLE `invoice_event` (
  `id` int(11) UNSIGNED NOT NULL,
  `invoice_id` int(11) UNSIGNED NOT NULL,
  `event_name` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `amount` decimal(10,2) NOT NULL,
  `semester` varchar(50) DEFAULT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `updated_by` int(11) UNSIGNED DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `invoice_students_list`
--

CREATE TABLE `invoice_students_list` (
  `id` int(11) UNSIGNED NOT NULL,
  `invoice_id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) UNSIGNED NOT NULL,
  `student_firstname` varchar(100) NOT NULL,
  `student_lastname` varchar(100) NOT NULL,
  `school_id` int(11) UNSIGNED NOT NULL,
  `enrolled` tinyint(1) DEFAULT 1,
  `school_year` varchar(9) NOT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `ip_attempts`
--

CREATE TABLE `ip_attempts` (
  `id` int(11) UNSIGNED NOT NULL,
  `ip_address` varchar(45) NOT NULL,
  `attempts` int(11) NOT NULL DEFAULT 0,
  `last_attempt_at` datetime NOT NULL,
  `blocked_until` datetime DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `ip_attempts`
--

INSERT INTO `ip_attempts` (`id`, `ip_address`, `attempts`, `last_attempt_at`, `blocked_until`, `created_at`, `updated_at`, `school_year`, `semester`) VALUES
(1, '66.31.20.187', 2, '2025-06-28 04:40:34', NULL, '2025-06-28 00:16:53', '2025-06-28 04:40:34', NULL, NULL),
(2, '2601:18f:100:843d:35fc:90ba:2551:83a5', 2, '2025-06-28 04:40:34', NULL, '2025-06-28 04:27:29', '2025-06-28 04:40:34', NULL, NULL),
(3, '191.96.168.175', 1, '2025-06-28 19:00:34', NULL, '2025-06-28 19:00:34', '2025-06-28 19:00:34', NULL, NULL),
(4, '2600:4040:512c:6e00:78e4:ab08:ff4a:8fa9', 1, '2025-06-28 21:44:16', NULL, '2025-06-28 21:44:16', '2025-06-28 21:44:16', NULL, NULL);

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

--
-- Table structure for table `login_activity`
--

CREATE TABLE `login_activity` (
  `id` int(11) UNSIGNED NOT NULL,
  `user_id` int(11) NOT NULL,
  `email` varchar(255) NOT NULL,
  `login_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `logout_time` timestamp NULL DEFAULT NULL,
  `ip_address` varchar(255) NOT NULL,
  `user_agent` varchar(255) NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `login_activity`
--

INSERT INTO `login_activity` (`id`, `user_id`, `email`, `login_time`, `logout_time`, `ip_address`, `user_agent`, `created_at`, `updated_at`, `semester`, `school_year`) VALUES
(1, 1, 'administrator@gmail.com', '2025-06-28 04:26:54', '2025-06-28 04:26:54', '71.192.39.32', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', '2025-06-27 22:41:10', '2025-06-28 04:26:54', '', NULL),
(2, 1, 'administrator@gmail.com', '2025-06-28 04:26:54', '2025-06-28 04:26:54', '166.199.114.25', 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Brave/1 Mobile/15E148 Safari/604.1', '2025-06-28 00:20:37', '2025-06-28 04:26:54', '', NULL),
(3, 1, 'administrator@gmail.com', '2025-06-28 04:26:54', '2025-06-28 04:26:54', '66.31.20.187', 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1', '2025-06-28 00:23:03', '2025-06-28 04:26:54', '', NULL),
(4, 1, 'administrator@gmail.com', '2025-06-28 04:26:54', '2025-06-28 04:26:54', '71.192.39.32', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0', '2025-06-28 04:26:50', '2025-06-28 04:26:54', '', NULL),
(5, 109, 'alrahma.isgl@gmail.com', '2025-06-28 04:27:04', '2025-06-28 04:27:04', '71.192.39.32', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0', '2025-06-28 04:26:58', '2025-06-28 04:27:04', '', NULL),
(6, 109, 'alrahma.isgl@gmail.com', '2025-06-28 04:29:08', '2025-06-28 04:29:08', '71.192.39.32', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0', '2025-06-28 04:27:25', '2025-06-28 04:29:08', '', NULL),
(7, 117, 'kousami@gmail.com', '2025-06-28 04:40:10', '2025-06-28 04:40:10', '2601:18f:100:843d:35fc:90ba:2551:83a5', 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1', '2025-06-28 04:27:58', '2025-06-28 04:40:10', '', NULL),
(8, 118, 'kousami@gmail.com', '2025-06-28 04:43:44', NULL, '2601:18f:100:843d:35fc:90ba:2551:83a5', 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1', '2025-06-28 04:43:44', '2025-06-28 04:43:44', '', NULL),
(9, 119, 'rahmanek@gmail.com', '2025-06-28 21:47:33', NULL, '2600:4040:512c:6e00:78e4:ab08:ff4a:8fa9', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0', '2025-06-28 21:47:33', '2025-06-28 21:47:33', '', NULL),
(10, 1, 'administrator@gmail.com', '2025-06-29 03:11:18', NULL, '71.192.39.32', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', '2025-06-29 03:11:18', '2025-06-29 03:11:18', '', NULL),
(11, 109, 'alrahma.isgl@gmail.com', '2025-07-04 06:33:14', '2025-07-04 06:33:14', '71.192.39.32', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', '2025-07-04 06:33:01', '2025-07-04 06:33:14', '', NULL),
(12, 1, 'administrator@gmail.com', '2025-07-04 06:33:30', NULL, '71.192.39.32', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', '2025-07-04 06:33:30', '2025-07-04 06:33:30', '', NULL);

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

--
-- Table structure for table `longanswerquestions`
--

CREATE TABLE `longanswerquestions` (
  `la_question_id` int(11) NOT NULL,
  `question_id` int(11) NOT NULL,
  `correct_answer` text DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `manual_payments`
--

CREATE TABLE `manual_payments` (
  `id` int(11) UNSIGNED NOT NULL,
  `invoice_number` varchar(100) DEFAULT NULL,
  `amount` decimal(10,2) DEFAULT NULL,
  `payment_method` varchar(100) DEFAULT NULL,
  `reference` varchar(255) DEFAULT NULL,
  `discount_number` int(11) DEFAULT NULL,
  `proof_path` varchar(255) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `messages`
--

CREATE TABLE `messages` (
  `id` int(11) UNSIGNED NOT NULL,
  `sender_id` int(11) NOT NULL,
  `recipient_id` int(11) NOT NULL,
  `subject` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `sent_datetime` datetime NOT NULL,
  `read_status` tinyint(1) NOT NULL DEFAULT 0,
  `read_datetime` datetime DEFAULT NULL,
  `message_number` varchar(20) NOT NULL,
  `priority` varchar(10) NOT NULL DEFAULT 'normal',
  `attachment` varchar(255) DEFAULT NULL,
  `status` varchar(10) NOT NULL DEFAULT 'sent',
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `midterm_exam`
--

CREATE TABLE `midterm_exam` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `student_school_id` char(36) NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `teacher_id` int(11) NOT NULL,
  `score` int(11) DEFAULT NULL,
  `comment` text DEFAULT NULL,
  `semester` varchar(25) NOT NULL DEFAULT 'Fall',
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

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

CREATE TABLE `migrations` (
  `id` int(11) UNSIGNED NOT NULL,
  `version` varchar(255) NOT NULL,
  `class` varchar(255) NOT NULL,
  `group` varchar(255) NOT NULL,
  `namespace` varchar(255) NOT NULL,
  `time` int(11) NOT NULL,
  `batch` int(11) UNSIGNED NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

--
-- Table structure for table `notifications`
--

CREATE TABLE `notifications` (
  `id` int(11) UNSIGNED NOT NULL,
  `title` varchar(255) DEFAULT NULL,
  `message` text NOT NULL,
  `target_group` enum('student','parent','teacher','admin','everyone') NOT NULL,
  `delivery_channels` set('in_app','email','sms') NOT NULL,
  `priority` enum('low','normal','high') DEFAULT 'normal',
  `status` enum('pending','sent','failed') DEFAULT 'pending',
  `action_url` varchar(512) DEFAULT NULL,
  `attachment_path` varchar(512) DEFAULT NULL,
  `scheduled_at` datetime DEFAULT current_timestamp(),
  `sent_at` datetime DEFAULT NULL,
  `expires_at` datetime DEFAULT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `deleted_at` datetime DEFAULT NULL,
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `notifications`
--

INSERT INTO `notifications` (`id`, `title`, `message`, `target_group`, `delivery_channels`, `priority`, `status`, `action_url`, `attachment_path`, `scheduled_at`, `sent_at`, `expires_at`, `created_at`, `updated_at`, `deleted_at`, `school_year`, `semester`) VALUES
(1, 'admission under review', 'Your admission application is under review. We will notify you once it is approved.', 'student', 'in_app,email', 'normal', 'pending', NULL, NULL, '2025-06-28 21:49:34', NULL, NULL, '2025-06-28 21:49:34', '2025-06-28 21:49:34', NULL, NULL, NULL);

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

--
-- Table structure for table `notification_recipients`
--

CREATE TABLE `notification_recipients` (
  `id` int(11) UNSIGNED NOT NULL,
  `notification_id` int(11) UNSIGNED NOT NULL,
  `user_id` int(11) UNSIGNED NOT NULL,
  `status` enum('unread','read','delivered','failed') DEFAULT 'unread',
  `delivered_at` datetime DEFAULT NULL,
  `read_at` datetime DEFAULT NULL,
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `password_resets`
--

CREATE TABLE `password_resets` (
  `id` int(11) UNSIGNED NOT NULL,
  `email` varchar(255) NOT NULL,
  `token` varchar(255) NOT NULL,
  `created_at` datetime NOT NULL,
  `expires_at` datetime NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

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

CREATE TABLE `payments` (
  `id` int(11) UNSIGNED NOT NULL,
  `parent_id` int(11) UNSIGNED NOT NULL,
  `invoice_id` int(11) UNSIGNED NOT NULL,
  `total_amount` decimal(10,2) NOT NULL,
  `paid_amount` decimal(10,2) NOT NULL DEFAULT 0.00,
  `balance` decimal(10,2) NOT NULL,
  `number_of_installments` int(11) NOT NULL,
  `transaction_id` varchar(100) DEFAULT NULL,
  `check_file` varchar(255) DEFAULT NULL,
  `payment_method` varchar(50) NOT NULL DEFAULT 'Unknown',
  `payment_date` date NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `status` varchar(50) NOT NULL DEFAULT 'Pending',
  `updated_by` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `payment_error`
--

CREATE TABLE `payment_error` (
  `id` int(11) UNSIGNED NOT NULL,
  `payment_id` int(11) NOT NULL,
  `invoice_id` int(11) NOT NULL,
  `parent_id` int(11) NOT NULL,
  `wrong_paid_amount` decimal(10,2) NOT NULL,
  `wrong_payment_method` varchar(50) NOT NULL,
  `wrong_check_file` varchar(255) DEFAULT NULL,
  `error_note` varchar(255) DEFAULT NULL,
  `logged_at` datetime NOT NULL,
  `logged_by` int(11) DEFAULT NULL,
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `payment_transactions`
--

CREATE TABLE `payment_transactions` (
  `id` int(11) UNSIGNED NOT NULL,
  `transaction_id` varchar(100) NOT NULL,
  `payment_id` int(11) NOT NULL,
  `transaction_date` datetime DEFAULT current_timestamp(),
  `amount` decimal(10,2) NOT NULL,
  `payment_method` varchar(50) NOT NULL,
  `payment_status` varchar(50) NOT NULL DEFAULT 'Pending',
  `transaction_fee` decimal(10,2) DEFAULT 0.00,
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

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

CREATE TABLE `paypal_payments` (
  `id` int(11) UNSIGNED NOT NULL,
  `webhook_id` varchar(64) DEFAULT NULL,
  `parent_school_id` varchar(64) DEFAULT NULL,
  `order_id` varchar(64) DEFAULT NULL,
  `transaction_id` varchar(64) DEFAULT NULL,
  `status` varchar(32) DEFAULT NULL,
  `amount` decimal(10,2) DEFAULT NULL,
  `currency` varchar(10) DEFAULT NULL,
  `paypal_fee` decimal(10,2) DEFAULT NULL,
  `net_amount` decimal(10,2) DEFAULT NULL,
  `payer_email` varchar(128) DEFAULT NULL,
  `merchant_id` varchar(64) DEFAULT NULL,
  `event_type` varchar(64) DEFAULT NULL,
  `summary` text DEFAULT NULL,
  `raw_payload` longtext DEFAULT NULL,
  `synced` tinyint(1) NOT NULL DEFAULT 0,
  `sync_attempts` int(11) NOT NULL DEFAULT 0,
  `created_at` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `paypal_transactions`
--

CREATE TABLE `paypal_transactions` (
  `id` int(11) NOT NULL,
  `transaction_id` varchar(100) NOT NULL,
  `payment_id` int(11) DEFAULT NULL,
  `firstname` varchar(100) DEFAULT NULL,
  `lastname` varchar(100) DEFAULT NULL,
  `event_type` varchar(100) NOT NULL,
  `payer_email` varchar(255) DEFAULT NULL,
  `amount` decimal(10,2) NOT NULL DEFAULT 0.00,
  `currency` varchar(10) NOT NULL,
  `status` varchar(50) NOT NULL DEFAULT 'Pending',
  `payment_method` varchar(50) NOT NULL,
  `transaction_fee` decimal(10,2) NOT NULL DEFAULT 0.00,
  `raw_data` text DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

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

CREATE TABLE `permissions` (
  `id` int(11) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

INSERT INTO `permissions` (`id`, `name`, `description`, `created_at`, `updated_at`) VALUES
(1, 'view_dashboard', 'Permission to view the admin dashboard', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(2, 'access_admin_panel', 'Permission to access the administration panel', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(3, 'manage_users', 'Permission to manage users (create, update, delete)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(4, 'create_user', 'Permission to create new users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(5, 'edit_user', 'Permission to edit existing users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(6, 'delete_user', 'Permission to delete users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(7, 'view_user_list', 'Permission to view the list of users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(8, 'view_user_profile', 'Permission to view individual user profiles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(9, 'edit_user_profile', 'Permission to edit user profiles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(10, 'deactivate_user', 'Permission to deactivate a user account', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(11, 'activate_user', 'Permission to reactivate a deactivated user account', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(12, 'reset_user_password', 'Permission to reset user passwords', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(13, 'manage_roles', 'Permission to manage roles (create, edit, delete)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(14, 'create_role', 'Permission to create a new role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(15, 'edit_role', 'Permission to edit an existing role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(16, 'delete_role', 'Permission to delete a role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(17, 'view_roles', 'Permission to view the list of roles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(18, 'assign_role', 'Permission to assign roles to users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(19, 'edit_role_permissions', 'Permission to edit permissions assigned to roles', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(20, 'manage_content', 'Permission to manage all types of content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(21, 'create_content', 'Permission to create new content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(22, 'edit_content', 'Permission to edit existing content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(23, 'delete_content', 'Permission to delete content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(24, 'publish_content', 'Permission to publish content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(25, 'unpublish_content', 'Permission to unpublish content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(26, 'view_content_list', 'Permission to view all content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(27, 'archive_content', 'Permission to archive old content', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(28, 'upload_files', 'Permission to upload files and media', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(29, 'delete_files', 'Permission to delete uploaded files', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(30, 'view_files', 'Permission to view and access uploaded files', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(31, 'manage_file_storage', 'Permission to manage file storage settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(32, 'manage_security_settings', 'Permission to manage security settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(33, 'view_security_logs', 'Permission to view security and audit logs', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(34, 'access_sensitive_data', 'Permission to access sensitive or personally identifiable information (PII)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(35, 'manage_password_policy', 'Permission to configure and enforce password policies', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(36, 'view_login_activity', 'Permission to view login activities of users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(37, 'view_failed_login_attempts', 'Permission to view failed login attempts for the system', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(38, 'manage_system_settings', 'Permission to manage system-wide settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(39, 'edit_system_settings', 'Permission to edit system configuration (e.g., database, APIs)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(40, 'view_system_settings', 'Permission to view current system settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(41, 'manage_api_keys', 'Permission to manage API keys', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(42, 'view_system_logs', 'Permission to view system activity and error logs', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(43, 'configure_email_settings', 'Permission to configure the email server settings', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(44, 'view_reports', 'Permission to view system reports', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(45, 'generate_reports', 'Permission to generate and download reports', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(46, 'export_data', 'Permission to export data in various formats', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(47, 'view_analytics_dashboard', 'Permission to view the analytics dashboard', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(48, 'manage_billing', 'Permission to manage billing, payments, and subscriptions', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(49, 'view_billing_history', 'Permission to view past transactions and billing history', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(50, 'issue_refunds', 'Permission to issue refunds to users', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(51, 'view_invoice_list', 'Permission to view all invoices', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(52, 'view_audit_logs', 'Permission to view audit logs for system actions', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(53, 'perform_compliance_checks', 'Permission to perform and manage compliance checks', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(54, 'view_data_privacy_logs', 'Permission to view logs related to GDPR and data privacy activities', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(55, 'manage_notifications', 'Permission to configure and send notifications (email, SMS, etc.)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(56, 'view_notification_history', 'Permission to view the notification history sent by the system', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(57, 'send_system_alerts', 'Permission to send system-wide alerts', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(58, 'manage_backups', 'Permission to configure and manage system backups', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(59, 'perform_backup', 'Permission to manually initiate a backup of the system', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(60, 'restore_backup', 'Permission to restore a backup', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(61, 'manage_tasks', 'Permission to manage tasks and workflow configurations', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(62, 'assign_tasks', 'Permission to assign tasks to users or teams', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(63, 'view_task_list', 'Permission to view the list of tasks', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(64, 'mark_task_complete', 'Permission to mark a task as completed', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(65, 'view_api_logs', 'Permission to view API usage logs', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(66, 'manage_integrations', 'Permission to manage system integrations (third-party tools, webhooks, etc.)', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(67, 'manage_api_access', '', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(68, 'manage_teams', 'Permission to create, edit, and delete teams', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(69, 'assign_team_roles', 'Permission to assign team roles and permissions', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(70, 'view_team_members', 'Permission to view team member information', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(71, 'manage_projects', 'Permission to create and manage projects', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(72, 'assign_project_tasks', 'Permission to assign tasks within projects', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(73, 'impersonate_user', 'Permission to impersonate other users for troubleshooting', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(74, 'access_admin_as_other_role', 'Permission to access the admin panel as a different role', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(75, 'shutdown_system', 'Permission to shut down the system in case of emergencies', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(76, 'manage_database', 'Permission to manage (backup, restore, optimize) the database', '2024-09-21 15:57:22', '2024-09-21 15:57:22'),
(77, 'view_dashboard', 'Permission to view the admin dashboard', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(78, 'access_admin_panel', 'Permission to access the administration panel', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(79, 'view_own_grades', 'Permission for students to view their own grades', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(80, 'view_own_assignments', 'Permission for students to view their own assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(81, 'submit_assignments', 'Permission for students to submit assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(82, 'view_course_materials', 'Permission for students to view course materials', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(83, 'view_timetable', 'Permission for students to view their own timetable or schedule', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(84, 'view_own_attendance', 'Permission for students to view their attendance records', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(85, 'manage_students', 'Permission to manage (add, edit, remove) students in their class', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(86, 'grade_assignments', 'Permission to grade student assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(87, 'view_all_students', 'Permission to view all students in their class', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(88, 'view_class_attendance', 'Permission to view class attendance', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(89, 'manage_course_materials', 'Permission to upload and manage course materials', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(90, 'create_assignments', 'Permission to create new assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(91, 'edit_assignments', 'Permission to edit existing assignments', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(92, 'view_teacher_reports', 'Permission to view reports related to the teachers class or subjects', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(93, 'view_class_timetable', 'Permission to view the class timetable', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(94, 'view_child_grades', 'Permission for parents to view their childs grades', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(95, 'view_child_attendance', 'Permission for parents to view their childs attendance records', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(96, 'view_child_assignments', 'Permission for parents to view assignments assigned to their child', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(97, 'communicate_with_teachers', 'Permission for parents to communicate with teachers', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(98, 'view_child_timetable', 'Permission for parents to view their childs timetable', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(99, 'view_school_announcements', 'Permission for parents to view school announcements or notices', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(100, 'manage_school_events', 'Permission to manage school events and announcements', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(101, 'manage_class_schedules', 'Permission to manage class schedules', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(102, 'manage_student_enrollment', 'Permission to manage student enrollment and records', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(103, 'view_all_reports', 'Permission to view all school-wide reports', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(104, 'manage_facilities', 'Permission to manage school facilities (library, labs, etc.)', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(105, 'view_school_timetable', 'Permission to view the overall school timetable', '2024-09-21 15:58:00', '2024-09-21 15:58:00'),
(326, 'parent_dashboard', 'Permission to view the parent dashboard', '2024-09-21 17:23:01', '2024-09-21 17:23:01'),
(327, 'teacher_dashboard', 'Permission to view teacher dashboard', '2024-09-21 15:57:22', '2024-09-21 15:57:22');

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

--
-- Table structure for table `preferences`
--

CREATE TABLE `preferences` (
  `id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `receive_email_notifications` tinyint(1) DEFAULT 1,
  `receive_sms_notifications` tinyint(1) DEFAULT 0,
  `theme` varchar(50) DEFAULT 'light',
  `language` varchar(10) DEFAULT 'en',
  `timezone` varchar(50) DEFAULT 'UTC',
  `receive_push_notifications` tinyint(1) DEFAULT 0,
  `daily_summary_email` tinyint(1) DEFAULT 1,
  `privacy_mode` tinyint(1) DEFAULT 0,
  `marketing_emails` tinyint(1) DEFAULT 1,
  `account_activity_alerts` tinyint(1) DEFAULT 1,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `school_year` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `project`
--

CREATE TABLE `project` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `student_school_id` char(36) NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `teacher_id` int(11) NOT NULL,
  `project_index` tinyint(4) DEFAULT NULL,
  `score` int(11) DEFAULT NULL,
  `comment` text DEFAULT NULL,
  `semester` varchar(25) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

--
-- Table structure for table `qcmquestions`
--

CREATE TABLE `qcmquestions` (
  `qcm_question_id` int(11) NOT NULL,
  `question_id` int(11) NOT NULL,
  `answer_a` text NOT NULL,
  `answer_b` text NOT NULL,
  `answer_c` text DEFAULT NULL,
  `answer_d` text DEFAULT NULL,
  `answer_e` text DEFAULT NULL,
  `correct_answer` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Table structure for table `questions`
--

CREATE TABLE `questions` (
  `question_id` int(11) NOT NULL,
  `chapter_id` int(11) NOT NULL,
  `question_type_id` int(11) NOT NULL,
  `question_text` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Table structure for table `questionstruefalse`
--

CREATE TABLE `questionstruefalse` (
  `tf_question_id` int(11) NOT NULL,
  `question_id` int(11) NOT NULL,
  `correct_answer` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Table structure for table `questiontypes`
--

CREATE TABLE `questiontypes` (
  `question_type_id` int(11) NOT NULL,
  `question_type_name` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Table structure for table `quiz`
--

CREATE TABLE `quiz` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `student_school_id` char(36) NOT NULL,
  `class_section_id` int(11) NOT NULL,
  `teacher_id` int(11) NOT NULL,
  `quiz_index` int(11) NOT NULL,
  `score` int(11) DEFAULT NULL,
  `comment` text DEFAULT NULL,
  `semester` varchar(25) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

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

CREATE TABLE `refunds` (
  `id` int(11) UNSIGNED NOT NULL,
  `parent_id` int(11) UNSIGNED NOT NULL,
  `school_year` varchar(20) NOT NULL,
  `invoice_id` int(11) UNSIGNED DEFAULT NULL,
  `refund_amount` decimal(10,2) NOT NULL,
  `requested_at` datetime NOT NULL DEFAULT current_timestamp(),
  `approved_at` datetime DEFAULT NULL,
  `refunded_at` datetime DEFAULT NULL,
  `status` enum('Pending','Partial','Approved','Rejected','Paid') NOT NULL DEFAULT 'Pending',
  `reason` varchar(255) DEFAULT NULL,
  `refund_paid_amount` decimal(10,2) NOT NULL,
  `request` varchar(25) DEFAULT NULL,
  `note` text DEFAULT NULL,
  `approved_by` int(11) UNSIGNED DEFAULT NULL,
  `updated_by` int(11) UNSIGNED DEFAULT NULL,
  `refund_method` enum('Check','Online','Cash') DEFAULT NULL,
  `check_nbr` varchar(100) DEFAULT NULL,
  `check_file` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `reimbursements`
--

CREATE TABLE `reimbursements` (
  `id` int(11) UNSIGNED NOT NULL,
  `expense_id` int(11) UNSIGNED DEFAULT NULL,
  `amount` decimal(10,2) NOT NULL,
  `reimbursed_to` int(11) UNSIGNED NOT NULL,
  `approved_by` int(11) UNSIGNED DEFAULT NULL,
  `receipt_path` varchar(255) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `status` enum('Pending','Approved','Rejected','Paid') DEFAULT 'Pending',
  `added_by` int(11) UNSIGNED NOT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL,
  `check_number` varchar(100) DEFAULT NULL,
  `reimbursement_method` enum('Cash','Check') DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

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

CREATE TABLE `roles` (
  `id` int(11) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

INSERT INTO `roles` (`id`, `name`, `description`, `created_at`, `updated_at`) VALUES
(1, 'administrator', 'Oversees all administrative functions of the school', '2024-07-10 22:11:23', '2024-08-02 03:30:42'),
(2, 'principal', 'Responsible for overall school management and operations', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(3, 'vice principal', 'Assists the principal in administrative duties', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(4, 'teacher', 'Delivers classroom instruction', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(5, 'assistant teacher', 'Supports the lead teacher in instructional duties', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(6, 'student', 'Attends classes and participates in school activities', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(7, 'parent', 'Engages with teachers and school administration about their child', '2024-07-10 22:11:23', '2024-08-02 22:26:11'),
(8, 'admin staff', 'Handles administrative tasks and supports school operations', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(9, 'head of department (communication)', 'Oversees the Communication department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(10, 'head of department (information technology)', 'Oversees the Information Tehcnology department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(11, 'head of department (education)', 'Oversees the Education department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(12, 'head of department (finance)', 'Oversees the Financial department', '2024-07-10 22:11:23', '2024-08-02 03:36:31'),
(13, 'guest', 'Oversees all guest functions of the school', '2024-07-12 16:05:03', '2024-08-02 03:36:31'),
(14, 'authorized_user', 'Second user of the parent account that can view the overall parent information', '2024-07-10 22:11:23', '2024-08-02 03:30:42');

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

--
-- Table structure for table `role_permissions`
--

CREATE TABLE `role_permissions` (
  `id` int(11) UNSIGNED NOT NULL,
  `role_id` int(11) NOT NULL,
  `permission_id` int(11) NOT NULL,
  `can_create` tinyint(1) DEFAULT 0,
  `can_read` tinyint(1) DEFAULT 0,
  `can_update` tinyint(1) DEFAULT 0,
  `can_delete` tinyint(1) DEFAULT 0,
  `can_manage` tinyint(1) DEFAULT 0,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `role_permissions`
--

INSERT INTO `role_permissions` (`id`, `role_id`, `permission_id`, `can_create`, `can_read`, `can_update`, `can_delete`, `can_manage`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-07-19 17:27:01'),
(2, 1, 2, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(3, 1, 3, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(4, 1, 4, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(5, 1, 5, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(6, 1, 6, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(7, 1, 7, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(8, 1, 8, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(9, 1, 9, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(10, 1, 10, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(11, 1, 11, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(12, 1, 12, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(13, 1, 13, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(14, 1, 14, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(15, 1, 15, 1, 1, 1, 1, 0, '2024-07-19 17:27:01', '2024-08-11 04:22:34'),
(16, 2, 1, 1, 1, 1, 1, 0, '2024-08-31 04:34:16', '2024-08-31 05:01:31'),
(17, 2, 3, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(18, 2, 4, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(19, 2, 6, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(20, 2, 9, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(21, 2, 2, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(22, 2, 7, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(23, 2, 8, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(24, 2, 10, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(25, 2, 11, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(26, 2, 12, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(27, 2, 13, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(28, 2, 14, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(29, 2, 15, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31'),
(683, 7, 326, 1, 1, 1, 1, 0, '2024-09-21 16:23:42', '2024-09-21 16:23:42'),
(685, 14, 326, 0, 1, 0, 0, 0, '2024-09-28 05:20:31', '2024-09-28 05:20:31'),
(32, 5, 1, 1, 1, 1, 1, 0, '2024-08-31 05:02:50', '2024-08-31 05:02:50'),
(33, 6, 5, 1, 1, 1, 1, 0, '2024-08-31 05:03:02', '2024-08-31 05:03:02'),
(684, 4, 327, 1, 1, 1, 1, 0, '2024-09-23 15:20:04', '2024-09-23 15:20:04'),
(36, 8, 6, 1, 1, 1, 1, 0, '2024-08-31 15:36:52', '2024-08-31 15:36:52'),
(37, 11, 3, 1, 1, 1, 1, 0, '2024-09-04 14:24:19', '2024-09-04 14:24:19'),
(30, 2, 5, 1, 1, 1, 1, 0, '2024-08-31 05:01:31', '2024-08-31 05:01:31');

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

--
-- Table structure for table `scan_log`
--

CREATE TABLE `scan_log` (
  `id` int(11) UNSIGNED NOT NULL,
  `user_id` int(11) NOT NULL,
  `card_id` varchar(255) DEFAULT NULL,
  `scan_time` datetime DEFAULT current_timestamp(),
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `score_comments`
--

CREATE TABLE `score_comments` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) UNSIGNED NOT NULL,
  `subject_id` int(11) NOT NULL,
  `score_type` varchar(50) NOT NULL,
  `semester` varchar(20) NOT NULL,
  `school_year` varchar(20) NOT NULL,
  `comment` text NOT NULL,
  `commented_by` int(11) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Table structure for table `sections`
--

CREATE TABLE `sections` (
  `id` int(11) UNSIGNED NOT NULL,
  `section_name` varchar(100) NOT NULL,
  `description` text DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `sections`
--

INSERT INTO `sections` (`id`, `section_name`, `description`, `updated_at`, `updated_by`) VALUES
(1, '', 'No-Section', '2024-08-16 01:06:30', 1),
(2, 'A', 'Section A', '2024-08-16 01:06:30', 1),
(3, 'B', 'Section B', '2024-08-16 01:06:30', 1),
(4, 'C', 'Section C', '2024-08-16 01:06:30', 1),
(5, 'D', 'Section D', '2024-08-16 01:06:30', 1),
(6, 'E', 'Section E', '2024-08-16 01:06:30', 1);

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

--
-- Table structure for table `semester_scores`
--

CREATE TABLE `semester_scores` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `school_id` char(36) NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `teacher_id` int(11) DEFAULT NULL,
  `homework_avg` int(11) DEFAULT NULL,
  `quiz_avg` int(11) DEFAULT NULL,
  `project_avg` int(11) DEFAULT NULL,
  `midterm_exam_score` int(11) DEFAULT NULL,
  `final_exam_score` int(11) DEFAULT NULL,
  `attendance_score` int(11) DEFAULT NULL,
  `test_avg` int(11) DEFAULT NULL,
  `semester_score` int(11) DEFAULT NULL,
  `semester` varchar(20) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `semester_scores`
--

INSERT INTO `semester_scores` (`id`, `student_id`, `school_id`, `class_section_id`, `teacher_id`, `homework_avg`, `quiz_avg`, `project_avg`, `midterm_exam_score`, `final_exam_score`, `attendance_score`, `test_avg`, `semester_score`, `semester`, `school_year`, `created_at`, `updated_at`) VALUES
(1, 123, '2500022', 11, 109, 0, 0, 0, 0, 0, 100, 0, 20, 'Fall', '2024-2025', '2025-07-04 06:33:10', '2025-07-04 06:33:10');

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

--
-- Table structure for table `settings`
--

CREATE TABLE `settings` (
  `id` int(11) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `timezone` varchar(255) NOT NULL,
  `updated_by` int(11) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

--
-- Table structure for table `shortanswerquestions`
--

CREATE TABLE `shortanswerquestions` (
  `sa_question_id` int(11) NOT NULL,
  `question_id` int(11) NOT NULL,
  `correct_answer` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Table structure for table `staff`
--

CREATE TABLE `staff` (
  `id` int(10) UNSIGNED NOT NULL,
  `firstname` varchar(100) NOT NULL,
  `lastname` varchar(100) NOT NULL,
  `email` varchar(150) NOT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `role_name` varchar(100) NOT NULL,
  `school_year` varchar(9) NOT NULL,
  `status` enum('Active','Inactive') DEFAULT 'Active',
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `user_id` int(11) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `staff`
--

INSERT INTO `staff` (`id`, `firstname`, `lastname`, `email`, `phone`, `role_name`, `school_year`, `status`, `created_at`, `updated_at`, `user_id`) VALUES
(1, 'AdminFirstName', 'AdminLastName', 'aadminlastname@alrahmaisgl.org', '0001234569', 'administrator', '2024-2025', 'Active', '2025-07-04 06:48:37', '2025-07-04 06:48:37', 1),
(3, 'moulay', 'elabidi', 'melabidi@alrahmaisgl.org', '(617)-309-6743', 'head of department (information technology)', '2024-2025', 'Active', '2025-07-04 06:49:02', '2025-07-04 06:49:02', 108),
(4, 'Ebad', 'Rahman', 'erahman@alrahmaisgl.org', '(603)-860-2854', 'admin staff', '2024-2025', 'Active', '2025-07-04 06:49:24', '2025-07-04 06:49:24', 119);

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

--
-- Table structure for table `students`
--

CREATE TABLE `students` (
  `id` int(11) UNSIGNED NOT NULL,
  `school_id` char(100) NOT NULL,
  `firstname` varchar(255) NOT NULL,
  `lastname` varchar(255) NOT NULL,
  `dob` date DEFAULT NULL,
  `age` int(11) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `registration_grade` varchar(50) DEFAULT NULL,
  `medical_conditions` varchar(255) DEFAULT NULL,
  `allergies` varchar(255) NOT NULL,
  `photo_consent` tinyint(1) NOT NULL,
  `parent_id` int(11) NOT NULL,
  `registration_date` datetime DEFAULT NULL,
  `tuition_paid` tinyint(1) NOT NULL DEFAULT 0,
  `year_of_registration` varchar(25) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `rfid_tag` varchar(100) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `students`
--

INSERT INTO `students` (`id`, `school_id`, `firstname`, `lastname`, `dob`, `age`, `gender`, `registration_grade`, `medical_conditions`, `allergies`, `photo_consent`, `parent_id`, `registration_date`, `tuition_paid`, `year_of_registration`, `school_year`, `rfid_tag`, `semester`) VALUES
(107, '2500009', 'Doha', 'Elabidi', '2012-10-23', 12, 'Female', '6', 'None', 'None', 1, 108, '2025-05-13 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(110, '2500012', 'Ffg', 'Ff', '2007-05-16', 18, 'Male', '6', 'Autism Spectrum Disorder (ASD)', 'Fish Allergy (e.g., salmon, tuna)', 1, 110, '2025-05-14 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(111, '2500013', 'Dr', 'Fg', '2009-05-13', 16, 'Female', '2', 'Cystic Fibrosis', 'Wheat Allergy', 1, 110, '2025-05-14 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(112, '2500014', 'Fg', 'Ff', '2016-05-13', 9, 'Male', '5', 'Heart Conditions', 'Dyes or Additives in Foods or Medications', 1, 110, '2025-05-14 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(114, '2500015', 'F', 'Vh', '2013-02-13', 12, 'male', '6', 'Cerebral Palsy', 'Soy Allergy', 1, 111, '2025-05-14 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(115, '2500011', 'Sd', 'Yjyj', '2013-05-13', 437, 'male', '2', 'Autism Spectrum Disorder (ASD)', 'Soy Allergy', 1, 111, '2025-05-14 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(116, '2500010', 'Hy', 'Gg', '2015-05-13', 89, 'female', '2', 'Cerebral Palsy', 'Soy Allergy', 1, 111, '2025-05-14 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(117, '2500016', 'Rr', 'Fr', '1577-05-13', 448, 'male', '8', 'Heart Conditions', 'Pollen (Hay Fever)', 1, 111, '2025-05-14 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(118, '2500017', 'Imran', 'Elmerzouki', '2015-01-17', 10, 'Male', '4', 'None', 'None', 0, 114, '2025-05-18 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(119, '2500018', 'Test', 'Elabidi', '1938-01-01', 87, 'Male', '3', 'Asthma', 'Peanut Allergy', 1, 114, '2025-05-18 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(120, '2500019', 'Harwood', 'Egan', '2013-12-31', 11, 'Female', '8', 'Physical Disabilities', 'Insect Allergy (e.g., bees, wasps, ants)', 0, 115, '2025-05-20 00:00:00', 0, '2025', '2024/2025', NULL, NULL),
(123, '2500022', 'Rania', 'Rahman', '2020-04-24', 5, 'Female', 'K', 'None', 'None', 1, 119, '2025-06-28 00:00:00', 0, '2025', '2024-2025', NULL, NULL);

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

--
-- Table structure for table `student_class`
--

CREATE TABLE `student_class` (
  `id` int(11) UNSIGNED NOT NULL,
  `student_id` int(11) NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(25) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `student_class`
--

INSERT INTO `student_class` (`id`, `student_id`, `class_section_id`, `semester`, `school_year`, `description`, `created_at`, `updated_at`, `updated_by`) VALUES
(1, 123, 11, 'Fall', '2024-2025', NULL, '2025-06-28 21:54:41', '2025-06-28 21:54:41', 1);

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

--
-- Table structure for table `support_requests`
--

CREATE TABLE `support_requests` (
  `id` int(11) UNSIGNED NOT NULL,
  `user_id` int(11) NOT NULL,
  `subject` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `status` varchar(25) NOT NULL DEFAULT 'open',
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

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

--
-- Table structure for table `teacher_class`
--

CREATE TABLE `teacher_class` (
  `id` int(11) UNSIGNED NOT NULL,
  `class_section_id` int(11) DEFAULT NULL,
  `teacher_id` int(11) DEFAULT NULL,
  `first_ta_id` int(11) DEFAULT NULL,
  `second_ta_id` int(11) DEFAULT NULL,
  `semester` varchar(25) NOT NULL,
  `school_year` varchar(25) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `teacher_class`
--

INSERT INTO `teacher_class` (`id`, `class_section_id`, `teacher_id`, `first_ta_id`, `second_ta_id`, `semester`, `school_year`, `description`, `created_at`, `updated_at`, `updated_by`) VALUES
(1, 11, 109, NULL, NULL, 'Fall', '2024-2025', NULL, '2025-06-28 21:54:24', '2025-06-28 21:54:24', 1);

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

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` int(11) UNSIGNED NOT NULL,
  `school_id` int(11) UNSIGNED DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `lastname` varchar(255) NOT NULL,
  `firstname` varchar(255) NOT NULL,
  `gender` enum('Male','Female') DEFAULT NULL,
  `cellphone` varchar(25) NOT NULL,
  `email` varchar(255) NOT NULL,
  `address_street` varchar(255) NOT NULL,
  `apt` varchar(25) DEFAULT NULL,
  `city` varchar(255) NOT NULL,
  `state` varchar(25) NOT NULL,
  `zip` varchar(25) NOT NULL,
  `accept_school_policy` tinyint(1) NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `token` varchar(255) DEFAULT NULL,
  `is_verified` tinyint(1) NOT NULL DEFAULT 0,
  `account_id` varchar(255) DEFAULT NULL,
  `status` varchar(10) NOT NULL DEFAULT 'Inactive',
  `user_type` enum('primary','secondary','tertiary') DEFAULT 'primary',
  `semester` varchar(255) NOT NULL,
  `school_year` varchar(9) DEFAULT NULL,
  `rfid_tag` varchar(100) DEFAULT NULL,
  `failed_attempts` int(11) DEFAULT 0,
  `last_failed_at` datetime DEFAULT NULL,
  `is_suspended` tinyint(1) NOT NULL DEFAULT 0
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `school_id`, `password`, `lastname`, `firstname`, `gender`, `cellphone`, `email`, `address_street`, `apt`, `city`, `state`, `zip`, `accept_school_policy`, `created_at`, `updated_at`, `token`, `is_verified`, `account_id`, `status`, `user_type`, `semester`, `school_year`, `rfid_tag`, `failed_attempts`, `last_failed_at`, `is_suspended`) VALUES
(1, 2500001, 'sha256$100000$c754c0c1d5926b6961c8d1eb3e5453b0$b1da71cea3e52b1669f15434136242e3a73019174a503d5fe1744ea57c1a0d4f65b566c198fd9389b4c6f6b702597644e2509f921df36083b058bed92493c583', 'AdminLastName', 'AdminFirstName', 'Male', '0001234569', 'administrator@gmail.com', '2 bfbg', '', 'lowell', 'ma', '0000', 1, '2024-08-02 00:24:41', '2025-07-04 06:33:30', NULL, 1, 'ACC00000066', 'Active', 'primary', '', '2024-2025', '000000001', 0, NULL, 0),
(109, 2500002, 'sha256$100000$09beb0cfd26f321135ee1f7db3550851$879e93f04235de6502cc476c6184aee0937fe5d632aa9ea6a30b32c74483d51499aa436064adc7f7180d49b24ba309f51fe6a12666f3a5fc3faf08cbe931d093', 'school', 'alrahma', 'Female', '(123)-456-7890', 'alrahma.isgl@gmail.com', '5 courthouse', '', 'Checlmsford', 'MA', '01824', 1, '2025-05-13 22:43:03', '2025-07-04 06:33:01', NULL, 1, 'ACC00000109', 'Active', 'primary', '', '2024-2025', NULL, 0, NULL, 0),
(108, 2500003, 'sha256$100000$51373caaf8c1fc2f86f195c5203ae3c7$47e7eb5e74e1ae8a654393ca5d97e9f1e0af3494ae6daf932d8f0ae45a685da745f44a05496f00b2c2ce2f443ecd20c24fad4e2869a8f63330126d9dc72e1b65', 'elabidi', 'moulay', 'Male', '(617)-309-6743', 'moulay.elabidi@gmail.com', '90 swan st', '', 'lowell', 'MA', '01852', 1, '2025-05-13 22:22:11', '2025-05-13 22:22:38', NULL, 1, 'ACC00000108', 'Active', 'primary', '', '2024-2025', NULL, 0, NULL, 0),
(110, 2500004, 'sha256$100000$14b097396501bd9dc009ccdbd7d40013$42e930820ad62eeb043d6300053aa5ce77dee86c1c63253daad41dbf3d225699cb3a2181c233f7770e85b9b09b9fa0fd4b2c869aab8afa0dc09cd9818caa2a51', 'Elma', 'Imran', 'Male', '(617)-309-6743', 'badrimranelma@gmail.com', '90swan st', '201', 'Lowell', 'OK', '01852', 1, '2025-05-14 00:50:25', '2025-05-14 00:52:49', NULL, 1, 'ACC00000110', 'Active', 'primary', '', '2024-2025', NULL, 0, NULL, 0),
(111, 2500005, 'sha256$100000$d04af3943fc88aa51311bb6c3fd15245$6981676908173ba86ddb06efc190bb37beff5bc63bdbc5b8beda4466ab6e888a4de831c2933219a8572453ec88330e71c8e731bec2bd16d65c42b123f2eae50b', 'Cj', 'Jj', 'Male', '(617)-309-6743', 'jesscharles504@gmail.com', '90swan st', '201', 'Lowell', 'MA', '01852', 1, '2025-05-14 01:36:06', '2025-05-18 14:43:18', NULL, 1, 'ACC00000111', 'Active', 'primary', '', '2024-2025', NULL, 0, NULL, 0),
(118, 2500020, 'sha256$100000$2f93a6c0fbb43725c8e1727808cf70f1$a3d10cd418ef82322f8f5d087941daf078b38a69b6d3c5209a04987cc8ceb4977c6e01456b667c089d73d689d211bd1497889f910280ea6d534691caedbbb6bc', 'Koukou', 'Abdessamad ', 'Male', '(617)-953-7463', 'kousami@gmail.com', '797 Varnum Ave', '', 'Lowell', 'MA', '01854', 1, '2025-06-28 04:42:00', '2025-06-28 04:43:44', NULL, 1, 'ACC00000118', 'Active', 'primary', 'Fall', '2024-2025', NULL, 0, NULL, 0),
(114, 2500007, 'sha256$100000$35bf3b6177d4b43c7703fe76a29f0893$de5d2a25629e018d3276d8d5148a03dc1e2bd47c7870bbec505f20748f02fb9d94c1db79a3041776adc6cd2ae0011876f58027422ee1cfed566d88e8c2a7a362', 'Elabidi', 'Moulay', 'Male', '(617)-309-6743', 'larbi.elabidi@gmail.com', '90 swan st', 'WE3', 'Lowell', 'MA', '01852', 1, '2025-05-18 03:44:46', '2025-05-24 03:36:51', NULL, 1, 'ACC00000114', 'Active', 'primary', '', '2024-2025', NULL, 1, '2025-05-24 03:36:51', 0),
(115, 2500008, 'sha256$100000$924f4d507059284b682a48d766a61c53$5c77369cfaf3a4f4fd17ce7232b1acd66630325429f422c18c93caca812727206c71de1856e9de69ba699b8c5dfedab3377ac62e2f6ab5b93cd7a8364fc6d8e6', 'Imran', 'Doah', 'Male', '(876)-892-7893', 'doahimran@gmail.com', '90 swan st ', '201', 'Lowell', 'MA', '09239', 1, '2025-05-20 00:32:21', '2025-05-20 01:20:30', NULL, 1, 'ACC00000115', 'Active', 'primary', '', '2024-2025', NULL, 0, NULL, 0),
(119, 2500021, 'sha256$100000$33d29031bd16abb00908e692c0111184$8cca909f724da0cdd1a22a9e893b0dd475b6755807b426562b1fe9234b5ba32f311b296f4ffa2b98cbbc2a70fc20764874feb374910a80feaecd55eab992a44f', 'Rahman', 'Ebad', 'Male', '(603)-860-2854', 'rahmanek@gmail.com', '74 Park St', '1', 'Woburn', 'MA', '01801', 1, '2025-06-28 21:46:13', '2025-06-28 21:47:33', NULL, 1, 'ACC00000119', 'Active', 'primary', 'Fall', '2024-2025', NULL, 0, NULL, 0);

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

--
-- Table structure for table `user_notifications`
--

CREATE TABLE `user_notifications` (
  `id` int(11) UNSIGNED NOT NULL,
  `notification_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `is_read` tinyint(1) DEFAULT 0,
  `delivered` tinyint(1) DEFAULT 0,
  `delivered_at` datetime DEFAULT NULL,
  `school_year` varchar(20) DEFAULT NULL,
  `semester` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `user_notifications`
--

INSERT INTO `user_notifications` (`id`, `notification_id`, `user_id`, `is_read`, `delivered`, `delivered_at`, `school_year`, `semester`) VALUES
(1, 1, 119, 0, 0, NULL, NULL, NULL);

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

--
-- Table structure for table `user_preferences`
--

CREATE TABLE `user_preferences` (
  `id` int(11) UNSIGNED NOT NULL,
  `user_id` int(11) NOT NULL,
  `notification_email` tinyint(1) DEFAULT 1,
  `notification_sms` tinyint(1) DEFAULT 1,
  `theme` varchar(50) DEFAULT 'light',
  `language` varchar(50) DEFAULT 'en',
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Table structure for table `user_roles`
--

CREATE TABLE `user_roles` (
  `id` int(11) UNSIGNED NOT NULL,
  `user_id` int(11) UNSIGNED NOT NULL,
  `role_id` int(11) UNSIGNED NOT NULL,
  `created_at` datetime DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `deleted_at` datetime DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `user_roles`
--

INSERT INTO `user_roles` (`id`, `user_id`, `role_id`, `created_at`, `updated_at`, `deleted_at`, `updated_by`) VALUES
(67, 119, 8, '2025-07-04 06:49:24', '2025-07-04 06:49:24', NULL, 1),
(64, 108, 7, '2025-07-04 06:49:02', '2025-07-04 06:49:02', NULL, 1),
(57, 109, 7, '2025-07-04 06:35:08', '2025-07-04 06:35:08', NULL, 1),
(39, 110, 7, '2025-05-14 00:50:25', '2025-05-14 00:59:46', NULL, 1),
(40, 111, 7, '2025-05-14 01:36:06', '2025-05-14 01:36:06', NULL, NULL),
(66, 119, 7, '2025-07-04 06:49:24', '2025-07-04 06:49:24', NULL, 1),
(43, 114, 7, '2025-05-18 03:44:46', '2025-05-18 03:44:46', NULL, NULL),
(44, 115, 7, '2025-05-20 00:32:21', '2025-05-20 00:32:21', NULL, NULL),
(47, 118, 7, '2025-06-28 04:42:00', '2025-06-28 04:42:00', NULL, NULL),
(56, 109, 4, '2025-07-04 06:35:08', '2025-07-04 06:35:08', NULL, 1),
(63, 1, 7, '2025-07-04 06:48:37', '2025-07-04 06:48:37', NULL, 1),
(62, 1, 1, '2025-07-04 06:48:37', '2025-07-04 06:48:37', NULL, 1),
(65, 108, 10, '2025-07-04 06:49:02', '2025-07-04 06:49:02', NULL, 1);

--
-- Indexes for dumped tables
--

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--
-- Indexes for table `staff`
--
ALTER TABLE `staff`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `email` (`email`),
  ADD UNIQUE KEY `user_id` (`user_id`);

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

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

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

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

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

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

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

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

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `attendance_data`
--
ALTER TABLE `attendance_data`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `attendance_record`
--
ALTER TABLE `attendance_record`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `authorized_users`
--
ALTER TABLE `authorized_users`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `calendar_events`
--
ALTER TABLE `calendar_events`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `chapters`
--
ALTER TABLE `chapters`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `classes`
--
ALTER TABLE `classes`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT for table `class_section`
--
ALTER TABLE `class_section`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=49;

--
-- AUTO_INCREMENT for table `configuration`
--
ALTER TABLE `configuration`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=23;

--
-- AUTO_INCREMENT for table `contactus`
--
ALTER TABLE `contactus`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `current_flag`
--
ALTER TABLE `current_flag`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `discount_usages`
--
ALTER TABLE `discount_usages`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `discount_vouchers`
--
ALTER TABLE `discount_vouchers`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `emergency_contacts`
--
ALTER TABLE `emergency_contacts`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=32;

--
-- AUTO_INCREMENT for table `enrollments`
--
ALTER TABLE `enrollments`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=53;

--
-- AUTO_INCREMENT for table `events`
--
ALTER TABLE `events`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `event_charges`
--
ALTER TABLE `event_charges`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `exams`
--
ALTER TABLE `exams`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `final_exam`
--
ALTER TABLE `final_exam`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `flag`
--
ALTER TABLE `flag`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `homework`
--
ALTER TABLE `homework`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `invoices`
--
ALTER TABLE `invoices`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `invoice_event`
--
ALTER TABLE `invoice_event`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `invoice_students_list`
--
ALTER TABLE `invoice_students_list`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `ip_attempts`
--
ALTER TABLE `ip_attempts`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT for table `login_activity`
--
ALTER TABLE `login_activity`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT for table `manual_payments`
--
ALTER TABLE `manual_payments`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `messages`
--
ALTER TABLE `messages`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `midterm_exam`
--
ALTER TABLE `midterm_exam`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `notification_recipients`
--
ALTER TABLE `notification_recipients`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `password_resets`
--
ALTER TABLE `password_resets`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `payment_error`
--
ALTER TABLE `payment_error`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `payment_transactions`
--
ALTER TABLE `payment_transactions`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `paypal_transactions`
--
ALTER TABLE `paypal_transactions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `permissions`
--
ALTER TABLE `permissions`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=328;

--
-- AUTO_INCREMENT for table `preferences`
--
ALTER TABLE `preferences`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `project`
--
ALTER TABLE `project`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `quiz`
--
ALTER TABLE `quiz`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `reimbursements`
--
ALTER TABLE `reimbursements`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `roles`
--
ALTER TABLE `roles`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT for table `role_permissions`
--
ALTER TABLE `role_permissions`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=686;

--
-- AUTO_INCREMENT for table `scan_log`
--
ALTER TABLE `scan_log`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `score_comments`
--
ALTER TABLE `score_comments`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `sections`
--
ALTER TABLE `sections`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

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

--
-- AUTO_INCREMENT for table `settings`
--
ALTER TABLE `settings`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `students`
--
ALTER TABLE `students`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=124;

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

--
-- AUTO_INCREMENT for table `support_requests`
--
ALTER TABLE `support_requests`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=120;

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

--
-- AUTO_INCREMENT for table `user_preferences`
--
ALTER TABLE `user_preferences`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `user_roles`
--
ALTER TABLE `user_roles`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=68;
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 */;
