1use crate::enums::parental_responsibility::ParentalResponsibility;
2use chrono::NaiveDate;
3use postgres_types::{FromSql, ToSql};
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6
7#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, FromSql, ToSql)]
8#[serde(rename_all = "camelCase")]
9pub struct OfficeForm {
10 pub school: Uuid,
11 pub registration_number: Option<String>,
12 pub enrolment_date: Option<NaiveDate>,
13 pub roll_class: Option<Uuid>,
14 pub current_year: Option<i32>,
15 pub house_group: Option<String>,
16 pub home_care: bool,
17 pub care_provider_name: String,
18 pub student_identity: bool,
19 pub evidence_supplied: bool,
20 pub in_area: bool,
21 pub passport_number: i64,
22 pub issue_country: String,
23 pub current_visa_subclass: Option<i32>,
24 pub previous_visa_subclasses: Vec<i32>,
25 pub authority_code: Option<i64>,
26 pub medical_plans_copied: bool,
27 pub personal_plan_copied: bool,
28 pub air_immunisation_history_copied: bool,
29 pub immunisation_status: Option<bool>,
30 pub court_order_copied: bool,
31 pub parent_not_living_with_student: Option<ParentalResponsibility>,
32 pub participation_letter_returned: bool,
33
34 pub interview_conducted: bool,
35 pub student_history_assessed: bool,
36 pub risk_assessment_required: bool,
37 pub risk_assessment_conducted: Option<bool>,
38 pub personalised_learning_required: bool,
39 pub parents_consultation_conducted: bool,
40 pub planning_completed: bool,
41 pub violence_management_plan: bool,
42 pub other_management_plan: bool,
43 pub health_care_plan: bool,
44 pub emergency_response_plan: bool,
45 pub relevant_staff_communication: bool,
46
47 pub appication_to_enrol: bool,
48 pub principal_signature: String,
49 pub principal_print_name: String,
50 pub principal_date: NaiveDate,
51}