{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chatinbox-net/json-schema/chatinbox-net-customerv3-vm-schema.json",
  "title": "Customerv3VM",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chatinbox-net-customer-api-openapi.yml#/components/schemas/Customerv3VM",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int32"
    },
    "name": {
      "type": [
        "string",
        "null"
      ]
    },
    "dataListID": {
      "type": "integer",
      "format": "int32"
    },
    "pushName": {
      "type": [
        "string",
        "null"
      ]
    },
    "note": {
      "type": [
        "string",
        "null"
      ]
    },
    "features": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/FeatureVM"
      }
    },
    "phoneNumber": {
      "type": [
        "string",
        "null"
      ]
    },
    "phoneNumbers": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "phoneNumberEnc": {
      "type": [
        "string",
        "null"
      ]
    },
    "phoneNumbersEnc": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "email": {
      "type": [
        "string",
        "null"
      ]
    },
    "chatID": {
      "type": "integer",
      "format": "int32"
    },
    "cf1": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf2": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf3": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf4": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf5": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf6": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf7": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf8": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf9": {
      "type": [
        "string",
        "null"
      ]
    },
    "cf10": {
      "type": [
        "string",
        "null"
      ]
    },
    "callMeLaters": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/CallMeLaterVM"
      }
    },
    "notCompletedCallMeLaters": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/CallMeLaterVM"
      }
    },
    "isCompletedCallMeLaters": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/CallMeLaterVM"
      }
    },
    "customerAccountID": {
      "type": [
        "string",
        "null"
      ]
    },
    "notes": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/NoteVM"
      }
    },
    "chats": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/CustomerChatVM"
      }
    },
    "selections": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/CustomerSelectedFeatureVM"
      }
    },
    "textValues": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/CustomerTextValueVM"
      }
    }
  },
  "additionalProperties": false,
  "$defs": {
    "CallMeLaterVM": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32"
        },
        "customerID": {
          "type": "integer",
          "format": "int32"
        },
        "chatID": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "callReasonID": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "callReasonName": {
          "type": [
            "string",
            "null"
          ]
        },
        "note": {
          "type": [
            "string",
            "null"
          ]
        },
        "relatedUserID": {
          "type": "integer",
          "format": "int32"
        },
        "relatedUserName": {
          "type": [
            "string",
            "null"
          ]
        },
        "relatedUserFullName": {
          "type": [
            "string",
            "null"
          ]
        },
        "relatedTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "workGroupID": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "isCompleted": {
          "type": "boolean"
        },
        "completedUserID": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "completedUserName": {
          "type": [
            "string",
            "null"
          ]
        },
        "completedUserFullName": {
          "type": [
            "string",
            "null"
          ]
        },
        "completedTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "createDate": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "customerFullName": {
          "type": [
            "string",
            "null"
          ]
        },
        "callReason": {
          "$ref": "#/$defs/CallReasonVM"
        },
        "allCallReasons": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/$defs/CallReasonVM"
          }
        }
      },
      "additionalProperties": false
    },
    "CallReasonVM": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "CustomerChatVM": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32"
        },
        "channelID": {
          "type": "integer",
          "format": "int32"
        },
        "customerPhoneNumber": {
          "type": [
            "string",
            "null"
          ]
        },
        "customerPhoneNumberEnc": {
          "type": [
            "string",
            "null"
          ]
        },
        "customerAccountID": {
          "type": [
            "string",
            "null"
          ]
        },
        "instanceType": {
          "type": "integer",
          "format": "int32"
        },
        "ownerUserID": {
          "type": "integer",
          "format": "int32"
        },
        "visible": {
          "type": "boolean"
        },
        "manageable": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "CustomerSelectedFeatureVM": {
      "type": "object",
      "properties": {
        "featureID": {
          "type": "integer",
          "format": "int32"
        },
        "featureName": {
          "type": [
            "string",
            "null"
          ]
        },
        "rgbCode": {
          "type": [
            "string",
            "null"
          ]
        },
        "featureGroupID": {
          "type": "integer",
          "format": "int32"
        },
        "featureGroupName": {
          "type": [
            "string",
            "null"
          ]
        },
        "flagMinutes": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "minutesSinceSelected": {
          "type": "integer",
          "format": "int32"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32"
        }
      },
      "additionalProperties": false
    },
    "CustomerTextValueVM": {
      "type": "object",
      "properties": {
        "featureGroupID": {
          "type": "integer",
          "format": "int32"
        },
        "featureGroupName": {
          "type": [
            "string",
            "null"
          ]
        },
        "textValue": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "FeatureVM": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "featureType": {
          "type": "integer",
          "format": "int32"
        },
        "rgbCode": {
          "type": [
            "string",
            "null"
          ]
        },
        "featureGroupID": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "dataStatus": {
          "type": "integer",
          "format": "int32"
        },
        "activeSelectionCount": {
          "type": "integer",
          "format": "int32"
        },
        "flagMinutes": {
          "type": [
            "integer",
            "null"
          ],
          "format": "int32"
        },
        "sortOrder": {
          "type": "integer",
          "format": "int32"
        }
      },
      "additionalProperties": false
    },
    "NoteVM": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32"
        },
        "chatID": {
          "type": "integer",
          "format": "int32"
        },
        "noteContent": {
          "type": [
            "string",
            "null"
          ]
        },
        "creatingUserID": {
          "type": "integer",
          "format": "int32"
        },
        "creatingUserName": {
          "type": [
            "string",
            "null"
          ]
        },
        "customerID": {
          "type": "integer",
          "format": "int32"
        },
        "createDate": {
          "type": "string",
          "format": "date-time"
        },
        "isSystemNote": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    }
  }
}