
id : int(11)
|

student_name : varchar(200)
|

student_code : varchar(50)
|

payment_code : varchar(50)
|

gender : enum('male','female')
|

nationality : enum('egyptian','foreign')
|

city_id : int(11)
|

national_id : varchar(14)
|

faculty : varchar(100)
|

study_year : varchar(50)
|

prev_grade : varchar(50)
|

medical_result : varchar(100)
|

medical_date : date
|

housing_notice_date : date
|

religion : varchar(50)
|

student_phone : varchar(20)
|

father_name : varchar(200)
|

father_national_id : varchar(14)
|

father_phone : varchar(20)
|

father_job : varchar(100)
|

father_address : text
|

guardian_name : varchar(200)
|

guardian_national_id : varchar(14)
|

guardian_phone : varchar(20)
|

guardian_relation : varchar(50)
|

guardian_address : text
|

guardian_abroad : tinyint(1)
|

parents_status : enum('both_alive','one_dead','both_dead')
|

room_type : enum('single','double','special_needs')
|

student_type : enum('new','returning')
|

period_id : int(11)
|

meal_plan : tinyint(1)
|

activities_consent : tinyint(1)
|

overnight_consent : tinyint(1)
|

health_condition : tinyint(1)
|

health_notes : text
|

student_photo : varchar(500)
|

documents_pdf : varchar(500)
|

emergency_name : varchar(200)
|

emergency_phone : varchar(20)
|

emergency_alt_phone : varchar(20)
|

emergency_relation : varchar(50)
|

status : enum('pending','approved','rejected','waitlist','evacuated')
|

academic_year : varchar(20)
|

notes : text
|

rejection_reason : text
|

room_number : varchar(20)
|

checkin_date : date
|

checkout_date : date
|

evacuation_reason : enum('normal','administrative','other')
|

evacuation_notes : text
|

fees_amount : decimal(10,2)
|

fees_paid : decimal(10,2)
|

payment_status : enum('unpaid','partial','paid')
|

journal_entry_id : int(11)
|

receivable_id : int(11)
|

created_at : timestamp
|

updated_at : timestamp
|

created_by : int(11)
|

reviewed_by : int(11)
|

reviewed_at : timestamp
|

waitlist_priority : int(11)
|