{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/VirtualExtensionRange",
  "title": "VirtualExtensionRange",
  "type": "object",
  "required": [
    "id",
    "prefix",
    "pattern"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "OTI0NzM1OTQtZGU1Mi00ZjViLTk0YjItN2Y5MzRmY2Y2NDk3",
      "description": "Unique identifier for virtual extension range."
    },
    "name": {
      "type": "string",
      "example": "firstName1",
      "description": "Name of the virtual extension range."
    },
    "prefix": {
      "type": "string",
      "example": "+1214555",
      "description": "Prefix that the virtual extension range is associated with (Note: Standard mode must have leading '+' in prefix; BCD/Enhanced mode can have any valid prefix)."
    },
    "pattern": {
      "type": "string",
      "example": "2XXX",
      "description": "Pattern associated with the virtual extension range."
    },
    "locationName": {
      "type": "string",
      "example": "locationName1",
      "description": "Location name if the virtual extension range is at the location level, empty if it is at the customer level."
    },
    "locationId": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA",
      "description": "Location ID if the virtual extension range is at the location level, empty if it is at customer level."
    },
    "trunkName": {
      "type": "string",
      "example": "trunkName1",
      "description": "Name of the trunk."
    },
    "trunkId": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL1RSVU5LLzA4Yjc2MmZlLWJmYWItNGFmYi04ODQ1LTNhNzJjNGQ0NjZiOQ",
      "description": "Unique identifier of the trunk."
    },
    "routeGroupName": {
      "type": "string",
      "example": "routeGroupName1",
      "description": "Name of the route group."
    },
    "routeGroupId": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL1JPVVRFX0dST1VQL2YyODkyMTc0LWYxM2YtNDhjYy1iMmJhLWQ4ZmM4Yzg4MzJhYg",
      "description": "Unique identifier of the route group."
    },
    "trunkLocationName": {
      "type": "string",
      "example": "trunkLocationName1",
      "description": "Location of the trunk; required if `trunkName` is returned."
    },
    "trunkLocationId": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzVlZmI5MTFhLThmNmUtNGU2Ny1iOTZkLWNkM2VmNmRhNDE2OA",
      "description": "Location ID of the trunk; required if `trunkName` is returned."
    }
  }
}