{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CallingPermissionObject",
  "title": "CallingPermissionObject",
  "type": "object",
  "required": [
    "callType",
    "action",
    "transferEnabled",
    "isCallTypeRestrictionEnabled"
  ],
  "properties": {
    "callType": {
      "type": "string",
      "enum": [
        "INTERNAL_CALL",
        "TOLL_FREE",
        "INTERNATIONAL",
        "OPERATOR_ASSISTED",
        "CHARGEABLE_DIRECTORY_ASSISTED",
        "SPECIAL_SERVICES_I",
        "SPECIAL_SERVICES_II",
        "PREMIUM_SERVICES_I",
        "PREMIUM_SERVICES_II",
        "NATIONAL"
      ],
      "description": "Below are the call type values.\n * `INTERNAL_CALL` - Controls calls within your own company.\n * `TOLL_FREE` - Controls calls to a telephone number that is billed for all arriving calls instead of incurring charges to the originating caller, usually free of charge from a landline.\n * `INTERNATIONAL` - Controls calls to locations outside of the Long Distance areas that require an international calling code before the number is dialed.\n * `OPERATOR_ASSISTED` - Controls calls requiring Operator Assistance.\n * `CHARGEABLE_DIRECTORY_ASSISTED` - Controls calls to Directory Assistant companies that require a charge to connect the call.\n * `SPECIAL_SERVICES_I` - Controls calls to carrier-specific number assignments to special services or destinations.\n * `SPECIAL_SERVICES_II` - Controls calls to carrier-specific number assignments to special services or destinations.\n * `PREMIUM_SERVICES_I` - Controls calls used to provide information or entertainment for a fee charged directly to the caller.\n * `PREMIUM_SERVICES_II` - Controls calls used to provide information or entertainment for a fee charged directly to the caller.\n * `NATIONAL` - Controls calls that are National.\n"
    },
    "action": {
      "type": "string",
      "enum": [
        "ALLOW",
        "BLOCK",
        "AUTH_CODE",
        "TRANSFER_NUMBER_1",
        "TRANSFER_NUMBER_2",
        "TRANSFER_NUMBER_3"
      ],
      "description": "Allows to configure settings for each call type.\n * `ALLOW` - Callers at this location can make these types of calls.\n * `BLOCK` - Callers at this location can't make these types of calls.\n * `AUTH_CODE` - Callers must enter the authorization code that you set before placing an outgoing call.\n * `TRANSFER_NUMBER_1` - Calls are transferred automatically to the configured auto transfer number `autoTransferNumber1`.\n * `TRANSFER_NUMBER_2` - Calls are transferred automatically to the configured auto transfer number. `autoTransferNumber2`.\n * `TRANSFER_NUMBER_3` - Calls are transferred automatically to the configured auto transfer number. `autoTransferNumber3`.\n"
    },
    "transferEnabled": {
      "type": "boolean",
      "example": true,
      "description": "If `true`, allows transfer and forwarding for the call type."
    },
    "isCallTypeRestrictionEnabled": {
      "type": "boolean",
      "example": true,
      "description": "Indicates if the restriction is enforced by the system for the corresponding call type and cannot be changed. For example, certain call types (such as `INTERNATIONAL`) may be permanently blocked and this field will be `true` to reflect that the restriction is system-controlled and not editable."
    }
  }
}