# Using eSignature and Acroform fields

The ESignatureAndFieldSupport output type element allows users to configure the following eSignature functionality in transaction-based Ancillary Output elements.

## eSignature feature overview

Features/elements available within the ESignatureAndFieldSupport element:

- eSignatureCoordinatesOnly: if set to "true," eSignature fields are suppressed on the form and X/Y coordinates are returned. .
- eSignatureDateSupport: allows users to enable or disable the date field in an eSignature. Setting the element to "true" enables the date field; setting the element to "false" disables the date field.
- eSignatureTooltip: allows users to pass a string as a help popup.
- eSignatureInitialsTooltip: allows users to pass a string as a help popup.
- NonSignatureFieldCoordinatesOnly: if set to "true," other Non-Signatures fillable fields (textboxes and checkboxes) are suppressed on the form and X/Y coordinates are returned.
- eSignatureWKES: by default, this flag is optional.
  - If set to "true:"
    - Initials will be rendered as a fillable field;
    - WKES (previously SDX) naming conventions apply, and the `<FieldName/>` element applies eSignatures for "Initials," "Signature," "Date," and "Checkbox;"
    - The `<SignerEmail/>` element and the email address added to the `<FieldName/>` are included in the response;
  - If set to "false:"
    - Initials are rendered as esignable, and current naming convention is used: <`r:FieldName>INI_Borrower_null_homer_false_1_SigField_1</r:FieldName>`; by

## Using SignaturePointSet and eSignatureAndFieldSupport

Previously, `SignaturePointSet` was the only element which controlled passing XY coordinates and suppressing signature fields on the form. We have enhanced the `SignaturePointSet` element and created a new element, `eSignatureAndFieldSupport`. The new element `eSignatureAndFieldSupport` has two flags to control eSignatures and Non-Signature Fillable fields independently.

Below is an explanation of the elements and their flags:

- `SignaturePointSet` (Existing Element)
  - If Passed: XY Coordinates are returned for all fields. Fillable fields are not rendered on the form.
  - If Not Passed: XY Coordinates are returned for all fillable fields and the fields are rendered on the form.
  - Future Function: XY Coordinates will be returned for all fillable fields.
- `eSignatureAndFieldSupport`: this will override the `BSI.Properties` settings if it is passed in.
  - `eSignatureCoordinatesOnly`: child of `eSignatureAndFieldSupport`
    - If true: XY Coordinates are returned for eSignature fields (eSignature and eSignature date); eSignature fields are not rendered on the form.
    - False (Null): XY Coordinates are returned for eSignatures (eSignature only) and eSginature fields; fields are rendered on the form
    - Future Function: XY coordinates will be returned when this flag is set to "true."
  - `eSignatureDateSupport` child of `eSignatureAndFieldSupport`.
    - If true: XY Coordinates are returned for eSignature Date fields and are rendered on the form.
    - False (Null): XY Coordinates are not returned; fields are not rendered on the form
  - `NonSignatureFieldCoordinatesOnly`, child of `eSignatureAndFieldSupport`
    - If true: XY Coordinates are returned for non-signature fillable fields; the fields are not rendered on the form.
    - False (Null): XY Coordinates are returned; fields are rendered on the form.
    - Future Function: XY coordinates will be returned when this flag is set to "true."

Note: If these elements are passed together, `eSignatureAndFieldSupport` will override `SignaturePointSet` settings for ESignatures.

## BSI.Properties Considerations

Note the following:

Users can turn on `eSignatureSupport`, `eSignatureDateSupport`, and `acroformSupport` for all transactions in the `BSI.Properties` configuration file. The default values for these properties are:

- eSignatureSupport (existing): "false"
- eSignatureDateSupport (existing): "true"
- acroformSupport (new): "true"

If `SignaturePointSet` is passed in and the properties for `eSignatureSupport`, and `acroformSupport`, in the `BSI.Properties` file are set to "true”; XY Coordinates are returned for all fields (esignatures, esignature dates, and other fillable fields). No fillable fields are rendered on the form.

If `SignaturePointSet` is not passed and the properties for `eSignatureSupport`, and `acroformSupport`, in the `BSI.Properties` file are set to “true”; XY Coordinates are returned for all fillable fields; the fields are rendered on the form.

Note: Expere will look for the `eSignatureAndFieldSupport` element settings in the transaction first; if no values exist, Expere will refer to the `eSignatureSupport` setting in the `BSI.Properties` file. eSignature and Acroform field enablement is independent of each other.

## Using SignaturePointSet and eSignatureAndFieldSupport

We have created a new element `eSignatureAndFieldSupport` with two child flags to control eSignatures and Non-Signature Fillable fields independently.

Below is an explanation of these elements, the new flags, and their function together.

- `eSignatureAndFieldSupport`
  - `eSignatureCoordinatesOnly`: child of `eSignatureAndFieldSupport`
    - If true: XY coordinates are returned and the fields are not rendered on the form.
    - False (Null): XY Coordinates are returned and fields are rendered on the form.
  - `NonSignatureFieldCoordinatesOnly`, child of `eSignatureAndFieldSupport`
    - If true: XY coordinates are returned and the fields are not rendered on the form.
    - False (Null): XY Coordinates are not returned and fields are rendered on the form.

## Enabling X/Y coordinates

In a future release, setting the `eSignatureSupport` and `NonSignatureFieldSupport` flags to true will suppress the field(s) on the form and return X/Y coordinates.

## Considerations

Note the following:

- Users can turn on eSignatures for all transactions in the bsi.properties configuration file. By default, these values are set to "false."
  Note: Expere will pass the eSignatureSupport element settings in the transaction first; if no values exist, Expere will refer to the `eSignatureSupport` setting in the bsi.properties file.
- eSignature and Acroform field enablement is independent of each other.

## SOAP Request

    <AncillaryOutputOption>
    	<OutputType>ESignatureAndFieldSupport</OutputType>
    	<ESignatureAndFieldSupport>
    		<eSignatureCoordinatesOnly>true</eSignatureCoordinatesOnly>
    		<eSignatureDateSupport>true</eSignatureDateSupport>
    		<eSignatureTooltip>test</eSignatureTooltip>
    		<eSignatureInitialsTooltip>test1</eSignatureInitialsTooltip>
    		<NonSignatureFieldCoordinatesOnly>true</NonSignatureFieldCoordinatesOnly>
    	</ESignatureAndFieldSupport>
    </AncillaryOutputOption>