<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="InsuranceRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="AffiliateInfo" type="AffiliateInfoType" />
                <xs:element name="DistributionDirectives" type="DistributionDirectivesType" minOccurs="0" />
                <xs:element name="LegAcceptOffers" type="LegAcceptOffersType" minOccurs="0" />
				<xs:element name="LeadTypeID" type="xs:integer" />
                <xs:element name="ZipCode" type="ZipCodeType" />
                <xs:element name="ContactInfo" type="ContactInfoType" minOccurs="0" />
                <xs:choice id="InsuranceQuoteRequest">
                    <xs:element name="AutoInsurance" type="AutoInsuranceRequest" />
                    <xs:element name="HomeInsurance" type="HomeInsuranceRequest" />
                    <xs:element name="RenterInsurance" type="RenterInsuranceRequest" />
                    <xs:element name="LifeInsurance" type="LifeInsuranceRequest" />
                    <xs:element name="HealthInsurance" type="HealthInsuranceRequest" />
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="AutoInsuranceRequest">
        <xs:sequence>
            <xs:element name="Vehicles">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Vehicle" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Id" type="xs:integer">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Start id=1 and increment by 1 with each vehicle
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Vin" minOccurs="0">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:maxLength value="17" />
                                                <xs:minLength value="17" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Year">
                                        <xs:annotation>
                                            <xs:documentation>
                                            </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="1981" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Make" type="xs:string">
                                        <xs:annotation>
                                            <xs:documentation>
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Model" type="xs:string">
                                        <xs:annotation>
                                            <xs:documentation>
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="SubModel" type="xs:string">
                                        <xs:annotation>
                                            <xs:documentation>
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Owner">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Owned" />
                                                <xs:enumeration value="Leased" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Garage">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="No Cover" />
                                                <xs:enumeration value="Carport" />
                                                <xs:enumeration value="Locked" />
                                                <xs:enumeration value="Private" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="PrimaryUse">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Commute Work" />
                                                <xs:enumeration value="Commute School" />
                                                <xs:enumeration value="Commute Varies" />
                                                <xs:enumeration value="Pleasure" />
                                                <xs:enumeration value="Business" />
                                                <xs:enumeration value="Farm/Ranch Use" />
                                                <xs:enumeration value="Government" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="OneWay" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>
                                                If PRIMARYUSE is one of 'COMMUTE' or 'BUSINESS' options, then ONEWAY must be specified
                                            </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="1" />
                                                <xs:maxInclusive value="99" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="AnnualMileage">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="3000" />
                                                <xs:maxInclusive value="50000" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Salvaged" type="xs:boolean" />
                                    <xs:element name="Comprehensive" type="CompCollType" />
                                    <xs:element name="Collision" type="CompCollType" />
                                    <xs:element name="Motorcycle" type="xs:boolean" minOccurs="0"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Drivers">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Driver" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Id" type="xs:integer">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Start with id=1 and increment by 1 with each driver
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="FirstName" type="NameType">
                                        <xs:annotation>
                                            <xs:documentation>
                                                First driver's firstname must be the same as in ContactInfo
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="LastName" type="NameType">
                                        <xs:annotation>
                                            <xs:documentation>
                                                First driver's lastname must be the same as in ContactInfo
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Gender" type="GenderType" />
                                    <xs:element name="Marital" type="MaritalType" />
                                    <xs:element name="DOB" type="DOBType">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Driver must be at least 16 years old
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Relation" type="RelationType">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Relation for driver with id=1 must be "Self", relation for driver with id&gt;1 cannot be "Self"
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="DLicenseState" type="StateType" />
                                    <xs:element name="DLicenseStatus">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Active" />
                                                <xs:enumeration value="Suspended" />
                                                <xs:enumeration value="Probation" />
                                                <xs:enumeration value="Restricted" />
                                                <xs:enumeration value="Learner" />
                                                <xs:enumeration value="Temporary" />
                                                <xs:enumeration value="International" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="LicensedAge">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Must be less or equal to driver's age
                                            </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="16" />
                                                <xs:maxInclusive value="99" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="VehicleId" type="xs:integer" />
                                    <xs:element name="Filing" type="xs:boolean">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Whether driver requires SR-22 or SR-1 filing with DMV
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Education" type="EducationType" />
                                    <xs:element name="Occupation" type="OccupationType" />
                                    <xs:element name="GoodStudent" type="xs:boolean">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Whether driver is a full time student with GPA of 3.0 or above
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Suspension" type="xs:boolean">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Whether driver had license suspension in the last 5 years
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Incidents" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Ticket" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="DriverId" type="xs:integer" />
                                    <xs:element name="Date" type="xs:date">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Value cannot be older than 3 years
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Description">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Child Seat" />
                                                <xs:enumeration value="Failure to Stop" />
                                                <xs:enumeration value="Illegal U-turn" />
                                                <xs:enumeration value="Seat Belt" />
                                                <xs:enumeration value="Speeding" />
                                                <xs:enumeration value="Other Ticket" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="MajorViolation" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="DriverId" type="xs:integer" />
                                    <xs:element name="Date" type="xs:date">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Value cannot be older than 7 years
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Description">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Driving While Suspended/Revoked" />
                                                <xs:enumeration value="Drunk Driving - Injury" />
                                                <xs:enumeration value="Drunk Driving - no Injury" />
                                                <xs:enumeration value="Hit and Run - Injury" />
                                                <xs:enumeration value="Hit and Run - no Injury" />
                                                <xs:enumeration value="Reckless Driving - Injury" />
                                                <xs:enumeration value="Reckless Driving - no Injury" />
                                                <xs:enumeration value="Speed Contest/Exhibition" />
                                                <xs:enumeration value="Speeding Over 100" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Accident" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="DriverId" type="xs:integer" />
                                    <xs:element name="Date" type="xs:date">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Value cannot be older than 3 years
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Description">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Chargeable Accident - no Injury" />
                                                <xs:enumeration value="Chargeable Accident - Injury" />
                                                <xs:enumeration value="Non-Chargeable Accident" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="PaidAmount" type="xs:integer" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Required if the accident is chargeable
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="Claim" minOccurs="0" maxOccurs="10">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="DriverId" type="xs:integer" />
                                    <xs:element name="Date" type="xs:date">
                                        <xs:annotation>
                                            <xs:documentation>
                                                Value cannot be older than 3 years
                                            </xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Description">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Fire Hail Water Damage" />
                                                <xs:enumeration value="Vandalism Damage" />
                                                <xs:enumeration value="Vehicle Hit Animal" />
                                                <xs:enumeration value="Vehicle Stolen" />
                                                <xs:enumeration value="Windshield Damage" />
                                                <xs:enumeration value="Loss Claim Not Listed" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="PaidAmount">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="0" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="ApplicantInfo">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Credit" type="CreditType" />
                        <xs:element name="IsMilitary" type="xs:boolean" default="false" minOccurs="0"/>
                        <xs:element name="Residence" type="ResidenceType" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="CurrentInsurance">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="CurrentInsuranceType">
                            <xs:sequence>
                                <xs:element name="CoverageType" type="AutoCoverageType" minOccurs="0" />
                            </xs:sequence>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="RequestedCoverage" type="AutoCoverageType" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HomeInsuranceRequest">
        <xs:sequence>
            <xs:element name="ApplicantInfo">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="DOB" type="DOBType" />
                        <xs:element name="Gender" type="GenderType" minOccurs="0"/>
                        <xs:element name="Marital" type="MaritalType" minOccurs="0"/>
                        <xs:element name="IsMilitary" type="xs:boolean" default="false" minOccurs="0"/>
                        <xs:element name="Credit" type="CreditType" />
                        <xs:element name="YearsAtCurrentResidence">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:minInclusive value="0" />
                                    <xs:maxInclusive value="99" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="YearsAtPreviousResidence">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:minInclusive value="0" />
                                    <xs:maxInclusive value="99" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Properties">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Property">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="PropertyType">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Single Family" />
                                                <xs:enumeration value="Duplex" />
                                                <xs:enumeration value="Multi Family" />
                                                <xs:enumeration value="Townhome" />
                                                <xs:enumeration value="Condominium" />
                                                <xs:enumeration value="Mobile Home" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Occupancy">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Primary Residence" />
                                                <xs:enumeration value="Seasonal Residence" />
                                                <xs:enumeration value="Vacation" />
                                                <xs:enumeration value="Tenant Occupied" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Garage">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="No Garage" />
                                                <xs:enumeration value="Carport" />
                                                <xs:enumeration value="Attached - 1 Car" />
                                                <xs:enumeration value="Attached - 2 Cars" />
                                                <xs:enumeration value="Attached - 3 Cars" />
                                                <xs:enumeration value="Not Attached - 1 Car" />
                                                <xs:enumeration value="Not Attached - 2 Cars" />
                                                <xs:enumeration value="Not Attached - 3 Cars" />
                                                <xs:enumeration value="Other" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Foundation">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Basement" />
                                                <xs:enumeration value="Open" />
                                                <xs:enumeration value="Slab" />
                                                <xs:enumeration value="Piers Pilings Stilts" />
                                                <xs:enumeration value="Other" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="HomeSecurity">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="No Alarm" />
                                                <xs:enumeration value="Home Only" />
                                                <xs:enumeration value="Monitoring Company" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="YearBuilt">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="1907" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="YearUpgraded" minOccurs="0">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="1907" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Stories">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="1" />
                                                <xs:enumeration value="1 1/2" />
                                                <xs:enumeration value="2" />
                                                <xs:enumeration value="3" />
                                                <xs:enumeration value="4" />
                                                <xs:enumeration value="Bi-Level" />
                                                <xs:enumeration value="Tri-Level" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Bedrooms">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="1" />
                                                <xs:maxInclusive value="9" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Bathrooms">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="1" />
                                                <xs:maxInclusive value="9" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Fireplace" type="xs:boolean" />
                                    <xs:element name="SquareFootage">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="500" />
                                                <xs:maxInclusive value="5000" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="DwellingValue">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="50000" />
                                                <xs:maxInclusive value="5000000" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="NewlyPurchased" type="xs:boolean" />
                                    <xs:element name="ConstractionClass">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Standard" />
                                                <xs:enumeration value="Luxury" />
                                                <xs:enumeration value="Economical" />
                                                <xs:enumeration value="Manufactured" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ConstructionType">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Wood Frame" />
                                                <xs:enumeration value="Metal Frame" />
                                                <xs:enumeration value="Masonry" />
                                                <xs:enumeration value="Log Home" />
                                                <xs:enumeration value="Other" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="RoofType">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Asphalt Shingle" />
                                                <xs:enumeration value="Composition Shingle" />
                                                <xs:enumeration value="Wood Shingle" />
                                                <xs:enumeration value="Tile Shingle" />
                                                <xs:enumeration value="Metal Roof" />
                                                <xs:enumeration value="Flat Roof" />
                                                <xs:enumeration value="Other" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="PanelType">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Circuit Breaker" />
                                                <xs:enumeration value="Fuse Box" />
                                                <xs:enumeration value="Other" />
                                                <xs:enumeration value="Unknown" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="ProximityWater">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Not Applicable" />
                                                <xs:enumeration value="Within 1000 feet" />
                                                <xs:enumeration value="Within 1 mile" />
                                                <xs:enumeration value="Within 5 miles" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="Dog" type="xs:boolean" />
                                    <xs:element name="ExteriorWalls">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Mostly Brick" />
                                                <xs:enumeration value="Mostly Wood Frame" />
                                                <xs:enumeration value="Mostly Stone" />
                                                <xs:enumeration value="Aluminum Siding" />
                                                <xs:enumeration value="Vinyl Siding" />
                                                <xs:enumeration value="Veneer" />
                                                <xs:enumeration value="Cinder Block" />
                                                <xs:enumeration value="Stucco" />
                                                <xs:enumeration value="Other" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="HeatingType">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Gas Forced Air" />
                                                <xs:enumeration value="Boiler" />
                                                <xs:enumeration value="Oil" />
                                                <xs:enumeration value="Propane" />
                                                <xs:enumeration value="Electric" />
                                                <xs:enumeration value="Stove" />
                                                <xs:enumeration value="Other" />
                                                <xs:enumeration value="Unknown" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="WiringType">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:string">
                                                <xs:enumeration value="Copper" />
                                                <xs:enumeration value="Aluminum" />
                                                <xs:enumeration value="Knob and Tube" />
                                                <xs:enumeration value="Unknown" />
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="PropertyFeatures" type="PropertyFeaturesType" />
                                    <xs:element name="Claims" minOccurs="0" maxOccurs="1">
                                        <xs:complexType>
                                            <xs:sequence>
                                                <xs:element name="Claim" type="PropertyClaimType" minOccurs="0" maxOccurs="unbounded" />
                                            </xs:sequence>
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="CurrentInsurance" type="CurrentInsuranceType" />
            <xs:element name="RequestedCoverage">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ZipCode" type="ZipCodeType" minOccurs="0"/>
                        <xs:element name="Address" type="xs:string" minOccurs="0"/>
                        <xs:element name="City" minOccurs="0">
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:maxLength value="250" />
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                        <xs:element name="State" type="StateType" minOccurs="0"/>
                        <xs:element name="County" minOccurs="0">
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:maxLength value="250" />
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:element>
                        <xs:element name="CoverageType">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Full Package" />
                                    <xs:enumeration value="Fire and Liability" />
                                    <xs:enumeration value="Liability Only" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Liability">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="100000" />
                                    <xs:enumeration value="300000" />
                                    <xs:enumeration value="500000" />
                                    <xs:enumeration value="1000000" />
                                    <xs:enumeration value="5000000" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Deductible">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="100" />
                                    <xs:enumeration value="250" />
                                    <xs:enumeration value="500" />
                                    <xs:enumeration value="1000" />
                                    <xs:enumeration value="2500" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RenterInsuranceRequest">
        <xs:sequence>
            <xs:element name="ApplicantInfo">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="DOB" type="DOBType" />
                        <xs:element name="Gender" type="GenderType" minOccurs="0"/>
                        <xs:element name="Marital" type="MaritalType" minOccurs="0"/>
                        <xs:element name="Credit" type="CreditType" />
                        <xs:element name="YearsAtCurrentResidence">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:minInclusive value="0" />
                                    <xs:maxInclusive value="99" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="YearsAtPreviousResidence">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:minInclusive value="0" />
                                    <xs:maxInclusive value="99" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Property">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="PropertyType">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Apartment" />
                                    <xs:enumeration value="Single Family" />
                                    <xs:enumeration value="Duplex" />
                                    <xs:enumeration value="Multi Family" />
                                    <xs:enumeration value="Townhome" />
                                    <xs:enumeration value="Condominium" />
                                    <xs:enumeration value="Mobile Home" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Garage">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="No Garage" />
                                    <xs:enumeration value="Carport" />
                                    <xs:enumeration value="Attached - 1 Car" />
                                    <xs:enumeration value="Attached - 2 Cars" />
                                    <xs:enumeration value="Attached - 3 Cars" />
                                    <xs:enumeration value="Not Attached - 1 Car" />
                                    <xs:enumeration value="Not Attached - 2 Cars" />
                                    <xs:enumeration value="Not Attached - 3 Cars" />
                                    <xs:enumeration value="Other" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="HomeSecurity">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="No Alarm" />
                                    <xs:enumeration value="Home Only" />
                                    <xs:enumeration value="Monitoring Company" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="YearBuilt">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:minInclusive value="1907" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Stories">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="1" />
                                    <xs:enumeration value="1 1/2" />
                                    <xs:enumeration value="2" />
                                    <xs:enumeration value="3" />
                                    <xs:enumeration value="4" />
                                    <xs:enumeration value="Bi-Level" />
                                    <xs:enumeration value="Tri-Level" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Bedrooms">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:maxInclusive value="9" />
                                    <xs:minInclusive value="1" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Bathrooms">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:maxInclusive value="9" />
                                    <xs:minInclusive value="1" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Fireplace" type="xs:boolean" />
                        <xs:element name="SquareFootage">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:maxInclusive value="5000" />
                                    <xs:minInclusive value="500" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="PersonalPropertyValue">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:maxInclusive value="1000000" />
                                    <xs:minInclusive value="5000" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Dog" type="xs:boolean" />
                        <xs:element name="Basement" type="xs:boolean" />
                        <xs:element name="PropertyFeatures" type="PropertyFeaturesType" />
                        <xs:element name="Claims" minOccurs="0" maxOccurs="1">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Claim" type="PropertyClaimType" minOccurs="0" maxOccurs="unbounded" />
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="CurrentInsurance" type="CurrentInsuranceType" />
            <xs:element name="RequestedCoverage">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Liability">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="100000" />
                                    <xs:enumeration value="300000" />
                                    <xs:enumeration value="500000" />
                                    <xs:enumeration value="1000000" />
                                    <xs:enumeration value="5000000" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Deductible">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="100" />
                                    <xs:enumeration value="250" />
                                    <xs:enumeration value="500" />
                                    <xs:enumeration value="1000" />
                                    <xs:enumeration value="2500" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LifeInsuranceRequest">
        <xs:sequence>
            <xs:element name="PersonInfo" type="PersonInfoType" />
            <xs:element name="IsMilitary" type="xs:boolean" default="false" minOccurs="0"/>
            <xs:element name="MedicalHistory" type="MedicalHistoryType" />
            <xs:element name="MajorMedical" type="MajorMedicalType" />
            <xs:element name="Occupation" type="OccupationType" />
            <xs:element name="DUI" type="xs:boolean" />
            <xs:element name="Hazards">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Pilot" type="xs:boolean" />
                        <xs:element name="Felony" type="xs:boolean" />
                        <xs:element name="OtherHazards" type="xs:boolean" />
                        <xs:element name="Comments" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>
                                    Required if any of the values are set to TRUE
                                </xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:minLength value="1" />
                                    <xs:maxLength value="500" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="CurrentInsurance" type="CurrentInsuranceType" />
            <xs:element name="RequestedCoverage">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="CoverageType">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Term 1 Year" />
                                    <xs:enumeration value="Term 5 Years" />
                                    <xs:enumeration value="Term 10 Years" />
                                    <xs:enumeration value="Term 15 Years" />
                                    <xs:enumeration value="Term 20 Years" />
                                    <xs:enumeration value="Term 25 Years" />
                                    <xs:enumeration value="Term 30 Years" />
                                    <xs:enumeration value="Whole Life" />
                                    <xs:enumeration value="Universal Life" />
                                    <xs:enumeration value="Variable Life" />
                                    <xs:enumeration value="Investment" />
                                    <xs:enumeration value="Not Sure" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="CoverageAmount">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <!--change to enumeration-->
                                    <xs:minInclusive value="5000" />
                                    <xs:maxInclusive value="15000000" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HealthInsuranceRequest">
        <xs:sequence>
            <xs:element name="ApplicantInfo">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="PersonInfoType">
                            <xs:sequence>
                                <xs:element name="Occupation" type="OccupationType" />
                                <xs:element name="USResidence" type="xs:boolean" />
                                <xs:element name="IsMilitary" type="xs:boolean" default="false" minOccurs="0"/>
                                <xs:element name="HouseholdSize" minOccurs="0" >
                                  <xs:simpleType>
                                    <xs:restriction base="xs:integer">
                                      <xs:minInclusive value="1" />
                                      <xs:maxInclusive value="20" />
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                                <xs:element name="Income" minOccurs="0" >
                                  <xs:simpleType>
                                    <xs:restriction base="xs:decimal">
                                      <xs:minInclusive value="0" />
                                      <xs:maxInclusive value="1000000000" />
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                                <xs:element name="QualifyingLifeEvent" type="xs:boolean" default="false" minOccurs="0"/>
                            </xs:sequence>
                        </xs:extension>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element name="Dependents" minOccurs="0" maxOccurs="1">  
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Dependent" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:complexContent>
                                    <xs:extension base="PersonInfoType">
                                        <xs:sequence>
                                            <xs:element name="DependentType">
                                                <xs:simpleType>
                                                    <xs:restriction base="xs:string">
                                                        <xs:enumeration value="Spouse" />
                                                        <xs:enumeration value="Child" />
                                                    </xs:restriction>
                                                </xs:simpleType>
                                            </xs:element>
                                            <xs:element name="Student" type="xs:boolean" minOccurs="0">
                                                <xs:annotation>
                                                    <xs:documentation>
                                                        Required for children
                                                    </xs:documentation>
                                                </xs:annotation>
                                            </xs:element>
                                        </xs:sequence>
                                    </xs:extension>
                                </xs:complexContent>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="SelfEmployed" type="xs:boolean" />
            <xs:element name="DUI" type="xs:boolean" />
            <xs:element name="ExpectantMother" type="xs:boolean" />
            <xs:element name="MedicalHistory" type="MedicalHistoryType" />
            <xs:element name="MajorMedical" type="MajorMedicalType" />
            <xs:element name="CurrentInsurance" type="CurrentInsuranceType" />
            <xs:element name="RequestedCoverage">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Individual Family" />
                        <xs:enumeration value="Short Term" />
                        <xs:enumeration value="Medicare Supplement" />
                        <xs:enumeration value="COBRA" />
                        <xs:enumeration value="Discount Plan" />
                        <xs:enumeration value="Medicaid" />
                        <xs:enumeration value="Maternity Only" />
                        <xs:enumeration value="Dental Only" />
                        <xs:enumeration value="Vision Only" />
                        <xs:enumeration value="Prescription Only" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LeadMetaDataType">
      <xs:sequence>
        <xs:element name="LeadBornOnDateTimeUtc" type="xs:dateTime" minOccurs="0" />
        <xs:element name="IpAddress" minOccurs="0" >
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:pattern value="((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="UserAgent"  minOccurs="0" >
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="1024" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="TcpaCompliant" type="xs:boolean" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AffiliateInfoType">
        <xs:sequence>
			<xs:element name="PartnerID">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="96" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Token">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="96" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="TrackingCampaign" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="32" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="TrackingKeyword" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="200" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="LeadSourceID" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="20" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="ProductionEnvironment" type="xs:boolean" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DistributionDirectivesType">
        <xs:sequence>
            <xs:element name="Cap">
                <xs:annotation>
                    <xs:documentation>
                        How many times Contactability can distribute the lead. Cap plus DistributionCount must always be greater than or equal to 5
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:integer">
                        <xs:minInclusive value="1" />
                        <xs:maxInclusive value="8" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="DistributionCount" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        How many times the lead has been distributed before passed to us
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:integer">
                        <xs:minInclusive value="0" />
                        <xs:maxInclusive value="8" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:choice id="Directives">
                <xs:element name="Excludes">
                    <xs:complexType>
                      <xs:choice maxOccurs="unbounded">
                            <xs:element name="Exclude" maxOccurs="unbounded" minOccurs="0" type="DistributionType" />
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LegAcceptOffersType">
      <xs:sequence>
        <xs:element name="Leg" type="LegAcceptOfferType" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  <xs:complexType name="LegAcceptOfferType">
    <xs:sequence>
      <xs:element name="LegID" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:unsignedLong"/>
        </xs:simpleType>
      </xs:element>
      <xs:element name="LegGUID" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="64" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
    <xs:complexType name="LegOfferType">
      <xs:annotation>
        <xs:documentation>
          Leg offer type is for internal use only. For sending legs to Contactability, please use the LegAcceptOfferType
        </xs:documentation>
      </xs:annotation>
        <xs:sequence>
            <xs:element name="LegID" minOccurs="1" maxOccurs="1">
                <xs:simpleType>
                    <xs:restriction base="xs:unsignedLong"/>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Payout">
                <xs:annotation>
                    <xs:documentation>
                        Payout amount for the lead
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:decimal" />
                </xs:simpleType>
            </xs:element>
            <xs:element name="CarrierID" type="xs:integer" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        For Internal Use Only
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CarrierName" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Please refer to the list of Contactability insurance carriers provided with your specification documentation.
                        If an agent is not captive, this field should be equal to "Independent", and "LicenseNumber" must be provided
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="64"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="LicenseNumber" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        License Number is a numeric part of corporate residence state license number of an insurance agency, or a personal residence state license number of an insurance agent.
                        All zeros at the beginning of the license number must be trimmed, as well as all non-digit characters.
                        For example: ABC-00123456-0, Must be: 1234560
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="32" />
                        <xs:pattern value="[0-9]\d*" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="OccupationType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Advertising/Public Relations" />
            <xs:enumeration value="Arts/Entertainment/Publishing" />
            <xs:enumeration value="Banking/Mortgage" />
            <xs:enumeration value="Clerical" />
            <xs:enumeration value="Clergy/Religious" />
            <xs:enumeration value="Construction/Facilities" />
            <xs:enumeration value="CPA/Auditor" />
            <xs:enumeration value="Customer Service/Teller" />
            <xs:enumeration value="Disabled" />
            <xs:enumeration value="Doctor/Dentist" />
            <xs:enumeration value="Education/Training" />
            <xs:enumeration value="Engineering/Architecture" />
            <xs:enumeration value="Government" />
            <xs:enumeration value="Health Care" />
            <xs:enumeration value="Homemaker" />
            <xs:enumeration value="Hospitality/Travel" />
            <xs:enumeration value="Human Resources" />
            <xs:enumeration value="Insurance" />
            <xs:enumeration value="Internet/News Media" />
            <xs:enumeration value="Law Enforcement/Security" />
            <xs:enumeration value="Legal" />
            <xs:enumeration value="Management Consulting" />
            <xs:enumeration value="Manufacturing/Operations" />
            <xs:enumeration value="Marketing" />
            <xs:enumeration value="Military/Defense" />
            <xs:enumeration value="Non-Profit/Volunteer" />
            <xs:enumeration value="Other" />
            <xs:enumeration value="Pharmaceutical/Biotech" />
            <xs:enumeration value="Real Estate" />
            <xs:enumeration value="Restaurant/Food Service" />
            <xs:enumeration value="Retail" />
            <xs:enumeration value="Retired" />
            <xs:enumeration value="Sales" />
            <xs:enumeration value="Self Employed" />
            <xs:enumeration value="Skilled Worker" />
            <xs:enumeration value="Student" />
            <xs:enumeration value="Technology" />
            <xs:enumeration value="Telecommunications" />
            <xs:enumeration value="Transportation/Logistics" />
            <xs:enumeration value="Unemployed" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="EducationType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Less than High School" />
            <xs:enumeration value="Some or No High School" />
            <xs:enumeration value="High School Diploma" />
            <xs:enumeration value="Some College" />
            <xs:enumeration value="Associate Degree" />
            <xs:enumeration value="Bachelors Degree" />
            <xs:enumeration value="Masters Degree" />
            <xs:enumeration value="Doctorate Degree" />
            <xs:enumeration value="Other" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="RelationType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Self" />
            <xs:enumeration value="Spouse" />
            <xs:enumeration value="Child" />
            <xs:enumeration value="Sibling" />
            <xs:enumeration value="Parent" />
            <xs:enumeration value="Grandparent" />
            <xs:enumeration value="Grandchild" />
            <xs:enumeration value="Other" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="IncomeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Less than $10,000" />
            <xs:enumeration value="$10,001 - $15,000" />
            <xs:enumeration value="$15,001 - $20,000" />
            <xs:enumeration value="$20,001 - $25,000" />
            <xs:enumeration value="$25,001 - $30,000" />
            <xs:enumeration value="$30,001 - $35,000" />
            <xs:enumeration value="$35,001 - $40,000 " />
            <xs:enumeration value="$40,001 - $45,000" />
            <xs:enumeration value="$45,001 - $50,000" />
            <xs:enumeration value="$50,001 - $55,000" />
            <xs:enumeration value="$55,001 - $60,000" />
            <xs:enumeration value="$60,001 - $65,000" />
            <xs:enumeration value="$65,001 - $70,000" />
            <xs:enumeration value="$70,001 - $75,000" />
            <xs:enumeration value="$75,001 - $80,000" />
            <xs:enumeration value="$80,001 - $85,000" />
            <xs:enumeration value="$85,001 - $90,000" />
            <xs:enumeration value="$90,001 - $95,000" />
            <xs:enumeration value="$95,001 - $100,000" />
            <xs:enumeration value="More than $100,000" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="GenderType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Female" />
            <xs:enumeration value="Male" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DOBType">
        <xs:restriction base="xs:date">
            <xs:minExclusive value="1900-01-01" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MaritalType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Single" />
            <xs:enumeration value="Married" />
            <xs:enumeration value="Separated" />
            <xs:enumeration value="Divorced" />
            <xs:enumeration value="Widowed" />
            <xs:enumeration value="Domestic Partner" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StateType">
        <xs:restriction base="xs:string">
            <xs:pattern value="AL|AK|AZ|AR|CA|CO|CT|DE|DC|FL|GA|HI|ID|IL|IN|IA|KS|KY|LA|ME|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VT|VA|WA|WV|WI|WY" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ZipCodeType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{5}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NameType">
        <xs:restriction base="xs:string">
            <xs:minLength value="2" />
            <xs:maxLength value="24" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PhoneType">
        <xs:restriction base="xs:string">
            <xs:pattern value="\(?[1]?\d{3}\)?\s?-?\d{3}-?\s?\d{4}.*" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CreditType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Poor" />
            <xs:enumeration value="Average" />
            <xs:enumeration value="Good" />
            <xs:enumeration value="Excellent" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="AutoCoverageType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Standard" />
            <xs:enumeration value="Basic" />
            <xs:enumeration value="Superior" />
            <xs:enumeration value="Minimum" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CompCollType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="No Coverage" />
            <xs:enumeration value="0" />
            <xs:enumeration value="50" />
            <xs:enumeration value="100" />
            <xs:enumeration value="250" />
            <xs:enumeration value="500" />
            <xs:enumeration value="1000" />
            <xs:enumeration value="2500" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="ContactInfoType">
        <xs:sequence>
            <xs:element name="FirstName" type="NameType" />
            <xs:element name="LastName" type="NameType" />
            <xs:element name="Address" type="xs:string" />
            <xs:element name="ZipCode" type="ZipCodeType" />
            <xs:element name="City" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="250" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="County" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="250" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="State" type="StateType" minOccurs="0" />
            <xs:element name="PhoneDay" type="PhoneType" />
            <xs:element name="PhoneEve" type="PhoneType" minOccurs="0" />
            <xs:element name="PhoneCell" type="PhoneType" minOccurs="0" />
            <xs:element name="Email">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="[a-zA-Z_0-9\.\-]+@([a-zA-Z_0-9\-]+\.)+[a-zA-Z]{2,4}" />
                        <xs:maxLength value="96" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Comment" type="CommentType" minOccurs="0" />
            <xs:element name="PreferredLanguage" minOccurs="0">
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:minLength value="1" />
                  <xs:maxLength value="50" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="CommentType">
        <xs:restriction base="xs:string">
            <xs:minLength value="1" />
            <xs:maxLength value="500" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ResidenceType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Own" />
            <xs:enumeration value="Rent" />
            <xs:enumeration value="Other" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="PersonInfoType">
        <xs:sequence>
            <xs:element name="FirstName" type="xs:string" minOccurs="0"/>
            <xs:element name="LastName" type="xs:string" minOccurs="0"/>
            <xs:element name="DOB" type="DOBType" />
            <xs:element name="Gender" type="GenderType" />
            <xs:element name="Marital" type="MaritalType" minOccurs="0"/>
            <xs:element name="Height_FT">
                <xs:simpleType>
                    <xs:restriction base="xs:integer">
                        <xs:maxInclusive value="7" />
                        <xs:minInclusive value="3" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Height_IN">
                <xs:simpleType>
                    <xs:restriction base="xs:integer">
                        <xs:minInclusive value="0" />
                        <xs:maxInclusive value="11" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Weight">
                <xs:simpleType>
                    <xs:restriction base="xs:integer">
                        <xs:minInclusive value="4" />
                        <xs:maxInclusive value="500" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Tobacco" type="xs:boolean" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MedicalHistoryType">
        <xs:sequence>
            <xs:element name="Relative_Heart" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>
                        Whether person has immediate relatives with heart desease
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Relative_Cancer" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>
                        Whether person has immediate relatives with cancer
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Medication" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>
                        Whether person is taking prescription medications
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Medical_Treatment" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>
                        Whether person has been treated by a phycisian in the last 12 months
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Hospital" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>
                        Whether person has been hospitalized in the last 5 years
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Comments" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Required if any of the values are set to TRUE
                    </xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1" />
                        <xs:maxLength value="500" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MajorMedicalType">
        <xs:sequence>
            <xs:element name="AIDS_HIV" type="xs:boolean" />
            <xs:element name="Alcohol_Drug_Abuse" type="xs:boolean" />
            <xs:element name="Alzheimers_Disease" type="xs:boolean" />
            <xs:element name="Asthma" type="xs:boolean" />
            <xs:element name="Cancer" type="xs:boolean" />
            <xs:element name="Cholesterol" type="xs:boolean" />
            <xs:element name="Depression" type="xs:boolean" />
            <xs:element name="Diabetes" type="xs:boolean" />
            <xs:element name="Heart_Disease" type="xs:boolean" />
            <xs:element name="High_Blood_Pressure" type="xs:boolean" />
            <xs:element name="Kidney_Disease" type="xs:boolean" />
            <xs:element name="Liver_Disease" type="xs:boolean" />
            <xs:element name="Mental_Illness" type="xs:boolean" />
            <xs:element name="Pulmonary_Disease" type="xs:boolean" />
            <xs:element name="Stroke" type="xs:boolean" />
            <xs:element name="Ulcer" type="xs:boolean" />
            <xs:element name="Vascular_Disease" type="xs:boolean" />
            <xs:element name="Other_Major_Disease" type="xs:boolean" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PropertyClaimType">
        <xs:sequence>
            <xs:element name="Date" type="xs:date" />
            <xs:element name="Type">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Weather" />
                        <xs:enumeration value="Theft" />
                        <xs:enumeration value="Vandalism" />
                        <xs:enumeration value="Fire" />
                        <xs:enumeration value="Water" />
                        <xs:enumeration value="Other" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="AmountPaid">
                <xs:simpleType>
                    <xs:restriction base="xs:decimal">
                        <xs:minInclusive value="0" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Comment" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="250" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PropertyFeaturesType">
        <xs:sequence>
            <xs:element name="Deadbolt_Locks" type="xs:boolean" />
            <xs:element name="Smoke_Alarm" type="xs:boolean" />
            <xs:element name="Fire_Extinguisher" type="xs:boolean" />
            <xs:element name="Manned_Fire_Station_Within_5_Miles" type="xs:boolean" />
            <xs:element name="Fire_Hydrant_Within_1000_Feet" type="xs:boolean" />
            <xs:element name="Indoor_Sprinklers" type="xs:boolean" />
            <xs:element name="Copper_Water_Pipes" type="xs:boolean" />
            <xs:element name="Brush_Hazard_within_500_feet" type="xs:boolean" />
            <xs:element name="Flood_Area" type="xs:boolean" />
            <xs:element name="Central_Air_Conditioning" type="xs:boolean" />
            <xs:element name="Sauna" type="xs:boolean" />
            <xs:element name="Hot_Tub" type="xs:boolean" />
            <xs:element name="Woodburning_Stove" type="xs:boolean" />
            <xs:element name="Sump_Pump" type="xs:boolean" />
            <xs:element name="In_Ground_Swimming_Pool" type="xs:boolean" />
            <xs:element name="Swimming_Pool_Is_Fenced" type="xs:boolean" />
            <xs:element name="Smoker_In_Household" type="xs:boolean" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CurrentInsuranceType">
        <xs:sequence>
            <xs:element name="CurrentlyInsured" type="xs:boolean" />
            <xs:element name="CurrentPolicy" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="CarrierID" type="xs:integer" minOccurs="0">
                            <xs:annotation>
                                <xs:documentation>
                                    Do Not Send This Field - For Internal Use Only
                                </xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="Carrier">
                            <xs:annotation>
                                <xs:documentation>
                                    Allowed carriers can be be retrieved via the documentation provided along with the partner integration specification
                                </xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:maxLength value="64" />
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="Expiration" type="xs:date" />
                        <xs:element name="InsuredSince" type="xs:date">
                            <xs:annotation>
                                <xs:documentation>
                                    Value must be earlier or equal to today's date
                                </xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="LegalEntityType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Sole Proprietorship" />
            <xs:enumeration value="Partnership" />
            <xs:enumeration value="LLC" />
            <xs:enumeration value="S Corporation" />
            <xs:enumeration value="C Corporation" />
            <xs:enumeration value="Other" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="RevenueType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Under $100,000" />
            <xs:enumeration value="$100,000 - $500,000" />
            <xs:enumeration value="$500,000 - $1,000,000" />
            <xs:enumeration value="$1,000,000 - $5,000,000" />
            <xs:enumeration value="$5,000,000 - $10,000,000" />
            <xs:enumeration value="Over $10,000,000" />
        </xs:restriction>
    </xs:simpleType>
  <xs:complexType name="DistributionType">
    <xs:sequence>
      <xs:element name="CarrierID" type="xs:integer" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            For Internal Use Only
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CarrierGroupID" type="xs:integer" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            For Internal Use Only
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CarrierName" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            Please refer to the list of Contactability insurance carriers provided with your specification documentation.
            If an agent is not captive, this field should be equal to "Independent", and "LicenseNumber" must be provided
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="64" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="AgentCode" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            NOTE: AgentCode is not currently supported within the Contactability system.
            Agent Code is 8 characters long and generated as follows:
            - First letter of firstname
            - First 3 letters of lastname
            - Last 4 digits of phone number
            For example:
            Agent name: John Smith
            Phone number: 800-456-7890
            Code generated: JSMI7890
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[A-z]{4}\d{4}" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="LicenseNumber" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            License Number is a numeric part of corporate residence state license number of an insurance agency, or a personal residence state license number of an insurance agent.
            All zeros at the beginning of the license number must be trimmed, as well as all non-digit characters.
            For example: ABC-00123456-0, Must be: 1234560
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="32" />
            <xs:pattern value="[1-9]\d*" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>