{
  "type": "object",
  "properties": {
    "language_code": {
      "type": "string",
      "description": ""
    },
    "consultant": {
      "type": "object",
      "description": "",
      "properties": {
        "phone": {
          "type": "string",
          "description": ""
        },
        "contact_email": {
          "type": "string",
          "description": "Contact e-mail of the consultant. Used to detect duplicated consultants when 'Avoid duplicated consultants' is enabled in the company settings."
        },
        "country": {
          "type": "string",
          "description": ""
        },
        "city": {
          "type": "string",
          "description": ""
        },
        "country_birth": {
          "type": "string",
          "description": ""
        },
        "contract_type": {
          "type": "string",
          "description": ""
        },
        "company_name": {
          "type": "string",
          "description": ""
        },
        "gender": {
          "type": "string",
          "description": ""
        },
        "driving_license": {
          "type": "string",
          "description": ""
        },
        "github": {
          "type": "string",
          "description": ""
        },
        "linkedin": {
          "type": "string",
          "description": ""
        },
        "website": {
          "type": "string",
          "description": ""
        },
        "birthdate": {
          "type": ["string", "null"],
          "description": ""
        },
        "recruitment_date": {
          "type": "string",
          "description": ""
        },
        "id": {
          "type": ["number", "null"],
          "description": ""
        },
        "company": {
          "type": "string",
          "description": ""
        }
      },
      "required": ["country", "country_birth", "gender", "driving_license"]
    },
    "about": {
      "type": "string",
      "description": ""
    },
    "cv_summary": {
      "type": "string",
      "description": ""
    },
    "hobbies": {
      "type": "string",
      "description": ""
    },
    "organisational_skills": {
      "type": "string",
      "description": ""
    },
    "relevant_accomplishments": {
      "type": "string",
      "description": ""
    },
    "social_skills": {
      "type": "string",
      "description": ""
    },
    "technical_skills": {
      "type": "string",
      "description": ""
    },
    "educations": {
      "type": "array",
      "description": "",
      "items": {
        "type": "object",
        "properties": {
          "degree": {
            "type": ["string", "null"],
            "description": ""
          },
          "degree_years": {
            "type": "number",
            "description": ""
          },
          "course_name": {
            "type": "string",
            "description": ""
          },
          "course_institution": {
            "type": "string",
            "description": ""
          },
          "is_going": {
            "type": "boolean",
            "description": ""
          },
          "final_grade": {
            "type": ["string", "null"],
            "description": ""
          },
          "course_description": {
            "type": "string",
            "description": ""
          },
          "course_start_date": {
            "type": ["string", "null"],
            "description": ""
          },
          "course_end_date": {
            "type": ["string", "null"],
            "description": ""
          }
        },
        "required": ["degree", "course_name", "course_institution", "course_start_date"]
      }
    },
    "languages": {
      "type": "array",
      "description": "",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": ""
          },
          "written": {
            "type": "number",
            "description": ""
          },
          "spoken": {
            "type": "number",
            "description": ""
          },
          "understanding": {
            "type": "number",
            "description": ""
          }
        },
        "required": [ "name"]
      }
    },
    "trainings": {
      "type": "array",
      "description": "",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": ""
          },
          "kind": {
            "type": "string",
            "description": ""
          },
          "company": {
            "type": "string",
            "description": ""
          },
          "exam_or_certification": {
            "type": "string",
            "description": ""
          },
          "single_day": {
            "type": "boolean"
          },
          "final_grade": {
            "type": ["string", "null"],
            "description": ""
          },
          "credential_id": {
            "type": ["string", "null"],
            "description": ""
          },
          "start_date": {
            "type": ["string", "null"],
            "description": ""
          },
          "end_date": {
            "type": ["string", "null"],
            "description": ""
          },
          "expiration_date": {
            "type": ["string", "null"],
            "description": ""
          }
          ,
          "is_default_date": {
            "type": ["boolean", "null"],
            "description": ""
          }
        },
        "required": [
          "name",
          "kind",
          "company",
          "exam_or_certification",
          "start_date"
        ]
      }
    },
    "projects": {
      "type": "array",
      "description": "",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": ""
          },
          "company": {
            "type": "string",
            "description": ""
          },
          "client": {
            "type": "string",
            "description": ""
          },
          "client_department": {
            "type": "string",
            "description": ""
          },
          "country": {
            "type": "string",
            "description": ""
          },
          "ec_intramuros": {
            "type": "boolean",
            "description": ""
          },
          "achievements": {
            "type": "string",
            "description": ""
          },
          "team_size": {
            "type": "number",
            "description": ""
          },
          "description": {
            "type": "string",
            "description": ""
          },
          "is_going": {
            "type": "boolean",
            "description": ""
          },
          "roles_description": {
            "type": "string",
            "description": ""
          },
          "contract_type": {
            "type": "string",
            "description": ""
          },
          "type_of_contract": {
            "type": "string",
            "description": ""
          },
          "project_type": {
            "type": "string",
            "description": ""
          },
          "job_title": {
            "type": "string",
            "description": ""
          },
          "city": {
            "type": "string",
            "description": ""
          },
          "start_date": {
            "type": "string",
            "description": ""
          },
          "end_date": {
            "type": ["string", "null"],
            "description": "Null if the project is still ongoing"
          },
          "client_experience": {
            "type": "number",
            "description": ""
          },
          "roles": {
            "type": "array",
            "description": "",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": ""
                }
              },
              "required": [ "name"]
            }
          },
          "technologies": {
            "type": "array",
            "description": "",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": ""
                }
              },
              "required": [ "name"]
            }
          }
        },
        "required": ["name", "company", "start_date", "contract_type", "roles", "technologies"]
      }
    },
    "standalone_skills": {
      "type": "array",
      "description": "Skills not tied to any specific project",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Technology/skill name"
          },
          "group": {
            "type": "string",
            "description": "Technology group"
          }
        },
        "required": ["name"]
      }
    }
  },
  "required": ["consultant", "educations", "languages", "trainings", "projects"]
}
