{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GetVirtualLineObject",
  "title": "GetVirtualLineObject",
  "type": "object",
  "required": [
    "id",
    "firstName",
    "lastName",
    "directorySearchEnabled",
    "announcementLanguage",
    "number",
    "location"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL1ZJUlRVQUxfTElORS85Y2JmYjYxZi00ZGM0LTQ1NWItYmMzYS00NmI4YmY5YjQzNzk",
      "description": "A unique identifier for the virtual line."
    },
    "firstName": {
      "type": "string",
      "example": "Bob",
      "description": "First name defined for a virtual line. Minimum length is 1. Maximum length is 64."
    },
    "lastName": {
      "type": "string",
      "example": "Smith",
      "description": "Last name defined for a virtual line. Minimum length is 1. Maximum length is 64."
    },
    "displayName": {
      "type": "string",
      "example": "Bob Smith",
      "description": "Display name defined for a virtual line."
    },
    "directorySearchEnabled": {
      "type": "boolean",
      "example": true,
      "description": "Flag to indicate a directory search."
    },
    "announcementLanguage": {
      "type": "string",
      "example": "'French'",
      "description": "Virtual Line's announcement language."
    },
    "timeZone": {
      "type": "string",
      "example": "Africa/Algiers",
      "description": "Time zone defined for the virtual line."
    },
    "number": {
      "type": "object",
      "required": [
        "primary"
      ],
      "properties": {
        "external": {
          "type": "string",
          "example": "+15558675309",
          "description": "Phone number of a virtual line.  Either `external` or `extension` is mandatory."
        },
        "extension": {
          "type": "string",
          "example": "5309",
          "description": "Extension of a virtual line.  Either `external` or `extension` is mandatory."
        },
        "primary": {
          "type": "boolean",
          "example": true,
          "description": "Number is Primary or Alternative Number."
        }
      },
      "description": "Calling details of virtual line."
    },
    "devices": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DevicesObject"
      },
      "description": "List of devices assigned to a virtual line."
    },
    "location": {
      "type": "object",
      "required": [
        "id",
        "name",
        "address"
      ],
      "properties": {
        "id": {
          "type": "string",
          "example": "Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzMxMTYx",
          "description": "ID of location associated with virtual line."
        },
        "name": {
          "type": "string",
          "example": "Main Location Test",
          "description": "Name of location associated with virtual line."
        },
        "address": {
          "type": "object",
          "required": [
            "address1",
            "city",
            "state",
            "postalCode",
            "country"
          ],
          "properties": {
            "address1": {
              "type": "string",
              "example": "771 Alder Drive",
              "description": "Address 1 of the location."
            },
            "address2": {
              "type": "string",
              "example": "Cisco Site 5",
              "description": "Address 2 of the location."
            },
            "city": {
              "type": "string",
              "example": "Milpitas",
              "description": "City of the location."
            },
            "state": {
              "type": "string",
              "example": "CA",
              "description": "State code of the location."
            },
            "postalCode": {
              "type": "string",
              "example": "95035",
              "description": "Postal code of the location."
            },
            "country": {
              "type": "string",
              "example": "US",
              "description": "ISO-3166 2-Letter country code of the location."
            }
          },
          "description": "The address of the virtual line."
        }
      },
      "description": "Location details of virtual line."
    }
  }
}