# Class: EditableContact

## Constructor

#### new EditableContact()

  Mutable contact object which exposes all provided contact details.
  EditableContact can be created by using either Contacts.createEditableContact() or Contacts.createEditableContactFromContact(). The second function needs a regular contact as a source of data.
  EditableContact can be used in two contact service functions: Contacts.addContact() and Contacts.updateContact().

## Methods

#### getAlias() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the alias of the contact.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getASCIIDisplayName() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the non-localized display name of the contact.

  If a contact has both localized and non-localized versions of display name specified, EditableContact.getDisplayName() returns the localized one and EditableContact.getASCIIDisplayName() returns the non-localized one.

  If a contact has only one version of display name specified, EditableContact.getDisplayName() returns the specified display name and EditableContact.getASCIIDisplayName() returns empty string.

  ##### See:

    - {AvayaClientServices.Services.Contacts.EditableContact#getDisplayName}

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getASCIIFirstName() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the non-localized first name of the contact.

  If a contact has both localized and non-localized versions of first name specified, EditableContact.getFirstName() returns the localized one and EditableContact.getASCIIFirstName() returns the non-localized one.

  If a contact has only one version of first name specified, EditableContact.getFirstName() returns the specified given name and EditableContact.getASCIIFirstName() returns empty string.

  ##### See:

    - {AvayaClientServices.Services.Contacts.EditableContact#getFirstName}

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getASCIILastName() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the non-localized surname of the contact.

  If a contact has both localized and non-localized versions of surname specified, EditableContact.getLastName() returns the localized one and EditableContact.getASCIILastName() returns the non-localized one.

  If a contact has only one version of surname specified, EditableContact.getLastName() returns the specified surname and EditableContact.getASCIILastName() returns empty string.

  ##### See:

    - {AvayaClientServices.Services.Contacts.EditableContact#getLastName}

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getCity() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the city.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getCompany() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the company.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getCountry() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the country.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getCustom1() → {AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactStringField>}

  Returns the list of Custom 1 fields.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactStringField> }

#### getCustom2() → {AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactStringField>}

  Returns the list of Custom 2 fields.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactStringField> }

#### getCustom3() → {AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactStringField>}

  Returns the list of Custom 3 fields.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactStringField> }

#### getDepartment() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the department.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getDisplayName() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns display name of the contact.

  If a contact has both localized and non-localized versions of display name specified, EditableContact.getDisplayName() returns the localized one and EditableContact.getASCIIDisplayName()} returns the non-localized one.

  If a contact has only one version of display name specified, EditableContact.getDisplayName()} returns the specified display name and EditableContact.getASCIIDisplayName() returns empty string.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getEmailAddresses() → {AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactEmailAddressField>}

  Returns the list of email addresses.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactEmailAddressField> }

#### getFirstName() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns first name of the contact.

  If contact has both localized and non-localized versions of first name specified, EditableContact.getFirstName() returns the localized one and EditableContact.getASCIIFirstName() returns the non-localized one.

  If a contact has only one version of first name specified, EditableContact.getFirstName() returns the specified given name and EditableContact.getASCIIFirstName() returns empty string.

  ##### See:

    - {AvayaClientServices.Services.Contacts.EditableContact#getASCIIFirstName}

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getIMAddresses() → {AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactIMAddressField>}

  Returns the list of handles.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactIMAddressField> }

#### getLanguage() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the preferred locale of the contact (for example, 'en_US').

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getLastName() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns last name of the contact.

  If a contact has both localized and non-localized versions of last name specified, EditableContact.getLastName() returns the localized one and EditableContact.getASCIILastName() returns the non-localized one.

  If a contact has only one version of surname specified, EditableContact.getLastName() returns the specified surname and EditableContact.getASCIILastName() returns empty string.

  ##### See:

    - {AvayaClientServices.Services.Contacts.EditableContact#getASCIILastName}

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getLocation() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the location.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getManager() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the manager.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getNotes() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the notes of the contact.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getPhoneNumbers() → {AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactPhoneField>}

  Returns the list of phone numbers.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactFieldList.<AvayaClientServices.Services.Contacts.EditableContactPhoneField> }

#### getPostalCode() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the postal code.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getRank() → {AvayaClientServices.Services.Contacts.EditableContactNumberField}

  Returns the rank of the contact. This value may be used for sorting the contact list.
  Can be any non-negative number (including fractional numbers).

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactNumberField }

#### getScopiaLoginId() → {AvayaClientServices.Services.Contacts.ContactStringField}

  Returns Scopia Login ID.
  This field will have an empty value in non-Scopia deployments or if this contact represents Scopia Terminal.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactStringField }

#### getScopiaUserId() → {AvayaClientServices.Services.Contacts.ContactStringField}

  Returns Scopia User ID.
  This field will have an empty value in non-Scopia deployments or if this contact represents Scopia Terminal.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.ContactStringField }

#### getState() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the state field.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getStreetAddress() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the street address.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### getUniqueAddressForMatching() → {string}

  Returns the unique ID of the contact.

  ##### Returns:

  { string }

  The address used for matching/merging other contact records.

#### getWorkRoomNumber() → {AvayaClientServices.Services.Contacts.EditableContactStringField}

  Returns the work room number.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactStringField }

#### isBuddy() → {AvayaClientServices.Services.Contacts.EditableContactBooleanField}

  Returns the buddy flag.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactBooleanField }

#### isFavorite() → {AvayaClientServices.Services.Contacts.EditableContactBooleanField}

  Returns the favorite flag.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactBooleanField }

#### isVideoCapable() → {AvayaClientServices.Services.Contacts.EditableContactBooleanField}

  Returns the video capable flag.

  ##### Returns:

  { AvayaClientServices.Services.Contacts.EditableContactBooleanField }

### Capabilities

#### getContactSavableCapability() → {AvayaClientServices.Base.Capability}

  Returns the capability specifying if this contact contains all information required in order to add the contact to the contact list or to update the existing contact with this one.

  This necessary information includes first name, last name and either phone number or email address.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Capability object describing if this particular contact is savable.

#### getDeleteContactCapability() → {AvayaClientServices.Base.Capability}

  Returns the capability indicating if this contact can be deleted from the contact list. See Contacts.deleteContact().

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Capability object describing whether this particular contact can be deleted or not.

#### getUpdateContactCapability() → {AvayaClientServices.Base.Capability}

  Returns the capability indicating if this contact can be updated. See also Contacts.updateContact().

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Capability object describing whether this particular contact can be changed or not.