{
  "id": "tradle.PassportVerification",
  "type": "tradle.Model",
  "title": "Passport Verification",
  "interfaces": [
    "tradle.Verifiable"
  ],
  "properties": {
    "codeOfIssuing": {
      "type": "string"
    },
    "passportNumber": {
      "type": "number",
      "maxLength": 9,
      "minLength": 9,
      "displayName": true
    },
    "surname": {
      "type": "string"
    },
    "givenName": {
      "type": "string"
    },
    "nationality": {
      "type": "string"
    },
    "dateOfBirth": {
      "type": "date"
    },
    "sex": {
      "type": "object",
      "ref": "tradle.Sex"
    },
    "placeOfBirth": {
      "type": "string"
    },
    "dateOfIssue": {
      "type": "date"
    },
    "authority": {
      "type": "string",
      "displayName": true
    },
    "dateOfExpiry": {
      "type": "date",
      "displayName": true
    },
    "time": {
      "type": "date",
      "readOnly": true
    },
    "photos": {
      "type": "array",
      "inlined": true,
      "items": {
        "ref": "tradle.Photo"
      }
    },
    "country": {
      "type": "object",
      "ref": "tradle.Country"
    },
    "verifications": {
      "type": "array",
      "readOnly": true,
      "items": {
        "backlink": "document",
        "ref": "tradle.Verification"
      }
    }
  },
  "required": [
    "photos",
    "codeOfIssuing",
    "passportNumber",
    "surname",
    "givenName",
    "nationality",
    "dateOfBirth",
    "sex",
    "placeOfBirth",
    "dateOfIssue",
    "authority",
    "dateOfExpiry"
  ],
  "gridCols": [
    "passportNumber",
    "dateOfExpiry",
    "time"
  ],
  "viewCols": [
    "codeOfIssuing",
    "passportNumber",
    "surname",
    "givenName",
    "nationality",
    "dateOfBirth",
    "sex",
    "placeOfBirth",
    "dateOfIssue",
    "authority",
    "dateOfExpiry"
  ]
}
