use crate::enums::parental_responsibility::ParentalResponsibility;
use chrono::NaiveDate;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct OfficeForm {
pub school: Uuid,
pub registration_number: Option<String>,
pub enrolment_date: Option<NaiveDate>,
pub roll_class: Option<Uuid>,
pub current_year: Option<i32>,
pub house_group: Option<String>,
pub home_care: bool,
pub care_provider_name: String,
pub student_identity: bool,
pub evidence_supplied: bool,
pub in_area: bool,
pub passport_number: i64,
pub issue_country: String,
pub current_visa_subclass: Option<i32>,
pub previous_visa_subclasses: Vec<i32>,
pub authority_code: Option<i64>,
pub medical_plans_copied: bool,
pub personal_plan_copied: bool,
pub air_immunisation_history_copied: bool,
pub immunisation_status: Option<bool>,
pub court_order_copied: bool,
pub parent_not_living_with_student: Option<ParentalResponsibility>,
pub participation_letter_returned: bool,
pub interview_conducted: bool,
pub student_history_assessed: bool,
pub risk_assessment_required: bool,
pub risk_assessment_conducted: Option<bool>,
pub personalised_learning_required: bool,
pub parents_consultation_conducted: bool,
pub planning_completed: bool,
pub violence_management_plan: bool,
pub other_management_plan: bool,
pub health_care_plan: bool,
pub emergency_response_plan: bool,
pub relevant_staff_communication: bool,
pub appication_to_enrol: bool,
pub principal_signature: String,
pub principal_print_name: String,
pub principal_date: NaiveDate,
}