{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ModifyCallQueueCallPolicyObject",
  "title": "ModifyCallQueueCallPolicyObject",
  "type": "object",
  "required": [
    "routingType"
  ],
  "properties": {
    "routingType": {
      "$ref": "#/components/schemas/HuntRoutingTypeSelection",
      "description": "Call routing type to use to dispatch calls to agents."
    },
    "policy": {
      "$ref": "#/components/schemas/HuntPolicySelection",
      "description": "Call routing policy to use to dispatch calls to agents."
    },
    "callBounce": {
      "type": "object",
      "properties": {
        "callBounceEnabled": {
          "type": "boolean",
          "example": true,
          "description": "If enabled, bounce calls after the set number of rings."
        },
        "callBounceMaxRings": {
          "type": "number",
          "example": 5,
          "description": "Number of rings after which to bounce call, if call bounce is enabled."
        },
        "agentUnavailableEnabled": {
          "type": "boolean",
          "example": true,
          "description": "Bounce if agent becomes unavailable."
        },
        "alertAgentEnabled": {
          "type": "boolean",
          "example": true,
          "description": "Alert agent if call on hold more than `alertAgentMaxSeconds`."
        },
        "alertAgentMaxSeconds": {
          "type": "number",
          "example": 20,
          "description": "Number of second after which to alert agent if `alertAgentEnabled.`"
        },
        "callBounceOnHoldEnabled": {
          "type": "boolean",
          "example": true,
          "description": "Bounce if call on hold more than `callBounceMaxSeconds`."
        },
        "callBounceOnHoldMaxSeconds": {
          "type": "number",
          "example": 20,
          "description": "Number of second after which to bounce if `callBounceEnabled`."
        }
      },
      "description": "Settings for when the call is not answered."
    },
    "distinctiveRing": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean",
          "example": true,
          "description": "Whether or not the `distinctiveRing` is enabled."
        },
        "ringPattern": {
          "$ref": "#/components/schemas/RingPatternObject",
          "description": "Ring pattern for when this call queue is called. Only available when `distinctiveRing` is enabled for the call queue."
        }
      },
      "description": "Whether or not the call queue has the `distinctiveRing` option enabled."
    }
  }
}