use crate::enums::aboriginality_type::AboriginalityType;
use crate::enums::occupation_type::OccupationType;
use crate::enums::qualification_type::QualificationType;
use crate::enums::schooling_type::SchoolingType;
use chrono::NaiveDateTime;
use common::utils::serialize_option_naive_date;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct ParentForm {
pub lives: bool,
pub title: String,
pub gender: String,
pub relationship: String,
pub family_name: String,
pub given_name: String,
#[serde(default)]
#[serde(with = "serialize_option_naive_date")]
pub birth_date: Option<NaiveDateTime>,
pub country_of_birth: String,
pub aboriginality: AboriginalityType,
pub occupation_group: OccupationType,
pub occupation: Option<String>,
pub schooling_type: SchoolingType,
pub qualification: QualificationType,
pub other_languages: bool,
pub other_main_lang: Option<String>,
pub other_langs: Option<String>,
pub interviews: bool,
pub address: String,
pub address_to_enrol: bool,
pub correspondence_address: Option<String>,
pub name: String,
pub mobile_phone: Option<String>,
pub comments_mobile: Option<String>,
pub home_phone: Option<String>,
pub comments_home: Option<String>,
pub work_phone: Option<String>,
pub comments_work: Option<String>,
pub email: String,
pub key: i32,
}