﻿<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
	* Copyright (c) 2003-2014 DocuSign Incorporated
	* All rights reserved.
	*
	* The information contained herein is confidential and proprietary to
	* Docusign Incorporated, and considered a trade secret
	* as defined under civil and criminal statutes.  Docusign
	* Incorporated shall pursue its civil and criminal remedies in the event
	* of unauthorized use or misappropriation of its trade secrets.  Use
	* of this information by anyone other than authorized employees of
	* Docusign Incorporated is granted only under a written
	* non-disclosure agreement, expressly prescribing the scope and manner
	* of such use.
**/
-->
<xs:schema xmlns:dsx="http://www.docusign.net/API/3.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.docusign.net/API/3.0" elementFormDefault="qualified" attributeFormDefault="qualified">
  <!-- Simple Type Definitions -->
  <xs:simpleType name="DSXId">
    <xs:annotation>
      <xs:documentation>This is generated by docusign, and is an existing identifier in the system. Do not use locally generated values here.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="100" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UserName">
    <xs:annotation>
      <xs:documentation>Full Legal Name of a user.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="100" />
      <xs:whiteSpace value="preserve" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Email">
    <xs:annotation>
      <xs:documentation>This is an email address.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <!--<xs:minLength value="0" fixed="true" />-->
      <xs:maxLength value="100" />
      <!--<xs:pattern value="^((([^&lt;&gt;()[\]\\.,;:\s@\&quot;&quot;]+(\.[^&lt;&gt;()[\]\\.,;:\s@\&quot;&quot;]+)*)|(\&quot;&quot;.+\&quot;&quot;))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,})))$" />-->
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Password">
    <xs:annotation>
      <xs:documentation>This is a password.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" fixed="true" />
      <xs:maxLength value="50" fixed="true" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PhoneNumber">
    <xs:annotation>
      <xs:documentation>A phone number.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="20" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LocalId">
    <xs:annotation>
      <xs:documentation>This is generated locally and is only valid in the document it is generated in. It's only purpose is to refer to the the element before permanent identifiers are assigned.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:positiveInteger" />
  </xs:simpleType>
  <xs:simpleType name="LongString">
    <xs:annotation>
      <xs:documentation>A standard string of 100 characters</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:maxLength value="100" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositiveShort">
    <xs:annotation>
      <xs:documentation>This indicates an unsigned short number greater than 0.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:unsignedShort">
      <xs:minExclusive value="0" />
    </xs:restriction>
  </xs:simpleType>
  <!-- Enums Definitions-->
  <xs:simpleType name="EnvelopeStatusCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Envelope Status codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Any" />
      <xs:enumeration value="Voided" />
      <xs:enumeration value="Created" />
      <xs:enumeration value="Deleted" />
      <xs:enumeration value="Sent" />
      <xs:enumeration value="Delivered" />
      <xs:enumeration value="Signed" />
      <xs:enumeration value="Completed" />
      <xs:enumeration value="Declined" />
      <xs:enumeration value="TimedOut" />
      <xs:enumeration value="Template" />
      <xs:enumeration value="Processing" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EnvelopeEventStatusCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Envelope Status codes that can be used in Envelope event integrations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Sent" />
      <xs:enumeration value="Delivered" />
      <xs:enumeration value="Completed" />
      <xs:enumeration value="Declined" />
      <xs:enumeration value="Voided" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RecipientEventStatusCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Recipient Status codes that can be used in Envelope event integrations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Sent" />
      <xs:enumeration value="Delivered" />
      <xs:enumeration value="Completed" />
      <xs:enumeration value="Declined" />
      <xs:enumeration value="AutoResponded" />
      <xs:enumeration value="AuthenticationFailed" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RecipientStatusCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Recipient Status codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Created" />
      <xs:enumeration value="Sent" />
      <xs:enumeration value="Delivered" />
      <xs:enumeration value="Signed" />
      <xs:enumeration value="Declined" />
      <xs:enumeration value="Completed" />
      <xs:enumeration value="FaxPending" />
      <xs:enumeration value="AutoResponded" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RecipientTypeCode">
    <xs:annotation>
      <xs:documentation>This is the list of allowable recipient types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Signer" />
      <xs:enumeration value="Agent" />
      <xs:enumeration value="Editor" />
      <xs:enumeration value="Intermediary" />
      <xs:enumeration value="CarbonCopy" />
      <xs:enumeration value="CertifiedDelivery" />
      <xs:enumeration value="InPersonSigner" />
      <xs:enumeration value="SigningHost" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DeliveryMethod">
    <xs:annotation>
      <xs:documentation>This is the list of allowable delivery methods for a recipient.  Default is Email.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Email" />
      <xs:enumeration value="Fax" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TabStatusCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Tab Status codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Active" />
      <xs:enumeration value="Signed" />
      <xs:enumeration value="Declined" />
      <xs:enumeration value="NA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EventStatusCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Event Status codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Passed" />
      <xs:enumeration value="Failed" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TabTypeCode">
    <xs:annotation>
      <xs:documentation>This is the list of allowable tab types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="InitialHere" />
      <xs:enumeration value="SignHere" />
      <xs:enumeration value="FullName" />
      <xs:enumeration value="FirstName" />
      <xs:enumeration value="LastName" />
      <xs:enumeration value="EmailAddress" />
      <xs:enumeration value="Company" />
      <xs:enumeration value="Title" />
      <xs:enumeration value="DateSigned" />
      <xs:enumeration value="InitialHereOptional" />
      <xs:enumeration value="EnvelopeID" />
      <xs:enumeration value="Custom" />
      <xs:enumeration value="SignerAttachment" />
      <xs:enumeration value="SignHereOptional" />
      <xs:enumeration value="Approve" />
      <xs:enumeration value="Decline" />
      <xs:enumeration value="SignerAttachmentOptional" />
      <xs:enumeration value="DigitalSignature"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SigningLocationCode">
    <xs:annotation>
      <xs:documentation>This is the list of signing location code.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="InPerson" />
      <xs:enumeration value="Online" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FontStyleCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Envelope Status codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="RageItalic" />
      <xs:enumeration value="Mistral" />
      <xs:enumeration value="BradleyHandITC" />
      <xs:enumeration value="KaufmannBT" />
      <xs:enumeration value="Freehand575" />
      <xs:enumeration value="LuciaBT" />
      <xs:enumeration value="DocuSign1" />
      <xs:enumeration value="DocuSign2" />
      <xs:enumeration value="DocuSign3" />
      <xs:enumeration value="DocuSign4" />
      <xs:enumeration value="DocuSign5" />
      <xs:enumeration value="DocuSign6" />
      <xs:enumeration value="DocuSign7" />
      <xs:enumeration value="DocuSign8" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UnitTypeCode">
    <xs:annotation>
      <xs:documentation>This is the list of allowable units types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Pixels" />
      <xs:enumeration value="Mms" />
      <xs:enumeration value="Cms" />
      <xs:enumeration value="Inches" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="VaultingModeCode">
    <xs:annotation>
      <xs:documentation>This is the list of allowable Vaulting Mode codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="None" />
      <xs:enumeration value="EODeStore" />
      <xs:enumeration value="EODAuthoritativeCopy" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DisplayLevelCode">
    <xs:annotation>
      <xs:documentation>This is the list of allowable display levels.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ReadOnly" />
      <xs:enumeration value="Editable" />
      <xs:enumeration value="DoNotDisplay" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AccountFeatures">
    <xs:annotation>
      <xs:documentation>This is the list of advanced features at the Account level.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="DocuSignProfessional" />
      <xs:enumeration value="eOriginalVault" />
      <xs:enumeration value="SequentialSigningAPI" />
      <xs:enumeration value="SequentialSigningUI" />
      <xs:enumeration value="TransactionPoint" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EnvelopeACStatusCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Envelope AC Status codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unknown" />
      <xs:enumeration value="Original" />
      <xs:enumeration value="Transferred" />
      <xs:enumeration value="AuthoritativeCopy" />
      <xs:enumeration value="AuthoritativeCopyExportPending" />
      <xs:enumeration value="AuthoritativeCopyExported" />
      <xs:enumeration value="DepositPending" />
      <xs:enumeration value="Deposited" />
      <xs:enumeration value="DepositedEO" />
      <xs:enumeration value="DepositFailed" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CustomTabType">
    <xs:annotation>
      <xs:documentation>The list of allowable Custom Tab types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Text" />
      <xs:enumeration value="Checkbox" />
      <xs:enumeration value="Radio" />
      <xs:enumeration value="List" />
      <xs:enumeration value="Date" />
      <xs:enumeration value="Number" />
      <xs:enumeration value="SSN" />
      <xs:enumeration value="ZIP5" />
      <xs:enumeration value="ZIP5DASH4" />
      <xs:enumeration value="Email" />
      <xs:enumeration value="Note" />
      <xs:enumeration value="Formula" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TemplateLocationCode">
    <xs:annotation>
      <xs:documentation>The list of allowable Locations for a Template in the CreateAndSendFromTemplates function.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="SOAP"/>
      <xs:enumeration value="PDFMetaData"/>
      <xs:enumeration value="Server"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentType">
    <xs:annotation>
      <xs:documentation>The list of allowable Locations for a Template in the CreateAndSendFromTemplates function.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="SUMMARY"/>
      <xs:enumeration value="CONTENT"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InSessionSendEvent">
    <xs:annotation>
      <xs:documentation>This is the list of events returned from an in session envelope send.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Send" />
      <xs:enumeration value="Save" />
      <xs:enumeration value="Cancel" />
      <xs:enumeration value="Error" />
      <xs:enumeration value="SessionEnd" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CustomFieldType">
    <xs:annotation>
      <xs:documentation>The list of allowable Envelope Custom Field codes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Text" />
      <xs:enumeration value="List" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PhoneNumberDesignation">
    <xs:annotation>
      <xs:documentation>The list of allowable phone number designations.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Home" />
      <xs:enumeration value="Mobile" />
      <xs:enumeration value="Work" />
      <xs:enumeration value="Other" />
      <xs:enumeration value="Fax" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ScaleValue">
    <xs:annotation>
      <xs:documentation>A value between 0.0 and 1.0 representing the position of scaling webcontrol for a tab.  Value of 1.0 is normal full size of tab.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:decimal"/>
  </xs:simpleType>
  <xs:simpleType name="FolderType">
    <xs:annotation>
      <xs:documentation>The list of allowable Folder Types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="RecycleBin" />
      <xs:enumeration value="Draft" />
      <xs:enumeration value="Inbox" />
      <xs:enumeration value="SentItems" />
      <xs:enumeration value="Normal" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ConnectPublishStatus">
    <xs:annotation>
      <xs:documentation>The list of allowable DocuSign Connect publish statuses.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Queued" />
      <xs:enumeration value="Success" />
      <xs:enumeration value="Fail" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Font">
    <xs:annotation>
      <xs:documentation>The list of allowable text data tab fonts.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Arial" />
      <xs:enumeration value="ArialNarrow" />
      <xs:enumeration value="Calibri" />
      <xs:enumeration value="CourierNew" />
      <xs:enumeration value="Garamond" />
      <xs:enumeration value="Georgia" />
      <xs:enumeration value="Helvetica" />
      <xs:enumeration value="LucidaConsole" />
      <xs:enumeration value="Tahoma" />
      <xs:enumeration value="TimesNewRoman" />
      <xs:enumeration value="Trebuchet" />
      <xs:enumeration value="Verdana" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FontColor">
    <xs:annotation>
      <xs:documentation>The list of allowable text data tab font colors.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Black" />
      <xs:enumeration value="BrightBlue" />
      <xs:enumeration value="BrightRed" />
      <xs:enumeration value="DarkRed" />
      <xs:enumeration value="DarkGreen" />
      <xs:enumeration value="Gold" />
      <xs:enumeration value="Green" />
      <xs:enumeration value="NavyBlue" />
      <xs:enumeration value="Purple" />
      <xs:enumeration value="White" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FontSize">
    <xs:annotation>
      <xs:documentation>The list of allowable text data tab font sizes.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Size7" />
      <xs:enumeration value="Size8" />
      <xs:enumeration value="Size9" />
      <xs:enumeration value="Size10" />
      <xs:enumeration value="Size11" />
      <xs:enumeration value="Size12" />
      <xs:enumeration value="Size14" />
      <xs:enumeration value="Size16" />
      <xs:enumeration value="Size18" />
      <xs:enumeration value="Size20" />
      <xs:enumeration value="Size22" />
      <xs:enumeration value="Size24" />
      <xs:enumeration value="Size26" />
      <xs:enumeration value="Size28" />
      <xs:enumeration value="Size36" />
      <xs:enumeration value="Size48" />
      <xs:enumeration value="Size72" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SupportedLanguage">
    <xs:annotation>
      <xs:documentation>The list of allowable recipient languages.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ar" />
      <xs:enumeration value="bg" />
      <xs:enumeration value="cs" />
      <xs:enumeration value="da" />
      <xs:enumeration value="de" />
      <xs:enumeration value="el" />
      <xs:enumeration value="en" />
      <xs:enumeration value="en_GB" />
      <xs:enumeration value="es" />
      <xs:enumeration value="es_MX" />
      <xs:enumeration value="et" />
      <xs:enumeration value="fa" />
      <xs:enumeration value="fi" />
      <xs:enumeration value="fr" />
      <xs:enumeration value="fr_CA" />
      <xs:enumeration value="he" />
      <xs:enumeration value="hi" />
      <xs:enumeration value="hr" />
      <xs:enumeration value="hu" />
      <xs:enumeration value="id" />
      <xs:enumeration value="it" />
      <xs:enumeration value="ja" />
      <xs:enumeration value="ko" />
      <xs:enumeration value="lt" />
      <xs:enumeration value="lv" />
      <xs:enumeration value="ms" />
      <xs:enumeration value="nl" />
      <xs:enumeration value="no" />
      <xs:enumeration value="pl" />
      <xs:enumeration value="pt" />
      <xs:enumeration value="pt_BR" />
      <xs:enumeration value="ro" />
      <xs:enumeration value="ru" />
      <xs:enumeration value="sk" />
      <xs:enumeration value="sl" />
      <xs:enumeration value="sr" />
      <xs:enumeration value="sv" />
      <xs:enumeration value="th" />
      <xs:enumeration value="tr" />
      <xs:enumeration value="uk" />
      <xs:enumeration value="vi" />
      <xs:enumeration value="zh_CN" />
      <xs:enumeration value="zh_TW" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SharedAccessItemType">
    <xs:annotation>
      <xs:documentation>The list of allowable shared access item types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="Envelopes" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SharedAccessShareType">
    <xs:annotation>
      <xs:documentation>The list of allowable shared access share types.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="NotShared" />
      <xs:enumeration value="SharedTo" />
      <xs:enumeration value="SharedFrom" />
      <xs:enumeration value="SharedToAndFrom" />
    </xs:restriction>
  </xs:simpleType>
  <!-- Complex Type Definitions -->
  <xs:complexType name="EventResult">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Status" type="dsx:EventStatusCode" />
      <xs:element name="EventTimestamp" type="xs:dateTime" />
      <xs:element name="FailureDescription" type="xs:string" minOccurs="0" />
      <xs:element name="VendorFailureStatusCode" type="xs:string" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="EnvelopeEvent">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="EnvelopeEventStatusCode" type="dsx:EnvelopeEventStatusCode" />
      <xs:element name="IncludeDocuments" type="xs:boolean" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="RecipientEvent">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="RecipientEventStatusCode" type="dsx:RecipientEventStatusCode" minOccurs="0" />
      <xs:element name="IncludeDocuments" type="xs:boolean" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="EventNotification" >
    <xs:all >
      <xs:element name="URL" type="xs:string" />
      <xs:element name="LoggingEnabled" type="xs:boolean" minOccurs="0" />
      <xs:element name="RequireAcknowledgment" type="xs:boolean" minOccurs="0" />
      <xs:element name="UseSoapInterface" type="xs:boolean" minOccurs="0" />
      <xs:element name="SoapNameSpace" type="xs:string" minOccurs="0" />
      <xs:element name="IncludeCertificateWithSoap" type="xs:boolean" minOccurs="0" />
      <xs:element name="SignMessageWithX509Cert" type="xs:boolean" minOccurs="0" />
      <xs:element name="IncludeDocuments" type="xs:boolean" minOccurs="0" />
      <xs:element name="IncludeTimeZone" type="xs:boolean" minOccurs="0" />
      <xs:element name="IncludeEnvelopeVoidReason" type="xs:boolean" minOccurs="0" />
      <xs:element name="IncludeCertificateOfCompletion" type="xs:boolean" minOccurs="0" />
      <xs:element name="IncludeDocumentFields" type="xs:boolean" minOccurs="0" />
      <xs:element name="IncludeSenderAccountAsCustomField" type="xs:boolean" minOccurs="0" />                 
      <xs:element name="EnvelopeEvents" minOccurs="0">
        <xs:complexType >
          <xs:sequence>
            <xs:element name="EnvelopeEvent" type="dsx:EnvelopeEvent" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="RecipientEvents" minOccurs="0">
        <xs:complexType >
          <xs:sequence>
            <xs:element name="RecipientEvent" type="dsx:RecipientEvent" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AuthenticationStatus">
    <xs:annotation>
      <xs:documentation>The AuthenticationStatus includes information regarding the IdCheck and Access Code result.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AccessCodeResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="IDQuestionsResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="IDLookupResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="AgeVerifyResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="STANPinResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="OFACResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="PhoneAuthResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="LiveIDResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="FacebookResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="TwitterResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="LinkedinResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="SalesforceResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="GoogleResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="YahooResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="OpenIDResult" type="dsx:EventResult" nillable="false" minOccurs="0" />
      <xs:element name="AnySocialIDResult" type="dsx:EventResult" nillable="false" minOccurs="0" />      
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AttachmentFilter">
    <xs:annotation>
      <xs:documentation>The AttachmentFilter includes information using which specific Attachment can be searched.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Label" type="dsx:LongString" nillable="false" minOccurs="0" />
      <xs:element name="Type" type="dsx:LongString" nillable="false" minOccurs="0" />
      <xs:element name="DateRange" type="dsx:DateRangeFilter" nillable="false" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="DateRangeFilter">
    <xs:annotation>
      <xs:documentation>The DateRangeFilter includes the begin and the end datetime.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="BeginDateTime" type="xs:dateTime" nillable="true" minOccurs="0" />
      <xs:element name="EndDateTime" type="xs:dateTime" nillable="true" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AddressInformation">
    <xs:annotation>
      <xs:documentation>The AddressInformation includes information related to the Recipient Address.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Street1" type="xs:string" />
      <xs:element name="Street2" type="xs:string" minOccurs="0" />
      <xs:element name="City" type="xs:string" />
      <xs:element name="State">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="2" />
            <xs:maxLength value="2" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Zip">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="5" />
            <xs:maxLength value="5" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ZipPlus4" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="4" />
            <xs:maxLength value="4" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="DOBInformation">
    <xs:annotation>
      <xs:documentation>The DOBInformation includes information related to the Recipient DOB.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="DOB" type="xs:dateTime">
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SSN4Information">
    <xs:annotation>
      <xs:documentation>The SSN4Information includes information related to the Recipient last 4 SSN digits.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="SSN4">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="4" />
            <xs:maxLength value="4" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SSN9Information">
    <xs:annotation>
      <xs:documentation>The SSN9Information includes information related to the Recipient SSN.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="SSN9">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="9" />
            <xs:maxLength value="9" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AddressInformationInput">
    <xs:annotation>
      <xs:documentation>The AddressInformationInput includes information related to the Recipient Address.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AddressInformation" type="dsx:AddressInformation" minOccurs="0" />
      <xs:element name="DisplayLevel" type="dsx:DisplayLevelCode" minOccurs="0" nillable="false" />
      <xs:element name="ReceiveInResponse" type="xs:boolean" minOccurs="0" nillable="false" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="DOBInformationInput">
    <xs:annotation>
      <xs:documentation>The DOBInformation includes information related to the Recipient DOB.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="DOBInformation" type="dsx:DOBInformation" minOccurs="0" />
      <xs:element name="DisplayLevel" type="dsx:DisplayLevelCode" minOccurs="0" nillable="false" />
      <xs:element name="ReceiveInResponse" type="xs:boolean" minOccurs="0" nillable="false" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SSN4InformationInput">
    <xs:annotation>
      <xs:documentation>The SSN4Information includes information related to the Recipient last 4 SSN digits.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="SSN4Information" type="dsx:SSN4Information" minOccurs="0" />
      <xs:element name="DisplayLevel" type="dsx:DisplayLevelCode" minOccurs="0" nillable="false" />
      <xs:element name="ReceiveInResponse" type="xs:boolean" minOccurs="0" nillable="false" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SSN9InformationInput">
    <xs:annotation>
      <xs:documentation>The SSN4Information includes information related to the Recipient last 4 SSN digits.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="SSN9Information" type="dsx:SSN9Information" minOccurs="0" />
      <xs:element name="DisplayLevel" type="dsx:DisplayLevelCode" minOccurs="0" nillable="false" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="IDCheckInformationInput">
    <xs:annotation>
      <xs:documentation>The IDCheckInformationInput includes information related to the Recipient IDCheck.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AddressInformationInput" type="dsx:AddressInformationInput" minOccurs="0" />
      <xs:element name="DOBInformationInput" type="dsx:DOBInformationInput" minOccurs="0" />
      <xs:element name="SSN4InformationInput" type="dsx:SSN4InformationInput" minOccurs="0" />
      <xs:element name="SSN9InformationInput" type="dsx:SSN9InformationInput" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="IDCheckInformation">
    <xs:annotation>
      <xs:documentation>The IDCheckInformation includes information related to the Recipient IDCheck.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AddressInformation" type="dsx:AddressInformation" minOccurs="0" />
      <xs:element name="DOBInformation" type="dsx:DOBInformation" minOccurs="0" />
      <xs:element name="SSN4Information" type="dsx:SSN4Information" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="VaultingResponse">
    <xs:annotation>
      <xs:documentation>The Vaulting response includes the Vaulting mode and vaulting permissions.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="eOriginalVault" type="xs:boolean" minOccurs="0" nillable="false" />
      <xs:element name="VaultingModeCode" type="dsx:VaultingModeCode" nillable="false" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Reminders">
    <xs:all>
      <xs:element name="ReminderEnabled" type="xs:boolean" nillable="false">
        <xs:annotation>
          <xs:documentation>This attribute indicates that a reminder email will be sent.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReminderDelay" type="xs:nonNegativeInteger" nillable="false">
        <xs:annotation>
          <xs:documentation>This attribute indicates the number of days the system will wait before the first reminder is sent. The delay starts for each recipient once they have been sent the envelope.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReminderFrequency" type="xs:nonNegativeInteger" nillable="false">
        <xs:annotation>
          <xs:documentation>This attribute indicates the number of days the system will wait before subsequent reminders are sent.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Expirations">
    <xs:all>
      <xs:element name="ExpireEnabled" type="xs:boolean" nillable="false">
        <xs:annotation>
          <xs:documentation>This attribute indicates that an envelope is set to expire.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ExpireAfter" type="xs:nonNegativeInteger" nillable="false">
        <xs:annotation>
          <xs:documentation>This attribute indicates the number of days an envelope will be active for after it is sent.  Once the number of days have passed, the envelope will be voided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ExpireWarn" type="xs:nonNegativeInteger" nillable="false">
        <xs:annotation>
          <xs:documentation>This attribute indicates the number of days, before an envelope expires, that a warning email should be sent.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="Notification">
    <xs:annotation>
      <xs:documentation>Reminders and Expiration settings for an Envelope</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="UseAccountDefaults" type="xs:boolean" minOccurs="0" nillable="false">
        <xs:annotation>
          <xs:documentation>This attribute indicates that notifications will default to the settings for the sending account.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Reminders" type="dsx:Reminders" minOccurs="0" nillable="false">
        <xs:annotation>
          <xs:documentation>Settings for reminders on this envelope.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Expirations" type="dsx:Expirations" minOccurs="0" nillable="false">
        <xs:annotation>
          <xs:documentation>Settings for expirations on this envelope.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="PDFOptions">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:all>      
      <xs:element name="ShowChanges" type="xs:boolean" minOccurs="0" nillable="false" />
      <xs:element name="AddWaterMark" type="xs:boolean" minOccurs="0" nillable="false" />
      <xs:element name="IncludeCert" type="xs:boolean" minOccurs="0" nillable="false" />
    </xs:all>
  </xs:complexType>
  
  <xs:complexType name="PDFsOptions">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:all>      
      <xs:element name="ShowChanges" type="xs:boolean" minOccurs="0" nillable="false" />
      <xs:element name="DocumentID" type="xs:string" minOccurs="0" nillable="false" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="EmailSettings">
    <xs:annotation>
      <xs:documentation>Override settings for email attributes</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="ReplyEmailAddressOverride" type="dsx:Email" minOccurs="0" />
      <xs:element name="ReplyEmailNameOverride" type="dsx:UserName" minOccurs="0" />
      <xs:element name="BCCEmailAddresses" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence>
           <xs:element name="BCCEmailAddress" type="dsx:BCCEmailAddress" minOccurs="0" maxOccurs="5" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>

  <xs:complexType name="BCCEmailAddress">
    <xs:annotation>
      <xs:documentation>BCC email address information</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="BCCEmailAddressId" type="xs:long" minOccurs="0" />
      <xs:element name="Email" type="dsx:Email" minOccurs="0" />
    </xs:all>
  </xs:complexType>

  <xs:complexType name="VaultingOptions">
    <xs:annotation>
      <xs:documentation>Allows end user to specify the vaulting options for an envelope</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="VaultingMode" type="dsx:VaultingModeCode" nillable="false" />
      <xs:element name="EODTransactionName" nillable="false" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="500" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EODDocumentName" nillable="false" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="500" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EODDocumentDescription" nillable="false" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="1000" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="VaultingDetails">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about vaulting of an envelope</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="EODTransactionName" type="xs:string" minOccurs="0" />
      <xs:element name="EODTransactionID" type="xs:string" minOccurs="0" />
      <xs:element name="EODDocumentProfileID" type="xs:string" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AnchorTab">
    <xs:annotation>
      <xs:documentation>Allows end user to specify the anchor tab string and the offsets</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AnchorTabString" type="xs:string" nillable="false">
        <xs:annotation>
          <xs:documentation>This indicates the string used as an Anchor Tag in the document.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="XOffset" type="xs:double" nillable="false" default="0" minOccurs="0">
        <xs:annotation>
          <xs:documentation>This indicates the X-Offset for the tab location, in units of points.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YOffset" type="xs:double" nillable="false" default="0" minOccurs="0">
        <xs:annotation>
          <xs:documentation>This indicates the Y-Offset for the tab location, in units of points.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Unit" type="dsx:UnitTypeCode" nillable="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>This indicates the units of the Offset(either in Mms,Cms or Inches)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IgnoreIfNotPresent" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Ignore this tab if anchor is not found in the document. This value is false if not supplied.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MatchWholeWord" type="xs:boolean" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Match words based on the entire word. This value is false if not supplied.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="CustomField">
    <xs:annotation>
      <xs:documentation>Allows for end user specified name-value pairs to be carried on an envelope</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Name" type="dsx:LongString" nillable="false">
        <xs:annotation>
          <xs:documentation>The Name of the Name-Value pair</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Show" type="dsx:LongString" nillable="false">
        <xs:annotation>
          <xs:documentation>Indicates whether the Name-Value pair will be shown to the user who is sending the envelope.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Required" type="dsx:LongString" nillable="false">
        <xs:annotation>
          <xs:documentation>Indicates whether the Value of the Name-Value pair is required to be entered before the envelope can be sent.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Value" type="dsx:LongString" nillable="false">
        <xs:annotation>
          <xs:documentation>The Value of the Name-Value pair</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CustomFieldType" type="dsx:CustomFieldType" minOccurs="0" />
      <xs:element name="ListItems" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Semi-colon separated items to be placed in a list box when the custom field type is List.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="2048" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="RecipientEsign">
    <xs:annotation>
      <xs:documentation>An individual record of a recipients Esign with a senders account</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="UserName" type="dsx:UserName" nillable="false" />
      <xs:element name="Email" type="dsx:Email" nillable="false" />
      <xs:element name="Esign" type="xs:boolean" nillable="false" />
      <xs:element name="ReservedRecipientEmail" type="xs:boolean" minOccurs="0" />
      <xs:element name="ReservedRecipientNames" type="xs:string" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="UserInfo">
    <xs:annotation>
      <xs:documentation>Allows for end user specified name-value pairs to be carried on an envelope</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="UserName" type="dsx:UserName" nillable="false">
        <xs:annotation>
          <xs:documentation>The Name of the Name-Value pair</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Email" type="dsx:Email" nillable="false">
        <xs:annotation>
          <xs:documentation>Indicates whether the Name-Value pair will be shown to the user who is sending the envelope.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="EnvelopeSettings">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AutoNavigation" type="xs:boolean" minOccurs="0" nillable="false" />
      <xs:element name="EnvelopeIdStamping" type="xs:boolean" minOccurs="0" nillable="false" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AccountSetting">
    <xs:annotation>
      <xs:documentation>
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Name" type="xs:string" />
      <xs:element name="Value" type="xs:string" />
      <xs:element name="Type" type="xs:string" />
      <xs:element name="TestSetting" type="xs:string" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="FormData">
    <xs:all>
      <xs:element name="xfdf" minOccurs="0">
        <xs:complexType>
          <xs:all>
            <xs:element name="fields">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:all>
                        <xs:element name="value" type="xs:string" />
                      </xs:all>
                      <xs:attribute name="name" type="xs:string" form="unqualified" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:all>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AddressBookRemoveItem">
    <xs:annotation>
      <xs:documentation>Address book IDs that can be used when removing address book items</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AddressBookID" type="dsx:DSXId" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AddressBookPhoneNumber">
    <xs:annotation>
      <xs:documentation>Address book phone number</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="PhoneNumber" type="dsx:PhoneNumber" />
      <xs:element name="Designation" type="dsx:PhoneNumberDesignation" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="AddressBookItem">
    <xs:annotation>
      <xs:documentation>Address book entries for the user and default account</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="AddressBookID" type="dsx:DSXId" />
      <xs:element name="Email" type="dsx:Email" />
      <xs:element name="UserName" type="dsx:LongString" />
      <xs:element name="AccountName" type="dsx:LongString" />
      <xs:element name="Shared" type="xs:boolean" />
      <xs:element name="Created" type="xs:dateTime" minOccurs="0" />
      <xs:element name="Owner" type="xs:boolean" minOccurs="0" />
      <xs:element name="Phone1" type="dsx:AddressBookPhoneNumber" minOccurs="0" />
      <xs:element name="Phone2" type="dsx:AddressBookPhoneNumber" minOccurs="0" />
      <xs:element name="Phone3" type="dsx:AddressBookPhoneNumber" minOccurs="0" />
      <xs:element name="Phone4" type="dsx:AddressBookPhoneNumber" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="FolderTypeInfo">
    <xs:annotation>
      <xs:documentation>Folder metadata</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="FolderType" type="dsx:FolderType" minOccurs="0" />
      <xs:element name="FolderName" type="xs:string" minOccurs="0" />
      <xs:element name="FolderPath" type="xs:string" minOccurs="0" />
      <xs:element name="FolderId" type="dsx:DSXId" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <!-- Element Definitions -->
  <xs:element name="Attachment">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Data" type="xs:base64Binary" nillable="false" />
        <xs:element name="Label" type="dsx:LongString" nillable="false" minOccurs="0" />
        <xs:element name="Type" type="dsx:LongString" nillable="false" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RecipientEsignList">
    <xs:annotation>
      <xs:documentation />
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="RecipientEsign" nillable="false">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="RecipientEsign" type="dsx:RecipientEsign" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RecipientList">
    <xs:annotation>
      <xs:documentation />
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ReservedRecipientEmail" type="xs:boolean" minOccurs="0" />
        <xs:element name="MultipleUsers" type="xs:boolean" minOccurs="0" />
        <xs:element name="RecipientName" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="RecipientName" type="dsx:LongString" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
    <xs:element name="BrandResults">
        <xs:annotation>
            <xs:documentation />
        </xs:annotation>
        <xs:complexType>
            <xs:all>
                <xs:element name="RecipientBrandIdDefault" type="dsx:LongString" minOccurs="0" maxOccurs="1" />
                <xs:element name="SenderBrandIdDefault" type="dsx:LongString" minOccurs="0" maxOccurs="1" />                
                <xs:element name="BrandResultItems" nillable="false" minOccurs="0">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="dsx:BrandResultItem" minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <xs:element name="BrandResultItem">
        <xs:annotation>
            <xs:documentation>The list of recipient brands available to the sender</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="BrandId" type="dsx:LongString" minOccurs="0" maxOccurs="1" />
                <xs:element name="BrandName" type="xs:string" minOccurs="0" maxOccurs="1" />
                <xs:element name="BrandCompany" type="xs:string" minOccurs="0" maxOccurs="1" />
                <xs:element name="ErrorDetails" type="dsx:ErrorDetails" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
  <xs:element name="TabStatus">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about the tab.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TabType" type="dsx:TabTypeCode" nillable="false" />
        <xs:element name="Status" type="xs:string" nillable="false" />
        <xs:element name="XPosition" type="xs:double" nillable="false" />
        <xs:element name="YPosition" type="xs:double" nillable="false" />
        <xs:element name="Signed" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="TabLabel" type="xs:string" nillable="false" minOccurs="0" />
        <xs:element name="TabName" type="xs:string" nillable="false" minOccurs="0" />
        <xs:element name="TabValue" type="xs:string" nillable="false" minOccurs="0" />
        <!-- extensions -->
        <xs:element name="DocumentID" type="dsx:LocalId" minOccurs="0"/>
        <xs:element name="PageNumber" type="xs:nonNegativeInteger" minOccurs="0"/>
        <xs:element name="OriginalValue" type="xs:string" nillable="false" minOccurs="0"/>
        <xs:element name="ValidationPattern" type="dsx:LongString" minOccurs="0"/>
        <xs:element name="RoleName" type="dsx:LongString" minOccurs="0"/>
        <xs:element name="ListValues" type="xs:string" minOccurs="0" />
        <xs:element name="ListSelectedValue" type="xs:string" minOccurs="0" />
        <xs:element name="ScaleValue" type="xs:decimal" minOccurs="0"/>
        <xs:element name="CustomTabType" type="dsx:CustomTabType" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RecipientStatus">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about a recipient of an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Type" type="dsx:RecipientTypeCode" nillable="false" />
        <xs:element name="Email" type="dsx:Email" nillable="false" />
        <xs:element name="UserName" type="dsx:UserName" nillable="false" />
        <xs:element name="RoutingOrder" type="dsx:PositiveShort" nillable="false" />
        <xs:element name="Sent" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Delivered" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Signed" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Declined" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="DeclineReason" type="xs:string" nillable="true" minOccurs="0" />
        <xs:element name="AutoRespondedReason" type="xs:string" minOccurs="0" />
        <xs:element name="Status" type="dsx:RecipientStatusCode" nillable="false" />
        <xs:element name="RecipientIPAddress" type="xs:string" nillable="false" />
        <xs:element name="ClientUserId" type="dsx:LongString" minOccurs="0" />
        <xs:element name="EmbeddedRecipientStartURL" type="xs:string" minOccurs="0" />
        <xs:element name="AutoNavigation" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="IDCheckInformation" type="dsx:IDCheckInformation" minOccurs="0" nillable="false" />
        <xs:element name="RecipientAuthenticationStatus" type="dsx:AuthenticationStatus" minOccurs="0" nillable="false" />
        <xs:element name="CustomFields" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomField" type="dsx:LongString" maxOccurs="3" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="TabStatuses" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:TabStatus" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="RecipientAttachment" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Attachment" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <!-- extensions -->
        <xs:element name="AccountStatus" type="xs:string" minOccurs="0"/>
        <xs:element name="EsignAgreementInformation" minOccurs="0" nillable="false">
          <xs:complexType>
            <xs:all>
              <xs:element name="AccountEsignId" type="dsx:DSXId"/>
              <xs:element name="UserEsignId" type="dsx:DSXId"/>
              <xs:element name="AgreementDate" type="xs:dateTime" />
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="FormData" type="dsx:FormData" minOccurs="0" />
        <xs:element name="RecipientId" type="xs:string" minOccurs="0"/>
        <xs:element name="DeliveryMethod" type="dsx:DeliveryMethod" minOccurs="0" />
        <xs:element name="FaxNumber" type="dsx:PhoneNumber" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeStatus">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about an envelope and its contents.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="RecipientStatuses" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:RecipientStatus" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="TimeGenerated" type="xs:dateTime" nillable="false" />
        <xs:element name="EnvelopeID" type="dsx:DSXId" nillable="false" />
        <xs:element name="Subject" type="xs:string" nillable="false" />
        <xs:element name="UserName" type="dsx:UserName" nillable="false" />
        <xs:element name="Email" type="dsx:Email" nillable="false" />
        <xs:element name="Status" type="dsx:EnvelopeStatusCode" nillable="false" />
        <xs:element name="Created" type="xs:dateTime" nillable="false" />
        <xs:element name="Deleted" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Sent" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Delivered" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Signed" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Completed" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="Declined" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="TimedOut" type="xs:dateTime" nillable="false" minOccurs="0" />
        <xs:element name="ACStatus" type="xs:string" nillable="false" />
        <xs:element name="ACStatusDate" type="xs:dateTime" nillable="false" />
        <xs:element name="ACHolder" type="xs:string" nillable="false" />
        <xs:element name="ACHolderEmail" type="dsx:LongString" nillable="false" />
        <xs:element name="ACHolderLocation" type="xs:string" nillable="false" />
        <xs:element name="VoidReason" type="xs:string" minOccurs="0"/>
        <xs:element name="SigningLocation" type="dsx:SigningLocationCode" nillable="false" />
        <xs:element name="SenderIPAddress" type="xs:string" nillable="false" />
        <xs:element name="EnvelopePDFHash" type="xs:string" nillable="false" />
        <xs:element name="CustomFields" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomField" type="dsx:CustomField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="VaultingDetails" type="dsx:VaultingDetails" minOccurs="0" />
        <xs:element name="AutoNavigation" type="xs:boolean" nillable="false" />
        <xs:element name="EnvelopeIdStamping" type="xs:boolean" nillable="false" />
        <xs:element name="AuthoritativeCopy" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="EnvelopeAttachment" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Attachment" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <!-- extensions -->
        <xs:element name="DocumentStatuses" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:DocumentStatus" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="FormData" type="dsx:FormData" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeStatusChange">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about an envelope status change.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" nillable="false" />
        <xs:element name="Status" type="dsx:EnvelopeStatusCode" nillable="false" />
        <xs:element name="StatusChanged" type="xs:dateTime" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="DocumentStatus">
    <xs:complexType>
      <xs:all>
        <xs:element name="ID" type="dsx:LocalId"/>
        <xs:element name="Name" type="dsx:LongString"/>
        <xs:element name="TemplateName" type="dsx:LongString" minOccurs="0"/>
        <xs:element name="Sequence" type="xs:positiveInteger"/>
        <xs:element name="DocumentFields" minOccurs="0">
          <xs:annotation>
            <xs:documentation>DocumentFields define custom name/value pairs tied to this document.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:DocumentField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopePDF">
    <xs:annotation>
      <xs:documentation>The contents of all of the documents in a single PDF file, encoded as base64.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" nillable="false" />
        <xs:element name="PDFBytes" type="xs:base64Binary" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="DocumentPDF">
    <xs:annotation>
      <xs:documentation>A PDF document, with contents encoded as base64.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Name" type="xs:string" nillable="false" />
        <xs:element name="PDFBytes" type="xs:base64Binary" nillable="false" />
        <!-- extensions -->
        <xs:element name="DocumentID" type="dsx:LocalId" minOccurs="0" />
        <xs:element name="DocumentType" type="dsx:DocumentType" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="DocumentPDFs">
    <xs:annotation>
      <xs:documentation>Container for DocumentPDF elements</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element ref="dsx:DocumentPDF" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="MatchBox">
    <xs:annotation>
      <xs:documentation>MatchBox defines an area on a template document to be used for matching.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="PageNumber" type="xs:positiveInteger" />
        <xs:element name="XPosition" type="xs:int" />
        <xs:element name="YPosition" type="xs:int" />
        <xs:element name="Width" type="xs:int" />
        <xs:element name="Height" type="xs:int" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="DocumentField">
    <xs:annotation>
      <xs:documentation>Defines a field value pair.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="50" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Value">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="200" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="CollapsibleSettings">
    <xs:annotation>
      <xs:documentation>Defines the display properties of a responsive HTML smart section</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="LabelStyle" minOccurs="0" type="xs:string" />
      <xs:element name="ArrowStyle" minOccurs="0" type="xs:string" />
      <xs:element name="ArrowClosed" minOccurs="0" type="xs:string" />
      <xs:element name="ArrowOpen" minOccurs="0" type="xs:string" />
      <xs:element name="ArrowLocation" minOccurs="0" type="xs:string" />
      <xs:element name="ArrowColor" minOccurs="0" type="xs:string" />
      <xs:element name="ArrowSize" minOccurs="0" type="xs:string" />
      <xs:element name="ContainerStyle" minOccurs="0" type="xs:string" />
      <xs:element name="OnlyArrowIsClickable" minOccurs="0" type="xs:boolean" />
      <xs:element name="OuterStyle" minOccurs="0" type="xs:string" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="DisplaySettings">
    <xs:annotation>
      <xs:documentation>Defines the display properties of a responsive HTML smart section</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Display" type="xs:string" />
      <xs:element name="DisplayLabel" minOccurs="0" type="xs:string" />
      <xs:element name="DisplayPageNumber" minOccurs="0" type="xs:int" />
      <xs:element name="DisplayOrder" minOccurs="0" type="xs:int" />
      <xs:element name="TableStyle" minOccurs="0" type="xs:string" />
      <xs:element name="CellStyle" minOccurs="0" type="xs:string" />
      <xs:element name="InlineOuterStyle" minOccurs="0" type="xs:string" />
      <xs:element name="LabelWhenOpened" minOccurs="0" type="xs:string" />
      <xs:element name="HideLabelWhenOpened" minOccurs="0" type="xs:boolean" />
      <xs:element name="ScrollToTopWhenOpened" minOccurs="0" type="xs:boolean" />
      <xs:element name="CollapsibleSettings" minOccurs="0" type="dsx:CollapsibleSettings" />
    </xs:all>
  </xs:complexType>
  <xs:element name="DisplayAnchor">
    <xs:annotation>
      <xs:documentation>Rules for a responsive HTML smart section.</xs:documentation>
    </xs:annotation>  
    <xs:complexType>
      <xs:all>
        <xs:element name="StartAnchor" minOccurs="0" type="xs:string" />
        <xs:element name="EndAnchor" minOccurs="0" type="xs:string" />
        <xs:element name="RemoveStartAnchor" minOccurs="0" type="xs:boolean" />
        <xs:element name="RemoveEndAnchor" minOccurs="0" type="xs:boolean" />
        <xs:element name="CaseSensitive" minOccurs="0" type="xs:boolean" />
        <xs:element name="DisplaySettings" minOccurs="0" type="dsx:DisplaySettings" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="HtmlDefinition">
    <xs:annotation>
      <xs:documentation>Defines the rules for responsive HTML</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Source" type="xs:string" />
      <xs:element name="RemoveEmptyTags" minOccurs="0" type="xs:string" />
      <xs:element name="HeaderLabel" minOccurs="0" type="xs:string" />
      <xs:element name="DisplayAnchorPrefix" minOccurs="0" type="xs:string" />
      <xs:element name="MaxScreenWidth" minOccurs="0" type="xs:int" />
      <xs:element name="DisplayAnchors" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Rules for smart sections in the responsive HTML.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="dsx:DisplayAnchor" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="Document">
    <xs:annotation>
      <xs:documentation>A PDF Document. The content of this element is the base64 encoded bytes of the document.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ID" type="dsx:LocalId" nillable="false">
          <xs:annotation>
            <xs:documentation>A locally generated, non-negative integer that is unique in the scope of the Envelope. It is used by the Tab element to indicate which document the Tab is affixed to.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Name" type="dsx:LongString" nillable="false">
          <xs:annotation>
            <xs:documentation>The Name of the Document.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PDFBytes" type="xs:base64Binary" nillable="false" />
        <xs:element name="Password" type="dsx:Password" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The password for the Document.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TransformPdfFields" default="false" minOccurs="0" type="xs:boolean" />
        <xs:element name="AuthoritativeCopy" default="false" minOccurs="0" type="xs:boolean" />
        <xs:element name="FileExtension" type="dsx:LongString" nillable="false" minOccurs="0" />
        <xs:element name="MatchBoxes" minOccurs="0">
          <xs:annotation>
            <xs:documentation>MatchBoxes defines areas in a document to be used for matching. This is only used when working with template envelopes.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:MatchBox" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="AttachmentDescription" type="dsx:LongString" minOccurs="0" />
        <xs:element name="DocumentFields" minOccurs="0">
          <xs:annotation>
            <xs:documentation>DocumentFields define custom name/value pairs tied to this document.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:DocumentField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="HtmlDefinition" type="dsx:HtmlDefinition"  minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
 
    <xs:element name="DocumentV2">
    <xs:annotation>
      <xs:documentation>A PDF Document. The content of this element is the base64 encoded bytes of the document.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ID" type="dsx:LocalId" nillable="false">
          <xs:annotation>
            <xs:documentation>A locally generated, non-negative integer that is unique in the scope of the Envelope. It is used by the Tab element to indicate which document the Tab is affixed to.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Name" type="dsx:LongString" nillable="false">
          <xs:annotation>
            <xs:documentation>The Name of the Document.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PDFBytes" type="xs:base64Binary" nillable="false" />
        <xs:element name="Password" type="dsx:Password" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The password for the Document.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TransformPdfFields" default="false" minOccurs="0" type="xs:boolean" />
        <xs:element name="AuthoritativeCopy" default="false" minOccurs="0" type="xs:boolean" />
        <xs:element name="FileExtension" type="dsx:LongString" nillable="false" minOccurs="0" />
        <xs:element name="MatchBoxes" minOccurs="0">
          <xs:annotation>
            <xs:documentation>MatchBoxes defines areas in a document to be used for matching. This is only used when working with template envelopes.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:MatchBox" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="AttachmentDescription" type="dsx:LongString" minOccurs="0" />
        <xs:element name="DocumentType" type="dsx:DocumentType" minOccurs="0" />
        <xs:element name="DocumentFields" minOccurs="0">
          <xs:annotation>
            <xs:documentation>DocumentFields define custom name/value pairs tied to this document.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:DocumentField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="HtmlDefinition" type="dsx:HtmlDefinition"  minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
    
  
    <xs:element name="RequestEnvelopeWithDocumentFieldsV2Options">
    <xs:annotation>
      <xs:documentation>Provides settings to for returning optional fields in the response.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="IncludeDocumentBytes"  type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="IncludeSummary"  type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="IncludeUsedResponsiveSigning"  type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="CertLanguage" type="xs:string" minOccurs="0" />
        <xs:element name="IncludeAnchorTabLocations"  type="xs:boolean" minOccurs="0" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>

  <xs:element name="RequestEnvelopeV2Options">
    <xs:annotation>
      <xs:documentation>Provides settings to for returning optional fields in the response.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="IncludeDocumentBytes"  type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="IncludeAC"  type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="IncludeAnchorTabLocations"  type="xs:boolean" minOccurs="0" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>

    <xs:complexType name="ErrorDetails">
        <xs:all>
            <xs:element name="ErrorCode" type="xs:string" />
            <xs:element name="Message" type="xs:string"  />
        </xs:all>
    </xs:complexType>
    
    <xs:complexType name="BrandRequestItem">
        <xs:all>
            <xs:element name="BrandId" type="dsx:LongString" />
        </xs:all>
    </xs:complexType>

    <xs:complexType name="BrandDeleteRequest">
        <xs:all>
            <xs:element name="BrandRequestItems" minOccurs="1">
                <xs:complexType >
                    <xs:sequence>
                        <xs:element name="BrandRequestItem" type="dsx:BrandRequestItem" minOccurs="1" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:all>    
    </xs:complexType>

    <xs:complexType name="BrandDefinitions">
        <xs:all>
            <xs:element name="BrandDefinitionsFileBytes" type="xs:base64Binary" />
        </xs:all>
    </xs:complexType>

  <xs:element name="Envelope">
    <xs:annotation>
      <xs:documentation>An Envelope that has some information, and at least one document, but will require completion through the web site.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TransactionID" type="dsx:LongString" minOccurs="0" />
        <xs:element name="Asynchronous" type="xs:boolean" minOccurs="0" />
        <!--<xs:element name="PreventDuplicateEnvelope" type="xs:boolean" minOccurs="0" default="true" />-->
        <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="Documents" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Document" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Recipients" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Recipient" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Tabs" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Tab" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Subject" type="dsx:LongString" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The subject line of the email that will be sent to the recipients.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="EmailBlurb" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The (optional) email message that will be included in the body of the email message sent to the recipients.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:whiteSpace value="preserve" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="SigningLocation" type="dsx:SigningLocationCode" nillable="false" minOccurs="0" />
        <xs:element name="CustomFields" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomField" type="dsx:CustomField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="VaultingOptions" type="dsx:VaultingOptions" nillable="false" minOccurs="0" />
        <xs:element name="AutoNavigation" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="EnvelopeIdStamping" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="AuthoritativeCopy" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="AuthoritativeCopyDefault" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="Notification" type="dsx:Notification" minOccurs="0" nillable="false" />
        <!--<xs:element name="AttachCompleteEnvelope" type="xs:boolean" minOccurs="0" />-->
        <!--
        <xs:element name="IDCheckCredentials" type="dsx:IDCheckCredentials" nillable="false" minOccurs="0" />
        -->
        <xs:element name="EnvelopeAttachment" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Attachment" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="EnforceSignerVisibility" type="xs:boolean" minOccurs="0" />
        <xs:element name="EnableWetSign" type="xs:boolean" minOccurs="0" />
        <xs:element name="AllowMarkup" type="xs:boolean" minOccurs="0" />
        <xs:element name="EventNotification" type="dsx:EventNotification" minOccurs="0" />
        <xs:element name="AllowReassign" type="xs:boolean" minOccurs="0" />
        <xs:element name="BrandId" type="dsx:LongString" minOccurs="0" />
        <xs:element name="BrandLock" type="xs:boolean" minOccurs="0" />
        <xs:element name="Accessibility" type="xs:base64Binary" minOccurs ="0" />
        <xs:element name="MessageLock" type="xs:boolean" minOccurs="0" />
        <xs:element name="RecipientsLock" type="xs:boolean" minOccurs ="0" />
        <xs:element name="UseDisclosure" type="xs:boolean" minOccurs="0" />
        <xs:element name="EmailSettings" type="dsx:EmailSettings" minOccurs ="0" />      
      </xs:all>
    </xs:complexType>
    <xs:key name="DocumentKey">
      <xs:selector xpath="dsx:Documents/dsx:Document" />
      <xs:field xpath="dsx:ID" />
    </xs:key>
    <xs:key name="RecipientKey">
      <xs:selector xpath="dsx:Recipients/dsx:Recipient" />
      <xs:field xpath="dsx:ID" />
    </xs:key>
    <xs:keyref name="DocumentKeyRef" refer="dsx:DocumentKey">
      <xs:selector xpath="dsx:Tab" />
      <xs:field xpath="dsx:DocumentID" />
    </xs:keyref>
    <xs:keyref name="RecipientKeyRef" refer="dsx:RecipientKey">
      <xs:selector xpath="dsx:Tab" />
      <xs:field xpath="dsx:RecipientID" />
    </xs:keyref>
  </xs:element>
  
  <xs:element name="EnvelopeV2">
    <xs:annotation>
      <xs:documentation>An Envelope that has some information, and at least one document, but will require completion through the web site.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TransactionID" type="dsx:LongString" minOccurs="0" />
        <xs:element name="Asynchronous" type="xs:boolean" minOccurs="0" />
        <!--<xs:element name="PreventDuplicateEnvelope" type="xs:boolean" minOccurs="0" default="true" />-->
        <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="DocumentsV2" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:DocumentV2" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Recipients" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Recipient" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Tabs" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Tab" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Subject" type="dsx:LongString" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The subject line of the email that will be sent to the recipients.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="EmailBlurb" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The (optional) email message that will be included in the body of the email message sent to the recipients.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:whiteSpace value="preserve" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="SigningLocation" type="dsx:SigningLocationCode" nillable="false" minOccurs="0" />
        <xs:element name="CustomFields" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomField" type="dsx:CustomField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="VaultingOptions" type="dsx:VaultingOptions" nillable="false" minOccurs="0" />
        <xs:element name="AutoNavigation" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="EnvelopeIdStamping" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="AuthoritativeCopy" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="AuthoritativeCopyDefault" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="Notification" type="dsx:Notification" minOccurs="0" nillable="false" />
        <!--<xs:element name="AttachCompleteEnvelope" type="xs:boolean" minOccurs="0" />-->
        <!--
        <xs:element name="IDCheckCredentials" type="dsx:IDCheckCredentials" nillable="false" minOccurs="0" />
        -->
        <xs:element name="EnvelopeAttachment" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Attachment" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="EnforceSignerVisibility" type="xs:boolean" minOccurs="0" />
        <xs:element name="EnableWetSign" type="xs:boolean" minOccurs="0" />
        <xs:element name="AllowMarkup" type="xs:boolean" minOccurs="0" />
        <xs:element name="EventNotification" type="dsx:EventNotification" minOccurs="0" />
        <xs:element name="AllowReassign" type="xs:boolean" minOccurs="0" />
        <xs:element name="BrandId" type="dsx:LongString" minOccurs="0" />
        <xs:element name="BrandLock" type="xs:boolean" minOccurs="0" />
        <xs:element name="Accessibility" type="xs:base64Binary" minOccurs ="0" />
        <xs:element name="MessageLock" type="xs:boolean" minOccurs="0" />
        <xs:element name="RecipientsLock" type="xs:boolean" minOccurs ="0" />
        <xs:element name="UseDisclosure" type="xs:boolean" minOccurs="0" />
        <xs:element name="EmailSettings" type="dsx:EmailSettings" minOccurs ="0" />   
        <xs:element name="UsedResponsiveSigning" type="xs:boolean" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>   
  
  <xs:element name="VoidEnvelopeStatus">
    <xs:annotation>
      <xs:documentation>The results of an envelope void attempt.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="VoidSuccess" type="xs:boolean" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="CaptiveRecipient">
    <xs:annotation>
      <xs:documentation>A Captive Recipient of an Envelope</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ClientUserId" type="dsx:LongString" nillable="false"/>
        <xs:element name="UserName" type="dsx:UserName" nillable="true">
          <xs:annotation>
            <xs:documentation>This is the Full Legal Name of the Captive Recipient - ex: John Q. Public. Do not include honorifics or titles.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Email" type="dsx:Email" nillable="true">
          <xs:annotation>
            <xs:documentation>The email address of the Captive Recipient. This is where the notification email will be sent.</xs:documentation>
          </xs:annotation>
        </xs:element>
         <xs:element name="ErrorDetails" type="dsx:ErrorDetails" minOccurs="0" maxOccurs="1" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="Recipient">
    <xs:annotation>
      <xs:documentation>A Recipient of the Envelope</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ID" type="dsx:LocalId" nillable="false">
          <xs:annotation>
            <xs:documentation>This is a locally generated, non-negative integer that is unique in the scope of the envelope. It is used by the Tab element to indicate which recipient is to sign the Document that the Tab is affixed to.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="UserName" type="dsx:UserName" nillable="true">
          <xs:annotation>
            <xs:documentation>This is the Full Legal Name of the Recipient - ex: John Q. Public. Do not include honorifics or titles.  In the case of RecipientType = InPersonSigner this will be the Signing Host's name</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SignerName" type="dsx:UserName" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This is the Full Legal Name of the In Person Signer Recipient - ex: John Q. Public. Do not include honorifics or titles. </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Email" type="dsx:Email" nillable="true">
          <xs:annotation>
            <xs:documentation>The email address of the Recipient. This is where the notification email will be sent.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Type" type="dsx:RecipientTypeCode" nillable="false">
          <xs:annotation>
            <xs:documentation>This indicates the role that the Recipient will have in completing the envelope. This is controlled by an enumerator. </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="AccessCode" type="dsx:LongString" nillable="true" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This optional attribute is the secret access code that the recipient will have to enter to validate their identity when accessing the envelope. If this attribute is not supplied then the Recipient may still be required to verify their identity if the RequireIDLookup attribute is set to 'true'. </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="AddAccessCodeToEmail" type="xs:boolean" minOccurs="0" nillable="false">
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the access code will be added to the email sent to the recipient, this nullifies the Security measure of Access Code on the recipient.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="RequireIDLookup" type="xs:boolean" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This attribute indicates that the recipient will be required to verify their identity by completeing a questionaire before being granted access to the envelope.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="IDCheckConfigurationName" type="dsx:LongString" minOccurs="0" nillable="false">
          <xs:annotation>
            <xs:documentation>This optional attribute is for customized ID Check workflows. </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="DeliveryMethod" type="dsx:DeliveryMethod" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This indicates the method that is used to delivery the envelope to the recipient.  The default is Email if unspecified. This is controlled by an enumerator. </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="FaxNumber" type="dsx:PhoneNumber" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This indicates fax number to use when the DeliveryMethod is set to Fax.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="LiveIDRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use Windows Live ID service to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="FacebookRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use Facebook Social ID service to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="TwitterRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use Twitter service to validate their identity.  Twitter does not provide email validation.  Account must be enabled with AllowSocialIDRecipAuth. true or false string value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SalesforceRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use Salesforce Social ID service to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="GoogleRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use Google Social ID service to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="LinkedinRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use Linkedin Social ID service to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="YahooRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use Yahoo Social ID service to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="OpenIDRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use OpenID Social ID service to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="AnySocialIDRecipientAuthentication" type="xs:boolean" minOccurs="0" >
          <xs:annotation>
            <xs:documentation>This optional attribute indicates that the recipient will use any of the 8 Social ID services to validate their identity.  Account must be enabled with AllowSocialIDRecipAuth. true or false boolean value.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PhoneAuthentication" minOccurs="0">
          <xs:complexType>
            <xs:all>
              <xs:element name="RecipMayProvideNumber" type="xs:boolean" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Indicates if the recipient may enter a number for phone authentication.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="ValidateRecipProvidedNumber" type="xs:boolean" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Indicates if the number provided by the recipient should be validated.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="RecordVoicePrint" type="xs:boolean" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Indicates if the voice print from phone authentication should be recorded.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="SenderProvidedNumbers" nillable="false" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="SenderProvidedNumber" type="dsx:PhoneNumber" maxOccurs="4" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="SAMLAuthentication" minOccurs="0">
          <xs:annotation>
            <xs:documentation>SAMLAuthentication define custom name/value pairs tied to this recipient.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:all>
              <xs:element name ="SAMLAttributes" nillable="false" minOccurs ="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element ref="dsx:SAMLAttribute" maxOccurs="unbounded" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:all>  
          </xs:complexType>
        </xs:element>
        <xs:element name="SMSAuthentication" minOccurs="0">
          <xs:complexType>
            <xs:all>
              <xs:element name="SenderProvidedNumbers" nillable="false" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="SenderProvidedNumber" type="dsx:PhoneNumber" maxOccurs="4" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="SignatureInfo" minOccurs="0">
          <xs:complexType>
            <xs:all>
              <xs:element name="SignatureName">
                <xs:simpleType>
                  <xs:restriction base="dsx:UserName">
                    <xs:minLength value="1" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SignatureInitials">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:whiteSpace value="preserve" />
                    <xs:maxLength value="10" />
                    <xs:minLength value="1" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="FontStyle" type="dsx:FontStyleCode" />
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="CaptiveInfo" minOccurs="0">
          <xs:complexType>
            <xs:all>
              <xs:element name="ClientUserId" type="dsx:LongString" />
              <xs:element name="EmbeddedRecipientStartURL" type="xs:string" minOccurs="0" />
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="CustomFields" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomField" type="dsx:LongString" maxOccurs="3" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="RoutingOrder" type="dsx:PositiveShort" minOccurs="0" nillable="false" />
        <xs:element name="IDCheckInformationInput" type="dsx:IDCheckInformationInput" minOccurs="0" nillable="false" />
        <xs:element name="AutoNavigation" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="RecipientAttachment" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Attachment" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Note" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional note that will be sent to the recipient.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="1000" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="RoleName" type="dsx:LongString" minOccurs="0" />
        <xs:element name="TemplateLocked" type="xs:boolean" minOccurs="0" />
        <xs:element name="TemplateRequired" type="xs:boolean" minOccurs="0" />
        <xs:element name="TemplateAccessCodeRequired" type="xs:boolean" minOccurs="0" />
        <xs:element name="DefaultRecipient" type="xs:boolean" minOccurs="0" />
        <xs:element name="EmailNotification" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Subject" type="dsx:LongString" />
              <xs:element name="EmailBlurb" type="xs:string" minOccurs="0" />
              <xs:element name="Language" type="dsx:SupportedLanguage" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="AgentCanEditEmail" type="xs:boolean" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional element.  If true, the Agent or Editor Recipient associated with this recipient can change the recipient's pre-populated Email address.  This element is only active if enabled for the account.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="AgentCanEditName" type="xs:boolean" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional element.  If true, the Agent or Editor Recipient associated with this recipient can change the recipient's pre-populated name (UserName).  This element is only active if enabled for the account.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="InheritEmailNotificationConfiguration" type="xs:boolean" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional element.  If true, and the Recipient creates an account on completion of this envelope, the Recipient's preferences for system Email Notifications will match the Sending Accounts default configuration.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="SignInEachLocation" type="xs:boolean" minOccurs="0">
            <xs:annotation>
                <xs:documentation>Optional element.  If true, Signer recipients must draw their signature at each signing location.</xs:documentation>
            </xs:annotation>
        </xs:element>
        <xs:element name="RequireSignerCertificate" type="xs:string" minOccurs="0">
            <xs:annotation>
                <xs:documentation>Optional element.  Identifies the PKI Provider the recipient is expected to have a certificate with.</xs:documentation>
            </xs:annotation>
        </xs:element>
        <xs:element name="RequireNotary" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional element.  If true, this recipient requires a notary.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ExcludedDocuments" minOccurs="0">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="DocumentID" type="dsx:LocalId" nillable="false" minOccurs="0"  maxOccurs="unbounded" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        <xs:element name="HostedSigner" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional element.  Specified the recipientID this recipient is hosting.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="IsNotaryTransaction" type="xs:boolean" minOccurs="0" />
        <xs:element name="SigningGroupId" type="xs:long" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional element. Specify a signing group to apply to this recipient. Email and UserName will be ignored if specified.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="RecipientSignatureProviders" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:RecipientSignatureProvider" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <!--
		<xs:element name="DenyAccessToDocuments" minOccurs="0">
		  <xs:complexType>
			<xs:sequence>
			  <xs:element name="DocumentID" type="dsx:LocalId" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
				  <xs:documentation>This must refer to an existing Document's ID attribute.</xs:documentation>
				</xs:annotation>
			  </xs:element>
			</xs:sequence>
		  </xs:complexType>
		</xs:element>
		-->
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RecipientSignatureProvider">
    <xs:annotation>
      <xs:documentation>Recipient signature provider.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SignatureProviderName">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="200" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="SignatureProviderOptions" type="dsx:SignatureProviderOptions" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Recipient signature provider options</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="SignatureProviderOptions">
    <xs:annotation>
      <xs:documentation>Recipient signature provider.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="Sms" type="xs:string" nillable="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Signature provider sms authentication option.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OneTimePassword" type="xs:string" nillable="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Signature provider one time password authentication option.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CPFNumber" type="xs:string" nillable="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Signature provider CPF number option.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SignerRole" type="xs:string" nillable="false" minOccurs="0">
        <xs:annotation>
          <xs:documentation>Signature provider signer role  option.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="SAMLAttribute">
    <xs:annotation>
      <xs:documentation>Defines a field value pair.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="50" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Value">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="200" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Tab">
    <xs:annotation>
      <xs:documentation>A 'sticky tab', representing a required signature by a Recipient on a Document.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="DocumentID" type="dsx:LocalId" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This must refer to an existing Document's ID attribute.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="RecipientID" type="dsx:LocalId" nillable="false">
          <xs:annotation>
            <xs:documentation>This must refer to an existing Recipients ID attribute.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="PageNumber" type="xs:nonNegativeInteger" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This indicates the absolute page number of the document that the Tab will be affixed to.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="XPosition" type="xs:nonNegativeInteger" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This indicates the horizontal offset of the Tab on the page, in a co-ordinate space that has the bottom left corner of the document as its origin, in units of Points (1/72 inch). </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="YPosition" type="xs:nonNegativeInteger" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This indicates the vertical offset of the Tab on the page, in a co-ordinate space that has the bottom left corner of the document as its origin, in units of Points (1/72 inch). </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="ScaleValue" nillable="false" type="xs:decimal" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Represents a decimal value of 0.0 to 1.0 position of the webcontrol scaling slider. A value of 1.0 represents full size. </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="AnchorTabItem" type="dsx:AnchorTab" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This indicates the Anchor Tag in the document </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Type" type="dsx:TabTypeCode" nillable="false">
          <xs:annotation>
            <xs:documentation>This indicates what is represented by the Tab - i.e. a signature, initials, etc. It is controlled by an enumerator.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Name" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              This is the name of the form field. Required for form field.
              For Radio Button type this is the value.
              For List Box type this is the sem-colon delimited list of values.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="4000" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="TabLabel" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              This is the name of the form field. Required for form field.
              For Radio Button type this is the group name.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="512" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Value" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              This is the value of the form field.
              For Radio Button and Check Box types this can be "X" to select the field by default.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="2000" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="CustomTabType" type="dsx:CustomTabType" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This is the type of form field, only used if TabType is Custom</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CustomTabWidth" type="xs:int" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This is the width of form field, only used if TabType is Custom</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CustomTabHeight" type="xs:int" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This is the height of form field, only used if TabType is Custom</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CustomTabRequired" type="xs:boolean" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Require entry of data in the form field, only used if TabType is Custom, default is false</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CustomTabLocked" type="xs:boolean" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Lock the form field, only used if TabType is Custom, default is false</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CustomTabDisableAutoSize" type="xs:boolean" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Disable the form field from resizing as the user types, only used for single line text fields, default is not to disable</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="CustomTabListItems" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              For Form Field List Box type this is the sem-colon delimited list of values.
              You may also supply these in the Name node.
              This node takes precendence.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="4000" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="CustomTabListValues" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              For Form Field List Box type this is the sem-colon delimited list of values to go with the displayed list items set in CustomTabListItems or Name.
              These values are the hidden values of the drop down list display items.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="4000" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="CustomTabListSelectedValue" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              Set this to the default selected item based on the CustomTabListItems.
              If Value is specified that will take precedence.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="100" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="CustomTabRadioGroupName" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              For Radio Button type this is the group name.
              You may also supply this in the TabLabel node.
              This node takes precendence.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="512" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="CustomTabValidationPattern" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              For all custom tab types except radio buttons, checkboxes, and list items you may supply a regular expression that will be validated when data is entered in the field.
              This is optional and if not provided the default DocuSign validation rules will apply.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="255" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="CustomTabValidationMessage" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              Message to be displayed to the signer if the validation rule from CustomTabValidationPattern fails.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="255" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="TemplateLocked" type="xs:boolean" minOccurs="0" />
        <xs:element name="TemplateRequired" type="xs:boolean" minOccurs="0" />
        <xs:element name="ConditionalParentLabel" type="xs:string" minOccurs="0" />
        <xs:element name="ConditionalParentValue" type="xs:string" minOccurs="0" />
        <xs:element name="SharedTab" type="xs:boolean" minOccurs="0" />
        <xs:element name="RequireInitialOnSharedTabChange" type="xs:boolean" minOccurs="0" />
        <xs:element name="ConcealValueOnDocument" type="xs:boolean" minOccurs="0" />
        <xs:element name="Font" type="dsx:Font" minOccurs="0" />
        <xs:element name="Bold" type="xs:boolean" minOccurs="0" />
        <xs:element name="Italic" type="xs:boolean" minOccurs="0" />
        <xs:element name="Underline" type="xs:boolean" minOccurs="0" />
        <xs:element name="FontColor" type="dsx:FontColor" minOccurs="0" />
        <xs:element name="FontSize" type="dsx:FontSize" minOccurs="0" />
        <xs:element name="MergeFieldXml" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>
              Describes the field to be quieried/written via connect for custom tabs.
            </xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="1000" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="IncludeNoteInEmail" type="xs:boolean" minOccurs="0" />
        <xs:element name="IsPaymentAmount" type="xs:boolean" minOccurs="0" />
        <xs:element name="Formula" type="xs:string" minOccurs="0" />
        <xs:element name="RoundDecimalPlaces" type="xs:int" minOccurs="0" />
        <xs:element name="MaxLength" type="xs:int" minOccurs="0" />
        <xs:element name="SenderRequired" type="xs:boolean" minOccurs="0" />
        <xs:element name="RequireAll" type="xs:boolean" minOccurs="0" />
        <xs:element name="TabOrder" type="xs:int" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="Correction">
    <xs:annotation>
      <xs:documentation>This indicates the input to the CorrectAndresendEnvelope method.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="EnvelopeSettingsCorrection" type="dsx:EnvelopeSettings" minOccurs="0" />
        <xs:element name="Reminders" type="dsx:Reminders" minOccurs="0" />
        <xs:element name="Expirations" type="dsx:Expirations" minOccurs="0" />
        <xs:element name="RecipientCorrections" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:RecipientCorrection" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="TransferEnvelopeStatus">
    <xs:annotation>
      <xs:documentation>The results of an envelope transfer attempt.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TransferEnvelopeSuccess" type="xs:boolean" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeStatusFilter">
    <xs:annotation>
      <xs:documentation>This element provides the filtering criteria for the batch status requests.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="UserInfo" type="dsx:UserInfo" minOccurs="0" />
        <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="BeginDateTime" nillable="true" minOccurs="0">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:dateTime">
                <xs:attribute name="statusQualifier">
                  <xs:simpleType>
                    <xs:restriction base="dsx:EnvelopeStatusCode" />
                  </xs:simpleType>
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="EndDateTime" type="xs:dateTime" nillable="true" minOccurs="0" />
        <xs:element name="Statuses" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Status" type="dsx:EnvelopeStatusCode" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="EnvelopeIds" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="EnvelopeId" type="dsx:DSXId" maxOccurs="200" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="StartAtIndex" type="xs:nonNegativeInteger" nillable="true" minOccurs="0" />
        <xs:element name="ACStatus" type="dsx:EnvelopeACStatusCode" nillable="true" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="FilteredEnvelopeStatuses">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about an envelope and its contents.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ResultSetSize" type="xs:int" />
        <xs:element ref="dsx:EnvelopeStatusFilter" />
        <xs:element name="EnvelopeStatuses" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:EnvelopeStatus" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeStatusChangeFilter">
    <xs:annotation>
      <xs:documentation>This element provides the filtering criteria for the batch status change requests.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="UserInfo" type="dsx:UserInfo" minOccurs="0" />
        <xs:element name="StatusChangedSince" type="xs:dateTime" nillable="false" />
        <xs:element name="Statuses" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Status" type="dsx:EnvelopeStatusCode" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="FilteredEnvelopeStatusChanges">
    <xs:annotation>
      <xs:documentation>A list of the envelopes with status changes.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ResultSetSize" type="xs:int" />
        <xs:element name="EnvelopeStatusChanges" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:EnvelopeStatusChange" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RecipientCorrection">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about recipient correction of an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="PreviousUserName" type="dsx:UserName" nillable="false" />
        <xs:element name="PreviousEmail" type="dsx:Email" nillable="false" />
        <xs:element name="PreviousRoutingOrder" type="dsx:PositiveShort" nillable="false" />
        <xs:element name="PreviousSignerName" type="dsx:UserName" minOccurs="0" />
        <xs:element name="CorrectedUserName" type="dsx:UserName" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedSignerName" type="dsx:UserName" minOccurs="0" />
        <xs:element name="CorrectedEmail" type="dsx:Email" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedCaptiveInfo" minOccurs="0">
          <xs:complexType>
            <xs:all>
              <xs:element name="ClientUserId" type="dsx:LongString" />
              <xs:element name="EmbeddedRecipientStartURL" type="xs:string" minOccurs="0" />
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="CorrectedAccessCode" type="xs:string" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedAccessCodeRequired" type="xs:boolean" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedRequireIDLookup" type="xs:boolean" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedIDCheckConfigurationName" type="dsx:LongString" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedRoutingOrder" type="dsx:PositiveShort" minOccurs="0" nillable="false" />
        <xs:element name="CorrectedAutoNavigation" type="xs:boolean" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedIDCheckInformationInput" type="dsx:IDCheckInformationInput" minOccurs="0" nillable="false" />
        <xs:element name="Resend" type="xs:boolean" nillable="false" minOccurs="0" />
        <xs:element name="CorrectedDeliveryMethod" type="dsx:DeliveryMethod" minOccurs="0" />
        <xs:element name="CorrectedFaxNumber" type="dsx:PhoneNumber" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="CorrectionStatus">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about the correction status of an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeSettingsCorrectionStatus" type="dsx:EnvelopeSettings" minOccurs="0" />
        <xs:element name="Reminders" type="dsx:Reminders" minOccurs="0" />
        <xs:element name="Expirations" type="dsx:Expirations" minOccurs="0" />
        <xs:element name="RecipientCorrectionStatuses" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:RecipientCorrectionStatus" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RecipientCorrectionStatus">
    <xs:annotation>
      <xs:documentation>A summary of the significant data about recipient correction status of an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="CorrectionSucceeded" type="xs:boolean" nillable="false" />
        <xs:element ref="dsx:RecipientCorrection" />
        <xs:element ref="dsx:RecipientStatus" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccountMembershipFeaturesList">
    <xs:annotation>
      <xs:documentation>This indicates the Account Membership Features List</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Email" type="dsx:Email" nillable="false" />
        <xs:element name="UserName" type="dsx:UserName" nillable="false" />
        <xs:element name="EnabledFeaturesSet">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="EnabledFeatures" type="xs:string" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccountSettingsList">
    <xs:annotation>
      <xs:documentation>This indicates the Account Settings List</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="AccountSetting" type="dsx:AccountSetting" maxOccurs="unbounded">
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DocuSignEnvelopeInformation">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation>DocuSign Connect format</xs:documentation>
      </xs:annotation>
      <xs:all>
        <xs:element ref="dsx:EnvelopeStatus" />
        <xs:element name="DocumentPDFs" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:DocumentPDF" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="TimeZone" minOccurs="0" type="xs:string" />
        <xs:element name="TimeZoneOffset" minOccurs="0" type="xs:int" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- Method Elements -->
  <!-- CreateEnvelope Request Schema -->
  <xs:element name="CreateEnvelope">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:Envelope" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- CreateAndSendEnvelope Request Schema -->
  <xs:element name="CreateAndSendEnvelope">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:Envelope" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- SendEnvelope Request Schema -->
  <xs:element name="SendEnvelope">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="AccountId" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestStatuses Request Schema -->
  <xs:element name="RequestStatuses">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeStatusFilter" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestStatusesEx">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeStatusFilter"/>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestStatusesWithDocumentFields">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeStatusFilter"/>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- GetAccountMembershipFeaturesList Request Schema -->
  <xs:element name="GetAccountMembershipFeaturesList">
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- GetAccountConfigurationList Request Schema -->
  <xs:element name="GetAccountSettingsList">
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- CorrectAndResendEnvelope Request Schema -->
  <xs:element name="CorrectAndResendEnvelope">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:Correction" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- GetRecipientEsignList Request Schema -->
  <xs:element name="GetRecipientEsignList">
    <xs:complexType>
      <xs:all>
        <xs:element name="UserName" type="dsx:UserName" nillable="false" />
        <xs:element name="SenderEmail" type="dsx:Email" nillable="false" />
        <xs:element name="SenderAccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="RecipientEmail" type="dsx:Email" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- GetRecipientList Request Schema -->
  <xs:element name="GetRecipientList">
    <xs:complexType>
      <xs:all>
        <xs:element name="SenderAccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="RecipientEmail" type="dsx:Email" nillable="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>



    <!-- DeleteAccountBrands Request Schema -->
    <xs:element name="DeleteAccountBrands">
        <xs:complexType>
            <xs:all>
                <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
                <xs:element name="BrandDeleteRequest" type="dsx:BrandDeleteRequest" nillable="false" />
            </xs:all>
        </xs:complexType>
    </xs:element>

    <!-- CreateAccountBrands Request Schema -->
    <xs:element name="CreateAccountBrands">
        <xs:complexType>
            <xs:all>
                <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
                <xs:element name="BrandDefinitions" type="dsx:BrandDefinitions" nillable="false" /> 
            </xs:all>
        </xs:complexType>
    </xs:element>
    
    <!-- GetAccountBrands Request Schema -->
  <xs:element name="GetAccountBrands">
    <xs:complexType>
        <xs:all>
            <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        </xs:all>
    </xs:complexType>
  </xs:element> 
    
    
  <!-- GetRecipientAuthenticationStatusEx -->
  <xs:complexType name="GetRecipientAuthenticationStatusExArg">
    <xs:all>
      <xs:element name="EnvelopeId" type="dsx:DSXId" />
      <xs:element name="RecipientName" type="xs:string" />
      <xs:element name="RecipientEmail" type="dsx:Email" />
      <xs:element name="RoutingOrder" type="xs:int" minOccurs="0" />
    </xs:all>
  </xs:complexType>
  <xs:element name="GetRecipientAuthenticationStatusEx">
    <xs:complexType>
      <xs:all>
        <xs:element name="Arg" type="dsx:GetRecipientAuthenticationStatusExArg" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- VoidEnvelope Request Schema -->
  <xs:element name="VoidEnvelope">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="Reason">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="200" />
              <xs:minLength value="1" />
              <xs:pattern value=".*\S+.*" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestStatusChanges Request Schema -->
  <xs:element name="RequestStatusChanges">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeStatusChangeFilter" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestStatusCodes Request Schema -->
  <xs:element name="RequestStatusCodes">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeStatusFilter" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestStatus Request Schema -->
  <xs:element name="RequestStatus">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestStatusEx">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId"/>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestStatusWithDocumentFields">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestPDF Request Schema -->
  <xs:element name="RequestPDF">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestPDFWithCert Request Schema -->
  <xs:element name="RequestPDFWithCert">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="AddWaterMark" type="xs:boolean" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestPDFNoWaterMark Request Schema -->
  <xs:element name="RequestPDFNoWaterMark">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestPDFWithOptions Request Schema -->
  <xs:element name="RequestPDFWithOptions">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="PDFOptions" type="dsx:PDFOptions" nillable="false" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestPDFRecipientsView Request Schema -->
  <xs:element name="RequestPDFRecipientsView">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="RecipientName" type="xs:string" />
        <xs:element name="RecipientEmail" type="dsx:Email" />
        <xs:element name="PDFOptions" type="dsx:PDFOptions" nillable="false" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestPDFsWithOptions Request Schema -->
  <xs:element name="RequestPDFsWithOptions">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="PDFsOptions" type="dsx:PDFsOptions" nillable="false" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestDocumentPDF Request Schema -->
  <xs:element name="RequestDocumentPDFs">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestDocumentPDFsEx">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestDocumentPDFsRecipientsView">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="RecipientName" type="xs:string" />
        <xs:element name="RecipientEmail" type="xs:string" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestCertificate Request Schema -->
  <xs:element name="RequestCertificate">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestRecipientToken Request Schema -->
  <xs:element name="RequestRecipientToken">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="ClientUserID" type="dsx:LongString" />
        <xs:element name="Username" type="dsx:UserName" />
        <xs:element name="Email" type="dsx:Email" />
        <xs:element name="AuthenticationAssertion">
          <xs:complexType>
            <xs:all>
              <xs:element name="AssertionID">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="50" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="AuthenticationInstant" type="xs:dateTime" />
              <xs:element name="AuthenticationMethod">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="50" />
                    <xs:enumeration value="Password" />
                    <xs:enumeration value="Email" />
                    <xs:enumeration value="PaperDocuments" />
                    <xs:enumeration value="HTTPBasicAuth" />
                    <xs:enumeration value="SSLMutualAuth" />
                    <xs:enumeration value="X509Certificate" />
                    <xs:enumeration value="Kerberos" />
                    <xs:enumeration value="SingleSignOn_CASiteminder" />
                    <xs:enumeration value="SingleSignOn_InfoCard" />
                    <xs:enumeration value="SingleSignOn_MicrosoftActiveDirectory" />
                    <xs:enumeration value="SingleSignOn_Passport" />
                    <xs:enumeration value="SingleSignOn_SAML" />
                    <xs:enumeration value="SingleSignOn_Other" />
                    <xs:enumeration value="Smartcard" />
                    <xs:enumeration value="RSASecureID" />
                    <xs:enumeration value="Biometric" />
                    <xs:enumeration value="None" />
                    <xs:enumeration value="KnowledgeBasedAuth" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SecurityDomain">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="50" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="ClientURLs">
          <xs:complexType>
            <xs:all>
              <xs:element name="OnSigningComplete">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="500" />
                    <xs:minLength value="1" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnViewingComplete">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="500" />
                    <xs:minLength value="1" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnCancel">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnDecline">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnSessionTimeout">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnTTLExpired">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnException">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnAccessCodeFailed" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnIdCheckFailed" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnFaxPending" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="GenerateSignedDocumentAsynch" type="xs:boolean" minOccurs="0" />
            </xs:all>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- RequestRecipientToken Request Schema -->
  <xs:element name="RequestRecipientFaxToken">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="ClientUserID" type="dsx:LongString" />
        <xs:element name="Username" type="dsx:UserName" />
        <xs:element name="Email" type="dsx:Email" />
        <xs:element name="AuthenticationAssertion">
          <xs:complexType>
            <xs:all>
              <xs:element name="AssertionID">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="50" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="AuthenticationInstant" type="xs:dateTime" />
              <xs:element name="AuthenticationMethod">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="50" />
                    <xs:enumeration value="Password" />
                    <xs:enumeration value="Email" />
                    <xs:enumeration value="PaperDocuments" />
                    <xs:enumeration value="HTTPBasicAuth" />
                    <xs:enumeration value="SSLMutualAuth" />
                    <xs:enumeration value="X509Certificate" />
                    <xs:enumeration value="Kerberos" />
                    <xs:enumeration value="SingleSignOn_CASiteminder" />
                    <xs:enumeration value="SingleSignOn_InfoCard" />
                    <xs:enumeration value="SingleSignOn_MicrosoftActiveDirectory" />
                    <xs:enumeration value="SingleSignOn_Passport" />
                    <xs:enumeration value="SingleSignOn_SAML" />
                    <xs:enumeration value="SingleSignOn_Other" />
                    <xs:enumeration value="Smartcard" />
                    <xs:enumeration value="RSASecureID" />
                    <xs:enumeration value="Biometric" />
                    <xs:enumeration value="None" />
                    <xs:enumeration value="KnowledgeBasedAuth" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SecurityDomain">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="50" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="ClientURLs">
          <xs:complexType>
            <xs:all>
              <xs:element name="OnSigningComplete">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="500" />
                    <xs:minLength value="1" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnViewingComplete">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="500" />
                    <xs:minLength value="1" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnCancel">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnDecline">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnSessionTimeout">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnTTLExpired">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnException">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnAccessCodeFailed" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnIdCheckFailed" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OnFaxPending" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1" />
                    <xs:maxLength value="500" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="GenerateSignedDocumentAsynch" type="xs:boolean" minOccurs="0" />
            </xs:all>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>

    <!-- RequestRecipientFaxPDF Request Schema -->
    <xs:element name="RequestRecipientFaxPDF">
        <xs:complexType>
            <xs:all>
                <xs:element name="EnvelopeID" type="dsx:DSXId" />
                <xs:element name="ClientUserID" type="dsx:LongString" />
                <xs:element name="Username" type="dsx:UserName" />
                <xs:element name="Email" type="dsx:Email" />
                <xs:element name="AuthenticationAssertion">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="AssertionID">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:minLength value="1" />
                                        <xs:maxLength value="50" />
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="AuthenticationInstant" type="xs:dateTime" />
                            <xs:element name="AuthenticationMethod">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:minLength value="1" />
                                        <xs:maxLength value="50" />
                                        <xs:enumeration value="Password" />
                                        <xs:enumeration value="Email" />
                                        <xs:enumeration value="PaperDocuments" />
                                        <xs:enumeration value="HTTPBasicAuth" />
                                        <xs:enumeration value="SSLMutualAuth" />
                                        <xs:enumeration value="X509Certificate" />
                                        <xs:enumeration value="Kerberos" />
                                        <xs:enumeration value="SingleSignOn_CASiteminder" />
                                        <xs:enumeration value="SingleSignOn_InfoCard" />
                                        <xs:enumeration value="SingleSignOn_MicrosoftActiveDirectory" />
                                        <xs:enumeration value="SingleSignOn_Passport" />
                                        <xs:enumeration value="SingleSignOn_SAML" />
                                        <xs:enumeration value="SingleSignOn_Other" />
                                        <xs:enumeration value="Smartcard" />
                                        <xs:enumeration value="RSASecureID" />
                                        <xs:enumeration value="Biometric" />
                                        <xs:enumeration value="None" />
                                        <xs:enumeration value="KnowledgeBasedAuth" />
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="SecurityDomain">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:minLength value="1" />
                                        <xs:maxLength value="50" />
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:all>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    
    
    
  <!-- TransferEnvelope Request Schema -->
  <xs:element name="TransferEnvelope">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="AccountID" type="dsx:DSXId" />
        <xs:element name="UserID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- Authoritative Copy Export Schema -->
  <xs:element name="AuthoritativeCopyExportStatus">
    <xs:complexType>
      <xs:all>
        <xs:element name="AuthoritativeCopyExportSuccess" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="ExportKey" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="AuthoritativeCopyExportDocuments">
    <xs:annotation>
      <xs:documentation>Container for DocumentPDF elements, includes count</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="TransactionId" type="dsx:DSXId" />
        <xs:element name="Count" type="xs:int" />
        <xs:element ref="dsx:DocumentPDF" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CompleteAuthoritativeCopyExport">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="TransactionId" type="dsx:DSXId" />
        <xs:element name="ExternalId" type="xs:string" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAuthoritativeCopyExportKey">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="TransactionId" type="dsx:DSXId" />
        <xs:element name="checkSumHash" type="xs:base64Binary" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="AcknowledgeAuthoritativeCopyExport">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="TransactionId" type="dsx:DSXId" />
        <xs:element name="checkSumHash" type="xs:base64Binary" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="ExportAuthoritativeCopy">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeAuditEvents">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="RequestEnvelopeHistoryTokenArg">
    <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="ReturnURL">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="500" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="RequestEnvelopeHistoryToken">
    <xs:complexType>
      <xs:all>
        <xs:element name="Arg" type="dsx:RequestEnvelopeHistoryTokenArg" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="Ping">
  </xs:element>
  <xs:element name="TemplateReference">
    <xs:annotation>
      <xs:documentation>A DocuSign Template and the information necessary to create an Envelope instance from the Template.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateLocation" type="dsx:TemplateLocationCode" minOccurs="0" default="SOAP"/>
        <xs:element name="Template" type="xs:string" nillable="false" minOccurs="0" />
        <xs:element ref="dsx:Document" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This Document will replace the Document in the Template, if exists</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="RoleAssignments" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="RoleAssignment" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="RoleName" type="dsx:LongString"/>
                    <xs:element name="RecipientID" type="dsx:LocalId"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="FieldData" minOccurs="0">
          <xs:complexType>
            <xs:all>
              <xs:element name="DataValues" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="DataValue" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:all>
                          <xs:element name="TabLabel">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="512" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Value">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="2000" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:all>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>
        <xs:element name="AdditionalTabs" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Tab" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Sequence" type="xs:positiveInteger" minOccurs="0" />
        <xs:element name="TemplateAttachments" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Attachment" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="ServerTemplate">
    <xs:annotation>
      <xs:documentation>Server template to be applied in sequence.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Sequence" type="xs:positiveInteger"/>
        <xs:element name="TemplateID" type="xs:string" />
        <xs:element name="TabSizingVersion" type="xs:positiveInteger" minOccurs="0" maxOccurs="1"/>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="InlineTemplate">
    <xs:annotation>
      <xs:documentation>Inline template envelopes to be applied in sequence.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Sequence" type="xs:positiveInteger"/>
        <xs:element ref="dsx:Envelope" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PDFMetaDataTemplate">
    <xs:annotation>
      <xs:documentation>PDF embedded template to be applied in sequence.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Sequence" type="xs:positiveInteger"/>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="CompositeTemplate">
    <xs:annotation>
      <xs:documentation>A PDF Form and DocuSign Templates to overlay to create an Envelope instance.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ServerTemplates" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:ServerTemplate" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="InlineTemplates" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:InlineTemplate" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element ref="dsx:PDFMetaDataTemplate" minOccurs="0">
          <xs:annotation>
            <xs:documentation>If supplied the template will be pulled from the PDF metadata and applied, if exists</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element ref="dsx:Document" minOccurs="0">
          <xs:annotation>
            <xs:documentation>This Document will replace the Document in the Template, if exists</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeInformation">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation>Envelope-level information that overlays the information from the Templates.</xs:documentation>
      </xs:annotation>
      <xs:all>
        <xs:element name="TransactionID" type="dsx:LongString" minOccurs="0" />
        <xs:element name="Asynchronous" type="xs:boolean" minOccurs="0" />
        <!--<xs:element name="PreventDuplicateEnvelope" type="xs:boolean" minOccurs="0" default="true" />-->
        <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="EmailBlurb" nillable="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The (optional) email message that will be included in the body of the email message sent to the recipients.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:whiteSpace value="preserve" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Subject" type="xs:string" nillable="false" minOccurs="0" />
        <xs:element name="SigningLocation" type="dsx:SigningLocationCode" nillable="false" minOccurs="0" />
        <xs:element name="CustomFields" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomField" type="dsx:CustomField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="VaultingOptions" type="dsx:VaultingOptions" nillable="false" minOccurs="0" />
        <xs:element name="AutoNavigation" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="EnvelopeIdStamping" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="AuthoritativeCopy" type="xs:boolean" minOccurs="0" nillable="false" />
        <xs:element name="Notification" type="dsx:Notification" minOccurs="0" nillable="false" />
        <xs:element name="EnforceSignerVisibility" type="xs:boolean" minOccurs="0" />
        <xs:element name="EnableWetSign" type="xs:boolean" minOccurs="0" />
        <xs:element name="AllowRecipientRecursion" type="xs:boolean" minOccurs="0" />
        <xs:element name="AllowMarkup" type="xs:boolean" minOccurs="0" />
        <xs:element name="EventNotification" type="dsx:EventNotification" minOccurs="0" />
        <xs:element name="AllowReassign" type="xs:boolean" minOccurs="0" />
        <xs:element name="BrandId" type="dsx:LongString" minOccurs="0" />
        <xs:element name="Accessibility" type="xs:base64Binary" minOccurs ="0" />
        <xs:element name="MessageLock" type="xs:boolean" minOccurs ="0" />
        <xs:element name="RecipientsLock" type="xs:boolean" minOccurs ="0" />
        <xs:element name="UseDisclosure" type="xs:boolean" minOccurs ="0" />
        <xs:element name="EmailSettings" type="dsx:EmailSettings" minOccurs ="0" />      
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- CreateEnvelopeFromTemplates Request Schema -->
  <xs:element name="CreateEnvelopeFromTemplates">
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateReferences">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:TemplateReference" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Recipients" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Recipient" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element ref="dsx:EnvelopeInformation" minOccurs="0" />
        <xs:element name="ActivateEnvelope" type="xs:boolean" default="true" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Indicates whether the Envelope should be sent immediately or created as a Draft Envelope. </xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:all>
    </xs:complexType>
    <xs:key name="TemplateRecipientKey">
      <xs:selector xpath="dsx:Recipients/dsx:Recipient" />
      <xs:field xpath="dsx:ID" />
    </xs:key>
  </xs:element>
  <xs:element name="GetStatusInDocuSignConnectFormat">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PurgeDocumentStatus">
    <xs:complexType>
      <xs:all>
        <xs:element name="PurgeDocumentSuccess" type="xs:boolean" />
        <xs:element name="PurgeDocumentError" type="xs:string" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PurgeDocuments">
    <xs:annotation>
      <xs:documentation>Purge documents from an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PurgeDocumentsAndMetaData">
    <xs:annotation>
      <xs:documentation>Purge documents, tab data, and attachments from an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PurgeDocumentsAndMetaDataAndRedact">
    <xs:annotation>
      <xs:documentation>Purge documents, tab data, attachments and redact PII data from an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeTemplateDefinition">
    <xs:annotation>
      <xs:documentation>Container for Envelope Template</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateID" type="dsx:DSXId" minOccurs="0" />
        <xs:element name="Name" type="dsx:LongString" />
        <xs:element name="Shared" type="xs:boolean" />
        <xs:element name="TemplatePassword" type="dsx:Password" minOccurs="0" />
        <xs:element name="TemplateDescription" type="xs:string" minOccurs="0" />
        <xs:element name="LastModified" type="xs:dateTime" minOccurs="0" />
        <xs:element name="PageCount" type="xs:int" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeTemplate">
    <xs:annotation>
      <xs:documentation>Container for Envelope Template</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeTemplateDefinition" />
        <xs:element ref="dsx:Envelope" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="EnvelopeTemplates">
    <xs:annotation>
      <xs:documentation>Container for Envelope Template definitions elements</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="dsx:EnvelopeTemplateDefinition" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SaveTemplateResult">
    <xs:annotation>
      <xs:documentation>Container for Envelope Template</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Success" type="xs:boolean" />
        <xs:element name="TemplateID" type="dsx:DSXId" />
        <xs:element name="Name" type="dsx:LongString" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="SaveTemplate">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeTemplate" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="UploadTemplate">
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateXML" type="xs:string" />
        <xs:element name="AccountID" type="dsx:DSXId" />
        <xs:element name="Shared" type="xs:boolean" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestTemplates">
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountID" type="dsx:DSXId" minOccurs="0" default="" />
        <xs:element name="IncludeAdvancedTemplates" type="xs:boolean" minOccurs="0" default="false" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestTemplate">
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateID" type="dsx:DSXId" />
        <xs:element name="IncludeDocumentBytes" type="xs:boolean" default="true" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestTemplateWithDocumentFields">
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateID" type="dsx:DSXId" />
        <xs:element name="IncludeDocumentBytes" type="xs:boolean" default="true" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestTemplateList">
    <xs:annotation>
      <xs:documentation>Gets a list of template information.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateIDs">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="IncludeDocumentBytes" type="xs:boolean" default="true" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestTemplateListWithDocumentFields">
    <xs:annotation>
      <xs:documentation>Gets a list of template information.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TemplateIDs">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="string" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="IncludeDocumentBytes" type="xs:boolean" default="true" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAuthenticationToken">
    <xs:complexType>
      <xs:all>
        <xs:element name="GoToEnvelopeID" type="dsx:DSXId" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateAddressBookResult">
    <xs:annotation>
      <xs:documentation>Container for Address Book saves</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Success" type="xs:boolean" />
        <xs:element name="AddressBookItems">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="AddressBookItem" type="dsx:AddressBookItem" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAddressBookItems">
    <xs:annotation>
      <xs:documentation>Get the address book for the user.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountID" type="dsx:DSXId" minOccurs="0" default="" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateAddressBookItems">
    <xs:annotation>
      <xs:documentation>Update the users address book with the items passed.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AddressBookItems">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="AddressBookItem" type="dsx:AddressBookItem" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ReturnAddressBook" type="xs:boolean" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RemoveAddressBookItems">
    <xs:annotation>
      <xs:documentation>Remove the items passed from the users address book.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AddressBookRemoveItems">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="AddressBookRemoveItem" type="dsx:AddressBookRemoveItem" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ReturnAddressBook" type="xs:boolean" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="SynchEnvelopeStatus">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeStatus" type="dsx:EnvelopeStatusCode" />
        <xs:element name="EnvelopeID" type="dsx:DSXId" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="SynchEnvelope">
    <xs:annotation>
      <xs:documentation>Synchronize status of an envelope.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="TransactionID" type="dsx:LongString" />
        <xs:element name="AccountID" type="dsx:DSXId" />
        <xs:element name="Block" type="xs:boolean" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestSenderToken">
    <xs:annotation>
      <xs:documentation>Used to retrieve a URL with a token for in-session sending.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" nillable="true" />
        <xs:element name="AccountID" type="dsx:DSXId" nillable="true" />
        <xs:element name="ReturnURL">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="500" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestCorrectToken">
    <xs:annotation>
      <xs:documentation>Used to retrieve a URL with a token for in-session correcting.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="SuppressNavigation" type="xs:boolean" nillable="true" />
        <xs:element name="ReturnURL">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="500" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="InSessionSendEvents">
    <xs:complexType>
      <xs:annotation>
        <xs:documentation>List of events returned to the return URL for an in-session send.</xs:documentation>
      </xs:annotation>
      <xs:all>
        <xs:element name="Events" type="dsx:InSessionSendEvent" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateEnvelopeFromTemplatesAndForms">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:EnvelopeInformation" minOccurs="0" />
        <xs:element name="CompositeTemplates">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:CompositeTemplate" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ActivateEnvelope" type="xs:boolean">
          <xs:annotation>
            <xs:documentation>Indicates whether the Envelope should be sent immediately or created as a Draft Envelope. </xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="FolderItem">
    <xs:annotation>
      <xs:documentation>List of envelopes in a folder for the user</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="Status" type="dsx:EnvelopeStatusCode" />
        <xs:element name="Owner" type="xs:string" />
        <xs:element name="SenderName" type="xs:string" />
        <xs:element name="SenderEmail" type="xs:string" />
        <xs:element name="SenderCompany" type="xs:string" />
        <xs:element name="RecipientStatuses" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:RecipientStatus" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="CustomFields" nillable="false" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="CustomField" type="dsx:CustomField" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Created" type="xs:dateTime" minOccurs="0" />
        <xs:element name="Sent" type="xs:dateTime" minOccurs="0" />
        <xs:element name="Completed" type="xs:dateTime" minOccurs="0" />
        <xs:element name="Subject" type="xs:string" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="Folder">
    <xs:annotation>
      <xs:documentation>Folder type and name if Normal folder</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="FolderOwner" type="dsx:UserInfo" />
        <xs:element name="FolderTypeInfo" type="dsx:FolderTypeInfo" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="FolderResults">
    <xs:annotation>
      <xs:documentation>List of envelopes in a folder for the user</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="ResultSetSize" type="xs:int" />
        <xs:element name="StartPosition" type="xs:int" />
        <xs:element name="EndPosition" type="xs:int" />
        <xs:element name="FolderTypeInfo" type="dsx:FolderTypeInfo" />
        <xs:element name="FolderItems" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:FolderItem" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="AvailableFolders">
    <xs:annotation>
      <xs:documentation>List of envelopes in a folder for the user</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="Folders" nillable="true">
          <xs:complexType>
            <xs:sequence>
              <xs:element ref="dsx:Folder" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- GetFolderItems Request Schema -->
  <xs:element name="FolderFilter">
    <xs:annotation>
      <xs:documentation>This element provides the filtering criteria for GetFolderItems requests.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" />
        <xs:element name="FolderOwner" type="dsx:UserInfo" minOccurs="0" />
        <xs:element name="FolderTypeInfo" type="dsx:FolderTypeInfo" minOccurs="0" />
        <xs:element name="StartPosition" type="xs:int" minOccurs="0" />
        <xs:element name="FromDate" type="xs:dateTime" minOccurs="0" />
        <xs:element name="ToDate" type="xs:dateTime" minOccurs="0" />
        <xs:element name="SearchText" type="xs:string" minOccurs="0" />
        <xs:element name="Status" type="dsx:EnvelopeStatusCode" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFolderItems">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:FolderFilter" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- GetFolderList Request Schema -->
  <xs:element name="FoldersFilter">
    <xs:annotation>
      <xs:documentation>This element provides the filtering criteria for GetFolderList requests.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" />
        <xs:element name="IncludeHierarchy" type="xs:boolean" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFolderList">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:FoldersFilter" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestEnvelope">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="IncludeDocumentBytes" type="xs:boolean" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="RequestEnvelopeWithDocumentFields">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element name="IncludeDocumentBytes" type="xs:boolean" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  
   <xs:element name="RequestEnvelopeWithDocumentFieldsV2">
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeID" type="dsx:DSXId" />
        <xs:element ref="dsx:RequestEnvelopeWithDocumentFieldsV2Options" />
      </xs:all>
    </xs:complexType>
  </xs:element>

  <!-- MoveEnvelopes Request Schema -->
  <xs:complexType name="MoveEnvelopesArg">
    <xs:all>
      <xs:element name="EnvelopeIds">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="EnvelopeId" type="dsx:DSXId" maxOccurs="100" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AccountId" type="dsx:DSXId" />
      <xs:element name="FolderFrom" type="dsx:FolderTypeInfo" />
      <xs:element name="FolderTo" type="dsx:FolderTypeInfo" />
    </xs:all>
  </xs:complexType>
  <xs:element name="MoveEnvelopes">
    <xs:complexType>
      <xs:all>
        <xs:element name="Arg" type="dsx:MoveEnvelopesArg" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- DeleteEnvelopes Request Schema -->
  <xs:complexType name="DeleteEnvelopesArg">
    <xs:all>
      <xs:element name="EnvelopeIds">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="EnvelopeId" type="dsx:DSXId" maxOccurs="100" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AccountId" type="dsx:DSXId" />
      <xs:element name="FolderFrom" type="dsx:FolderTypeInfo" />
    </xs:all>
  </xs:complexType>
  <xs:element name="DeleteEnvelopes">
    <xs:complexType>
      <xs:all>
        <xs:element name="Arg" type="dsx:DeleteEnvelopesArg" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- DeleteCaptiveRecipientsSignatures Request Schema -->
  <xs:complexType name="DeleteCaptiveRecipientsSignaturesArg">
    <xs:all>
      <xs:element name="CaptiveRecipients">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="dsx:CaptiveRecipient" maxOccurs="100" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <!-- DeleteCaptiveRecipientsSignatures Request Schema -->
  <xs:complexType name="CaptiveRecipientResults">
    <xs:all>
      <xs:element name="CaptiveRecipients">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="dsx:CaptiveRecipient" maxOccurs="100" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:element name="DeleteCaptiveRecipientsSignatures">
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" nillable="false" />
        <xs:element name="Arg" type="dsx:DeleteCaptiveRecipientsSignaturesArg" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- DocuSign Connect publishing schema -->
  <xs:element name="ConnectFailuresFilter">
    <xs:annotation>
      <xs:documentation>This element provides the filtering criteria for requesting DocuSign Connect failures.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" />
        <xs:element name="DateFrom" type="xs:dateTime" minOccurs="0" />
        <xs:element name="DateTo" type="xs:dateTime" minOccurs="0" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="ConnectFailure">
    <xs:annotation>
      <xs:documentation>This element provides DocuSign Connect failures.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="AccountId" type="dsx:DSXId" />
        <xs:element name="Failed" type="xs:dateTime" />
        <xs:element name="Retried" type="xs:dateTime" minOccurs="0" />
        <xs:element name="RetryCount" type="xs:int" />
        <xs:element name="EnvelopeStatus" type="dsx:EnvelopeStatusCode" />
        <xs:element name="Sender" type="xs:string" />
        <xs:element name="Email" type="xs:string" />
        <xs:element name="Subject" type="xs:string" />
        <xs:element name="Error" type="xs:string" />
        <xs:element name="ConfigId" type="xs:string" />
        <xs:element name="ConfigUrl" type="xs:string" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetConnectFailures">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:ConnectFailuresFilter" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PublishConnectFailuresFilter">
    <xs:annotation>
      <xs:documentation>This element provides the filtering criteria for publishing DocuSign Connect failures.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" />
        <xs:element name="Synchronous" type="xs:boolean" minOccurs="0" />
        <xs:element name="EnvelopeIds">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="EnvelopeId" type="dsx:DSXId" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PublishConnectFailuresResult">
    <xs:annotation>
      <xs:documentation>This element provides the filtering criteria for requesting DocuSign Connect failures.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="EnvelopeId" type="dsx:DSXId" />
        <xs:element name="ConfigId" type="xs:string" />
        <xs:element name="ConfigUrl" type="xs:string" />
        <xs:element name="Status" type="dsx:ConnectPublishStatus" />
        <xs:element name="StatusMessage" type="xs:string" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="PublishConnectFailures">
    <xs:complexType>
      <xs:all>
        <xs:element ref="dsx:PublishConnectFailuresFilter" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <!-- DocuSign Shared Access schema -->
  <xs:complexType name="SharedAccessFilter">
    <xs:all>
      <xs:element name="UserIds" minOccurs="1" maxOccurs="1">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="UserId" type="dsx:DSXId" maxOccurs="200" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ItemType" type="dsx:SharedAccessItemType"  minOccurs="1" maxOccurs="1" />
      <xs:element name="SearchText" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="Shared" type="dsx:SharedAccessShareType" minOccurs="0" maxOccurs="1" />
      <xs:element name="StartAtIndex"  type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" />
      <xs:element name="Count"  type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
  <xs:element name="GetSharedAccessRequest">
    <xs:complexType>
      <xs:all>
        <xs:element name="AccountId" type="dsx:DSXId" minOccurs="1" maxOccurs="1"/>
        <xs:element name="SharedAccessFilter" type="dsx:SharedAccessFilter"  minOccurs="1" maxOccurs="1"/>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="SharedUserInfoRequest">
    <xs:all>
      <xs:element name="UserId" type="dsx:DSXId" nillable="false" minOccurs="1" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SharedUserInfoResponse">
    <xs:all>
      <xs:element name="UserId" type="dsx:DSXId" nillable="false" minOccurs="1" maxOccurs="1" />
      <xs:element name="UserName" type="dsx:UserName" minOccurs="0" maxOccurs="1"  />
      <xs:element name="Email" type="dsx:Email" minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SharedItemRequest">
    <xs:all>
      <xs:element name="User" type="dsx:SharedUserInfoRequest"  minOccurs="1" maxOccurs="1"/>
      <xs:element name="Shared" type="dsx:SharedAccessShareType" minOccurs="1" maxOccurs="1" />
      <xs:element name="ItemType" type="dsx:SharedAccessItemType"  minOccurs="1" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SharedAccessItemRequest">
    <xs:sequence>
      <xs:element name="User" type="dsx:SharedUserInfoRequest" minOccurs="1" maxOccurs="1"/>
      <xs:element name="SharedItem" type="dsx:SharedItemRequest" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="GetSharedAccessResult">
    <xs:all>
      <xs:element name="AccountId" type="dsx:DSXId" minOccurs="1" maxOccurs="1"/>
      <xs:element name="ResultSetSize" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
      <xs:element name="TotalSetSize" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
      <xs:element name="StartAtIndex" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
      <xs:element name="EndAtIndex" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"/>
      <xs:element name="SharedAccessItems" type="dsx:SharedAccessItemResponse" minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SharedAccessItemResponse">
    <xs:sequence>
      <xs:element name="User" type="dsx:SharedUserInfoResponse" minOccurs="1" maxOccurs="1"/>
      <xs:element name="SharedItems" type="dsx:SharedItemResponse" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="ErrorDetails" type="dsx:ErrorDetails" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="SharedItemResponse">
    <xs:all>
      <xs:element name="User" type="dsx:SharedUserInfoResponse" />
      <xs:element name="Shared" type="dsx:SharedAccessShareType" minOccurs="0" maxOccurs="1" />
      <xs:element name="ItemType" type="dsx:SharedAccessItemType"  minOccurs="0" maxOccurs="1" />
      <xs:element name="ErrorDetails" type="dsx:ErrorDetails" minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SetSharedAccessRequest">
    <xs:all>
      <xs:element name="AccountId" type="dsx:DSXId" minOccurs="1" maxOccurs="1" />
      <xs:element name="SharedAccessItems" type="dsx:SharedAccessItemRequest" minOccurs="1" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SetSharedAccessResult">
    <xs:all>
      <xs:element name="AccountId" type="dsx:DSXId" minOccurs="1" maxOccurs="1" />
      <xs:element name="SharedAccessItems" type="dsx:SharedAccessItemResponse" minOccurs="0" maxOccurs="1" />
    </xs:all>
  </xs:complexType>
</xs:schema>