{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "Engagement",
  "title": "Engagement",
  "type": "object",
  "properties": {
    "$key": {
      "type": "string"
    },
    "answer": {
      "type": "string"
    },
    "assignmentCount": {
      "type": "number"
    },
    "declined": {
      "type": "boolean"
    },
    "isAccepted": {
      "type": "boolean"
    },
    "isApplied": {
      "type": "boolean"
    },
    "isAssigned": {
      "type": "boolean"
    },
    "isConfirmed": {
      "type": "boolean"
    },
    "isPaid": {
      "type": "boolean"
    },
    "oppKey": {
      "type": "string"
    },
    "payment": {
      "$ref": "EngagementPayment"
    },
    "depositAmount": {
      "type": "string"
    },
    "isDepositPaid": {
      "type": "boolean"
    },
    "deposit": {
      "$ref": "EngagementDeposit"
    },
    "paymentClientToken": {
      "type": "string"
    },
    "paymentError": {
      "description": "deprecated",
      "type": "boolean"
    },
    "priority": {
      "type": "boolean"
    },
    "profileKey": {
      "type": "string"
    }
  },
  "required": [
    "$key",
    "answer",
    "assignmentCount",
    "declined",
    "isAccepted",
    "isApplied",
    "isAssigned",
    "isConfirmed",
    "isPaid",
    "oppKey",
    "priority",
    "profileKey"
  ],
  "additionalProperties": false
}