blob: 0a3fbd4905acf115778d0595070f7144ddf757a7 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--Proprietary & Confidential to AnnuityNet, Inc. All use of AnnuityNet material is subject to and restricted by a Confidentiality Agreement or other agreement.-->
<schema targetNamespace="http://www.annuitynet.com/namespace/profiles"
xmlns:pr="http://www.annuitynet.com/namespace/profiles"
xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<element name="ENVELOPE">
<annotation>
<documentation>The transmission envelope that encompases all transactions included in the file. This is the root element of the file.</documentation>
</annotation>
<complexType>
<sequence>
<element name="HEADER">
<annotation>
<documentation>The ENVELOPE header. Contains information about the parties involved in the transmission, and the contents of the file.</documentation>
</annotation>
<complexType>
<sequence>
<element name="SENDING_PARTY_ID" type="string">
<annotation>
<documentation>The identifier for the sending party. The ID is an agreed upon standard between the two parties. </documentation>
</annotation>
</element>
<element name="RECEIVING_PARTY_ID" type="string">
<annotation>
<documentation>The identifier for the receiving party. The ID is an agreed upon standard between the two parties.</documentation>
</annotation>
</element>
<element name="TRANSACTION_COUNT" type="integer">
<annotation>
<documentation>The number of transactions expected in the file. To be used to confirm that the file is complete as the sending party understands it.</documentation>
</annotation>
</element>
<element name="TEST" type="boolean" default="0" minOccurs="0">
<annotation>
<documentation>Optional flag to indicate whether the file is a test file.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
<element ref="pr:TRANSACTION" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="TRANSACTION">
<annotation>
<documentation>The root element of a transaction. Contains all data and metadata regarding a transaction. The SCHEMA_VERSION should be set for all transactions to ensure compliance amongst all parties.</documentation>
</annotation>
<complexType>
<sequence>
<element name="HEADER">
<annotation>
<documentation>The header denotes handling information about the data package(s) stored in the request or response elements. The information describes the execution of the data package, as well as routing and parties involved with the package.</documentation>
</annotation>
<complexType>
<sequence>
<element name="EFFECTIVE_DATE" type="date" minOccurs="0">
<annotation>
<documentation>Date that the transaction should be invoked and the data processed.</documentation>
</annotation>
</element>
<element name="AS_OF_DATETIME" type="dateTime" minOccurs="0">
<annotation>
<documentation>Date and time the transaction was created.</documentation>
</annotation>
</element>
<element name="ACTIVITY">
<annotation>
<documentation source="http://www.annuitnet.com/documentation/profiles">ADD -> Add to the Collections included. Uses the primary keys for the Collections involved. If an attempt is made to add a Collection using primary keys already in use, an error is returned. | MODIFY -> Replaces members of the Collections included. Uses the primary key for the Collection. If a new primary key value is included then a new member is added to the Collection. | DELETE -> Delete members of the Collections included. Uses the primary key for the Collection. If an attempt is made to delete a member where the primary key is not in the Collection, then an error is returned.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="ADD"/>
<enumeration value="MODIFY"/>
<enumeration value="DELETE"/>
</restriction>
</simpleType>
</element>
<element name="TRANSACTION_ID" maxOccurs="unbounded">
<annotation>
<documentation>Transaction_ID captures the external Transaction ID for each party that handles the transaction.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PARTY_ID" type="string"/>
<element name="TRANSACTION_ID" type="string"/>
</sequence>
</complexType>
</element>
<element name="ROUTING">
<annotation>
<documentation>Contains the routing 'map' of which parties need to take part in the transaction and the order their interaction occurs.</documentation>
</annotation>
<complexType>
<sequence>
<element name="STEP" maxOccurs="unbounded">
<annotation>
<documentation>Describes each step of the routing map. Many transactions will only include one record in this node, with an order of 1.</documentation>
</annotation>
<complexType>
<complexContent>
<extension base="pr:STEPType">
<sequence>
<element name="ORDER" type="integer"/>
</sequence>
</extension>
</complexContent>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="ROUTING_HISTORY">
<annotation>
<documentation>Provides a routing log, which stores a record for each party that handles the transaction.</documentation>
</annotation>
<complexType>
<sequence>
<element name="STEP" maxOccurs="unbounded">
<annotation>
<documentation>Stores a record for each party interaction on the transaction. Each party should store their send or receive date and time, once they receive the packet. This history can be reconciled against the planned routing steps to ensure that the transaction workflow was successful.</documentation>
</annotation>
<complexType>
<complexContent>
<extension base="pr:STEPType">
<sequence>
<element name="SEND_DATETIME" type="dateTime"/>
<element name="RECEIVE_DATETIME" type="dateTime" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="TRANSACTION_TYPE">
<annotation>
<documentation>The type of transaction that this represents. For example, a Product Definition.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="BUSINESS_UNIT_DEFINITION"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
</element>
<element name="REQUEST">
<annotation>
<documentation>The REQUEST element contains the data neccessary for the request. This data comes from the sending party to be analyzed and used by the receiving party.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:BUSINESS_UNITS" minOccurs="0"/>
<element ref="pr:USERS" minOccurs="0"/>
<element ref="pr:USER_ROLES" minOccurs="0"/>
<element ref="pr:ACCOUNTS" minOccurs="0"/>
<element ref="pr:CONTACTS" minOccurs="0"/>
<element ref="pr:BUSINESS_UNIT_AVAILABILITY" minOccurs="0"/>
<element ref="pr:OPERATING_PROFILES" minOccurs="0"/>
<element ref="pr:TRANSACTION_ROUTINGS" minOccurs="0"/>
<element ref="pr:USER_TO_BUSINESS_UNIT_MAPPINGS" minOccurs="0"/>
<element ref="pr:BUSINESS_UNIT_RELATIONSHIPS" minOccurs="0"/>
<element ref="pr:BUSINESS_UNIT_OPERATING_PROFILE_LINKS" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="SCHEMA_VERSION" use="required">
<simpleType>
<restriction base="string">
<enumeration value="PARTNER_XML_INTERFACE_V1.10"/>
</restriction>
</simpleType>
</attribute>
</complexType>
</element>
<element name="IDS">
<complexType>
<sequence>
<element ref="pr:ID" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="ID" type="pr:IDType">
<annotation>
<documentation>When used in an IDS collection this is the ID by which the IDS collection's parent data element is referenced (linked). When used as a subelement of *_LINK element this represents the ID of the referenced data element. When used as a subelement of *_LINK element this represents the ID of the referenced data element.</documentation>
</annotation>
</element>
<element name="BUSINESS_UNITS">
<annotation>
<documentation>Defines a business unit within the distributor. This might be a unit that contains users, such as a firm, or a group that contains other business units. (Commonly used for reporting purposes)</documentation>
</annotation>
<complexType>
<sequence>
<element name="BUSINESS_UNIT" type="pr:BUSINESS_UNITType" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="USERS">
<annotation>
<documentation>Defines the collection of users that will be using the system.</documentation>
</annotation>
<complexType>
<sequence>
<element name="USER" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:IDS"/>
<element name="ACTIVE" type="boolean" minOccurs="0">
<annotation>
<documentation>Flag indicating whether this user account is active or not.</documentation>
</annotation>
</element>
<element name="TIN" type="string" minOccurs="0">
<annotation>
<documentation>User's TIN or SSN</documentation>
</annotation>
</element>
<element name="USER_LOGON_ID" type="string" minOccurs="0">
<annotation>
<documentation>The user's logon id. Should include letters and at least one number. (i.e. user6)</documentation>
</annotation>
</element>
<element name="PASSWORD" type="string" minOccurs="0">
<annotation>
<documentation>The user's logon password. Passwords should be at least 8 characters long, and include at least one of the following: letter, number and punctuation (i.e. 4pa$$word)</documentation>
</annotation>
</element>
<element name="LAST_NAME" type="string" minOccurs="0">
<annotation>
<documentation>The User's Last Name</documentation>
</annotation>
</element>
<element name="FIRST_NAME" type="string" minOccurs="0">
<annotation>
<documentation>The User's First Name</documentation>
</annotation>
</element>
<element name="MIDDLE_INITIAL" minOccurs="0">
<annotation>
<documentation>The User's middle initial</documentation>
</annotation>
<simpleType>
<restriction base="string">
<minLength value="0"/>
<maxLength value="1"/>
</restriction>
</simpleType>
</element>
<element name="SALUTATION_CD" minOccurs="0">
<annotation>
<documentation>The salutation of the user. Should not include any punctuation.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="Mr"/>
<enumeration value="Mrs"/>
<enumeration value="Ms"/>
<enumeration value="Miss"/>
<enumeration value="Dr"/>
<enumeration value="Rev"/>
<enumeration value="Atty"/>
</restriction>
</simpleType>
</element>
<element name="SUFFIX_CD" minOccurs="0">
<annotation>
<documentation>Name suffix of the user. Should not include any punctuation.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="Jr"/>
<enumeration value="Sr"/>
<enumeration value="II"/>
<enumeration value="III"/>
<enumeration value="IV"/>
<enumeration value="MD"/>
</restriction>
</simpleType>
</element>
<element name="EMAIL" type="string" minOccurs="0">
<annotation>
<documentation>The email address of the user. Should be in Internet email format: mailbox@domain.com</documentation>
</annotation>
</element>
<element name="PHONE_NUMBER" type="string" minOccurs="0">
<annotation>
<documentation>The phone number of the user.</documentation>
</annotation>
</element>
<element name="LICENSES" type="pr:LICENSESType" minOccurs="0">
<annotation>
<documentation>The user's licenses, by type and state. </documentation>
</annotation>
</element>
<element name="APPOINTMENTS" type="pr:APPOINTMENTSType" minOccurs="0">
<annotation>
<documentation>The User's appointment rights.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="USER_ROLES">
<annotation>
<documentation>Defines the roles available to a user.</documentation>
</annotation>
<complexType>
<sequence>
<element name="USER_ROLE" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:IDS"/>
<element name="DESCRIPTION" type="string" minOccurs="0">
<annotation>
<documentation>Description of user role.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="USER_TO_BUSINESS_UNIT_MAPPINGS">
<annotation>
<documentation>Defines the user, role, business unit linkages. At the current time AnnuityNet only supports a single role and business unit per user. If one wants to assign multiple roles and/or business units to an individual, then this individual has to appear twice in the USERS collection with different logins.</documentation>
</annotation>
<complexType>
<sequence>
<element name="USER_TO_BUSINESS_UNIT_MAPPING" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="BUSINESS_UNIT_LINK" type="pr:LINKType">
<annotation>
<documentation>The business unit the user will report to.</documentation>
</annotation>
</element>
<element name="USER_LINK" type="pr:LINKType">
<annotation>
<documentation>The ID of the user that is being mapped to the business unit.</documentation>
</annotation>
</element>
<element name="USER_ROLE_LINK" type="pr:LINKType">
<annotation>
<documentation>The User Role of the user, as they are mapped to the business unit.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="BUSINESS_UNIT_AVAILABILITY">
<annotation>
<documentation>Indicates which products, riders, plans, service programs, and funds are available to a business unit.</documentation>
</annotation>
<complexType>
<sequence>
<element name="BUSINESS_UNIT_LINKS">
<complexType>
<sequence>
<element name="BUSINESS_UNIT_LINK" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="AVAILABILITY" type="pr:AVAILABILITYType">
<annotation>
<documentation>Each child element is used as a pass filter. That is, a particular product, plan, rider, service program, fund combination is available to a particular Business Unit in a particular state if this combination is available in the Distributor Definition xml and the Product Definition xml as well as being available in each of the children elements of this element.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="OPTIONALITY" default="OPTIONAL">
<annotation>
<documentation>Is this a required or optional </documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="REQUIRED"/>
<enumeration value="OPTIONAL"/>
</restriction>
</simpleType>
</element>
<element name="TRANSACTION_ROUTINGS">
<annotation>
<documentation>Defines the possible transaction routing methods to be used by the business units. Each transaction routing can include parameters that need to be filled out for that routing type. This element also exists in the Distributor Definition xml which is the preferred source of this information.</documentation>
</annotation>
<complexType>
<sequence>
<element name="TRANSACTION_ROUTING" maxOccurs="unbounded">
<complexType>
<choice>
<element ref="pr:ID"/>
<sequence>
<element ref="pr:IDS"/>
<element name="NAME" type="string">
<annotation>
<documentation>The name of this transaction routing.</documentation>
</annotation>
</element>
<element name="FORMAT">
<annotation>
<documentation>Formats in which transaction requests may be recieved</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="ANSI"/>
<enumeration value="NSCC"/>
<enumeration value="ANNUITYNET_PROFILE_V1.0"/>
<enumeration value="XMLIFE"/>
<enumeration value="TXMLIFE"/>
</restriction>
</simpleType>
</element>
<element name="PARAMETERS" minOccurs="0">
<annotation>
<documentation>A collection of parameters and values that are neccessary for the transaction routing. For instance, an NSCC routing would require a NSCC ID. In this scope, the distributor defines the possible parameters for each routing type, and will fill in the values in the similar structure within the OPERATING_PROFILES element.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PARAMETER" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="NAME" type="string">
<annotation>
<documentation>The name of the parameter</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</choice>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="BUSINESS_UNIT_OPERATING_PROFILE_LINKS">
<annotation>
<documentation>Links the defined operating profiles to the business units they apply to.</documentation>
</annotation>
<complexType>
<sequence>
<element name="BUSINESS_UNIT_LINKS">
<complexType>
<sequence>
<element name="BUSINESS_UNIT_LINK" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="OPERATING_PROFILE_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="OPERATING_PROFILE_LINK" maxOccurs="unbounded">
<annotation>
<documentation>These operating profiles must be restrictions of the operating profiles corresponding to the same product in the Distributor Definition xml.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="OPERATING_PROFILES">
<annotation>
<documentation>Defines a set of possible commission options, transaction types, and money forms available to the business unit. Also, the netting option and transaction routing that the for each transaction type. </documentation>
</annotation>
<complexType>
<sequence>
<element name="OPERATING_PROFILE" type="pr:OPERATING_PROFILEType" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="CONTACTS">
<annotation>
<documentation>Contact information.</documentation>
</annotation>
<complexType>
<sequence>
<element name="CONTACT" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:IDS"/>
<element name="NAME" type="string" minOccurs="0">
<annotation>
<documentation>Contact name.</documentation>
</annotation>
</element>
<element name="PHONE_NUMBER" type="string" minOccurs="0">
<annotation>
<documentation>Contact phone number.</documentation>
</annotation>
</element>
<element name="EMAIL" type="string" minOccurs="0">
<annotation>
<documentation>Contact e-mail address.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="BUSINESS_UNIT_RELATIONSHIPS">
<annotation>
<documentation>Defines the reporting hierarchy. AnnuityNet only supports a single hierarchy -- that is, each business unit can have at most one parent.</documentation>
</annotation>
<complexType>
<sequence>
<element name="BUSINESS_UNIT_RELATIONSHIP" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="PARENT_BUSINESS_UNIT_LINK" type="pr:LINKType">
<annotation>
<documentation>Link to the business unit that will hold the child business unit.</documentation>
</annotation>
</element>
<element name="CHILD_BUSINESS_UNIT_LINK" type="pr:LINKType">
<annotation>
<documentation>The link to the business unit that resides within the parent.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="ACCOUNTS">
<annotation>
<documentation>Accounts to be reported on.</documentation>
</annotation>
<complexType>
<sequence>
<element name="ACCOUNT" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:IDS"/>
<element name="ACCOUNT_NAME" type="string" minOccurs="0">
<annotation>
<documentation>The name of the account.</documentation>
</annotation>
</element>
<element name="OWNER_NAME" type="string" minOccurs="0">
<annotation>
<documentation>The name of the owner of the account</documentation>
</annotation>
</element>
<element name="ABA_NUMBER" type="string" minOccurs="0">
<annotation>
<documentation>The ABA number for the account.</documentation>
</annotation>
</element>
<element name="ACCOUNT_NUMBER" type="string" minOccurs="0">
<annotation>
<documentation>The account number.</documentation>
</annotation>
</element>
<element name="PURPOSE" minOccurs="0">
<annotation>
<documentation>The usage of the account.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="PREMIUM COLLECTION"/>
<enumeration value="COMMISSION RECIEPTS"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<complexType name="LINKType">
<sequence>
<element ref="pr:ID"/>
</sequence>
</complexType>
<complexType name="STEPType">
<sequence>
<element name="RECEIVING_PARTY_ID" type="string"/>
<element name="SENDING_PARTY_ID" type="string"/>
</sequence>
</complexType>
<complexType name="IDType">
<simpleContent>
<extension base="string">
<attribute name="PARTY_LINK_ID" type="string" use="required"/>
</extension>
</simpleContent>
</complexType>
<complexType name="STATESType">
<sequence>
<element name="EXCEPTION" type="boolean" default="0" minOccurs="0">
<annotation>
<documentation>If the exception flag is on, then the state list includes all states, EXCEPT the associated (list) of state(s) </documentation>
</annotation>
</element>
<element name="STATE" type="pr:STATEType" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>Details of State and State approval for selling a product in a specific state</documentation>
</annotation>
</element>
</sequence>
</complexType>
<complexType name="STATEType">
<sequence>
<element name="CODE">
<annotation>
<documentation>Two digit state code</documentation>
</annotation>
<simpleType>
<restriction base="string">
<length value="2"/>
</restriction>
</simpleType>
</element>
<element name="BEGIN_DATE" type="date" minOccurs="0">
<annotation>
<documentation>Date state approval become effective</documentation>
</annotation>
</element>
<element name="END_DATE" type="date" minOccurs="0">
<annotation>
<documentation>Date state approval expires</documentation>
</annotation>
</element>
<element name="TERM_DATE" type="date" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="LICENSESType">
<annotation>
<documentation>Variable sales can only be made when the rep or firm is both FIXED and VARIABLE licensed in the state.</documentation>
</annotation>
<sequence>
<element name="LICENSE" maxOccurs="2">
<complexType>
<sequence>
<element name="TYPE">
<annotation>
<documentation>Indicates whether the license is for fixed or variable annuities.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="FIXED"/>
<enumeration value="VARIABLE"/>
</restriction>
</simpleType>
</element>
<element name="STATES" type="pr:STATESType"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<complexType name="APPOINTMENTSType">
<sequence>
<element name="APPOINTMENT" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="STATUS">
<annotation>
<documentation>The status of this appointment.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="PENDING"/>
<enumeration value="APPOINTED"/>
<enumeration value="TERMINATED"/>
</restriction>
</simpleType>
</element>
<element name="NEW_BUSINESS" type="boolean">
<annotation>
<documentation>Flag indicating whether the appointment includes New Business transactions.</documentation>
</annotation>
</element>
<element name="COMMISSIONS" type="boolean">
<annotation>
<documentation>Flag indicating whether the appointment includes Commisions.</documentation>
</annotation>
</element>
<element name="WRITING_COMPANY">
<annotation>
<documentation>Writing company and lines of business.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="LINES_OF_BUSINESS" minOccurs="0">
<complexType>
<sequence>
<element name="LINE_OF_BUSINESS" maxOccurs="unbounded">
<simpleType>
<restriction base="string">
<enumeration value="INDIVIDUAL_LIFE"/>
<enumeration value="VARIABLE_ANNUITIES"/>
<enumeration value="FIXED_ANNUITIES"/>
<enumeration value="GROUP_LIFE"/>
<enumeration value="VARIABLE_LIFE"/>
<enumeration value="ALL"/>
</restriction>
</simpleType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="STATES" type="pr:STATESType"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<complexType name="BUSINESS_UNITType">
<choice>
<sequence>
<element ref="pr:ID"/>
<element name="ACTIVE" type="boolean" minOccurs="0">
<annotation>
<documentation>Indicates whether the business unit is active or not.</documentation>
</annotation>
</element>
</sequence>
<sequence>
<element ref="pr:IDS"/>
<element name="ACTIVE" type="boolean">
<annotation>
<documentation>Indicates whether the business unit is active or not.</documentation>
</annotation>
</element>
<element name="NAME" type="string">
<annotation>
<documentation>The name of the business unit.</documentation>
</annotation>
</element>
<element name="CLASS" type="string">
<annotation>
<documentation>Level in the reporting hierarchy. Common values are Branch, Region, Distributor, Field Office, etc.</documentation>
</annotation>
</element>
<element name="TIN" type="string">
<annotation>
<documentation>The tax identification number</documentation>
</annotation>
</element>
<element name="ACCOUNT_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="ACCOUNT_LINK" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:ID"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="CONTACT_LINKS" minOccurs="0">
<annotation>
<documentation>Links to the Distributor contacts for the Business Unit in the case of questions or problems.</documentation>
</annotation>
<complexType>
<sequence>
<element name="CONTACT_LINK" maxOccurs="unbounded">
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="RESPONSIBILITY" type="string" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>The purpose for which the contact should be used.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</choice>
</complexType>
<complexType name="OPERATING_PROFILEType">
<sequence>
<element ref="pr:IDS"/>
<element name="NETTING_OPTION" type="boolean" minOccurs="0">
<annotation>
<documentation>The netting option to be used.</documentation>
</annotation>
</element>
<element name="COMMISSION_OPTION_LINKS" minOccurs="0">
<annotation>
<documentation>Links available commission options to the profile. </documentation>
</annotation>
<complexType>
<sequence>
<element name="COMMISSION_OPTION_LINK" maxOccurs="unbounded">
<annotation>
<documentation>Commission options available</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="TRANSACTION_TYPES" minOccurs="0">
<annotation>
<documentation>Describes the transaction types and money forms allowed in this profile.</documentation>
</annotation>
<complexType>
<sequence>
<element name="TRANSACTION_TYPE" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="TYPE">
<annotation>
<documentation>The types of transaction being allowed.</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="APPLICATION"/>
<enumeration value="INITIAL_PREMIUM"/>
<enumeration value="SUBSEQUENT_PREMIUM"/>
<enumeration value="SCHEDULED_ACH_PROGRAM"/>
<enumeration value="WITHDRAWAL"/>
<enumeration value="SURRENDER"/>
<enumeration value="TRANSFER"/>
<enumeration value="REBALANCE"/>
<enumeration value="SYSTEMATIC_WITHDRAWAL_PROGRAM"/>
<enumeration value="MRD_PROGRAM"/>
<enumeration value="MRD"/>
<enumeration value="SCHEDULED_REBALANCE_PROGRAM"/>
<enumeration value="DCA"/>
<enumeration value="DCA_PROGRAM"/>
<enumeration value="SYSTEMATIC_WITHDRAWAL_PROGRAM"/>
<enumeration value="RENEWAL"/>
<enumeration value="ANNUITIZATION"/>
<enumeration value="PAYOUT"/>
<enumeration value="DEATH_CLAIM_PENDING"/>
<enumeration value="DEATH_CLAIM"/>
<enumeration value="SYSTEMATIC_WITHDRAWAL"/>
<enumeration value="SCHEDULED_ACH"/>
</restriction>
</simpleType>
</element>
<element name="MONEY_FORMS" type="pr:MONEY_FORMSType" minOccurs="0">
<annotation>
<documentation>The possible money sources (forms) approved for transfers or transactions into this product.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="TRANSACTION_ROUTING_LINK" minOccurs="0">
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="PARAMETERS" minOccurs="0">
<annotation>
<documentation>The collection of filled in parameters for this transaction routing. For example, this would specify the NSCC number, for a NSCC transaction routing.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PARAMETER" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="NAME" type="string">
<annotation>
<documentation>The name of the parameter. Should match the name of the parameter as defined in the TRANSACTION_ROUTING structure.</documentation>
</annotation>
</element>
<element name="VALUE" type="anySimpleType">
<annotation>
<documentation>The value of this parameter for the profile.</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<complexType name="MONEY_FORMSType">
<sequence>
<element name="MONEY_FORM" maxOccurs="unbounded">
<complexType>
<simpleContent>
<restriction base="string">
<enumeration value="DIRECT"/>
<enumeration value="EXCHANGE"/>
<enumeration value="DIRECT_ROLLOVER"/>
<enumeration value="ROLLOVER"/>
<enumeration value="TRANSFER"/>
<enumeration value="ROTH_CONVERSION"/>
<enumeration value="TAX_YEAR"/>
</restriction>
</simpleContent>
</complexType>
</element>
</sequence>
</complexType>
<complexType name="AVAILABILITYType">
<sequence>
<element name="PRODUCTS" minOccurs="0">
<annotation>
<documentation>Product availability by state.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="STATES" type="pr:STATESType" minOccurs="0">
<annotation>
<documentation>States in which this product is available for sale</documentation>
</annotation>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="PRODUCTS_PLANS" minOccurs="0">
<annotation>
<documentation>Plan availability for products by state.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="PLAN_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="PLAN_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PLANS/PLAN.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="STATES" type="pr:STATESType" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<choice minOccurs="0">
<element name="PRODUCTS_RIDERS">
<annotation>
<documentation>A carrier may use either the PRODUCTS_RIDERS or the PRODUCTS_PLANS_RIDERS elements, but not both.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="RIDER_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="RIDER_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/RIDERS/RIDER.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="CONFIGURATION_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a RIDERS/RIDER/CONFIGURATIONS/CONFIGURATION element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="STATES" type="pr:STATESType" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element ref="pr:OPTIONALITY" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="PRODUCTS_PLANS_RIDERS">
<annotation>
<documentation>A carrier may use either the PRODUCTS_RIDERS or the PRODUCTS_PLANS_RIDERS elements, but not both.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="PLAN_LINKS" minOccurs="0">
<annotation>
<documentation>Plans for which (list) of rider(s) is available</documentation>
</annotation>
<complexType>
<sequence>
<element name="PLAN_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PLANS/PLAN.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="RIDER_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="RIDER_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/RIDERS/RIDER.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="CONFIGURATION_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a RIDERS/RIDER/CONFIGURATIONS/CONFIGURATION element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="STATES" type="pr:STATESType" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element ref="pr:OPTIONALITY" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</choice>
<choice minOccurs="0">
<element name="PRODUCTS_SERVICE_PROGRAMS">
<annotation>
<documentation>A carrier may use either the PRODUCTS_SERVICE_PROGRAMS or the PRODUCTS_PLANS_SERVICE_PROGRAMS elements, but not both.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="SERVICE_PROGRAM_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="SERVICE_PROGRAM_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/SERVICE_PROGRAMS/SERVICE_PROGRAM element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="OPTION_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="OPTION_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/OPTIONS/OPTION element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="CONFIGURATION_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/CONFIGURATIONS/CONFIGURATION element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="STATES" type="pr:STATESType" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element ref="pr:OPTIONALITY" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="PRODUCTS_PLANS_SERVICE_PROGRAMS">
<annotation>
<documentation>A carrier may use either the PRODUCTS_SERVICE_PROGRAMS or the PRODUCTS_PLANS_SERVICE_PROGRAMS elements, but not both.</documentation>
</annotation>
<complexType>
<sequence>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="PLAN_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="PLAN_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PLANS/PLAN.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="SERVICE_PROGRAM_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="SERVICE_PROGRAM_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/SERVICE_PROGRAMS/SERVICE_PROGRAM element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="OPTION__LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="OPTION__LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/OPTIONS/OPTION element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="CONFIGURATION_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="CONFIGURATION_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a SERVICE_PROGRAMS/SERVICE_PROGRAM/CONFIGURATIONS/CONFIGURATION element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="STATES" type="pr:STATESType" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element ref="pr:OPTIONALITY" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</choice>
<element name="PRODUCTS_INVESTMENT_OPTIONS" minOccurs="0">
<annotation>
<documentation>Investment Option availability for products by state</documentation>
</annotation>
<complexType>
<sequence>
<element name="PRODUCT_LINKS">
<complexType>
<sequence>
<element name="PRODUCT_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a REQUEST/PRODUCTS/PRODUCT element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="INVESTMENT_OPTIONS_LINKS" minOccurs="0">
<complexType>
<sequence>
<element name="INVESTMENT_OPTIONS_LINK" maxOccurs="unbounded">
<annotation>
<documentation>This references a an INVESTMENT_OPTION element.</documentation>
</annotation>
<complexType>
<sequence>
<element ref="pr:ID"/>
<element name="STATES" type="pr:STATESType" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</schema>