{
  "title": "Worker",
  "description": "Personal data of a worker",
  "type": "object",
  "properties": {
    "Name": {
      "type": "string",
      "minLength": 0,
      "maxLength": 40
    },
    "Firstname": {
      "type": "string",
      "minLength": 0,
      "maxLength": 25
    },
    "Initial": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1
    },
    "INSS": {
      "type": "number",
      "minimum": 0.0,
      "maximum": 99999999999.0
    },
    "Sex": {
      "type": "string",
      "enum": [
        "M",
        "F"
      ]
    },
    "Birthdate": {
      "type": "string",
      "minLength": 8,
      "maxLength": 8,
      "pattern": "^[0-9]*$"
    },
    "BirthplaceZIPCode": {
      "type": "string",
      "minLength": 0,
      "maxLength": 12
    },
    "Birthplace": {
      "type": "string",
      "minLength": 0,
      "maxLength": 30
    },
    "BirthplaceCountry": {
      "type": "string",
      "default": "00150",
      "minLength": 5,
      "maxLength": 5,
      "pattern": "^[0-9]*$"
    },
    "Nationality": {
      "type": "string",
      "default": "00150",
      "minLength": 5,
      "maxLength": 5,
      "pattern": "^[0-9]*$"
    },
    "Language": {
      "type": "string",
      "enum": [
        "N",
        "F",
        "D",
        "E"
      ]
    },
    "PayWay": {
      "type": "string",
      "enum": [
        "Cash",
        "Transfer",
        "Electronic",
        "AssignmentList"
      ]
    },
    "BankAccount": {
      "type": "string",
      "minLength": 0,
      "maxLength": 45
    },
    "BICCode": {
      "type": "string",
      "minLength": 0,
      "maxLength": 15
    },
    "ID": {
      "type": "string",
      "minLength": 0,
      "maxLength": 15
    },
    "IDType": {
      "type": "string",
      "minLength": 0,
      "maxLength": 3
    },
    "IDValidUntil": {
      "type": "string",
      "minLength": 8,
      "maxLength": 8,
      "pattern": "^[0-9]*$"
    },
    "DriverLicense": {
      "type": "string",
      "minLength": 0,
      "maxLength": 15
    },
    "DriverCategory": {
      "type": "string",
      "minLength": 0,
      "maxLength": 2
    },
    "NumberPlate": {
      "type": "string",
      "minLength": 0,
      "maxLength": 10
    },
    "FuelCard": {
      "type": "string",
      "minLength": 0,
      "maxLength": 20
    },
    "Education": {
      "type": "string",
      "enum": [
        "Basic",
        "LowerSecondary",
        "HigherSecondary",
        "NotUniversity",
        "University",
        "Secondary1Degree",
        "Secondary2Degree",
        "Secondary3Degree",
        "Unknown"
      ]
    },
    "Profession": {
      "type": "string",
      "minLength": 0,
      "maxLength": 50
    },
    "EHealthInsurance": {
      "type": "integer",
      "minimum": 0.0,
      "maximum": 9999.0
    },
    "EHealthInsuranceReference": {
      "type": "string",
      "minLength": 0,
      "maxLength": 20
    },
    "AccidentInsurance": {
      "type": "integer",
      "minimum": 0.0,
      "maximum": 9999.0
    },
    "MedicalCenter": {
      "type": "integer",
      "minimum": 0.0,
      "maximum": 9999.0
    },
    "MedicalCenterReference": {
      "type": "string",
      "minLength": 0,
      "maxLength": 15
    },
    "ExternalID": {
      "type": "string",
      "minLength": 0,
      "maxLength": 50
    },
    "InterimFrom": {
      "type": "string",
      "minLength": 8,
      "maxLength": 8,
      "pattern": "^[0-9]*$"
    },
    "InterimTo": {
      "type": "string",
      "minLength": 8,
      "maxLength": 8,
      "pattern": "^[0-9]*$"
    },
    "TravelExpenses": {
      "type": "string",
      "enum": [
        "PublicTransportTrain",
        "OwnTransport",
        "PublicTransportOther",
		"Bicycle",  
        "None"
      ]
    },
    "SalaryCodeTravelExpenses": {
      "type": "integer",
      "minimum": 1.0,
      "maximum": 9999.0
    }
  },
  "required": [
    "Name",
    "Firstname"
  ]
}