<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="NPSurvey">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="GUID"/>
        <xs:element ref="PromoCode"/>
        <xs:element ref="CID"/>
        <xs:element ref="RecommendLevel"/>
        <xs:element ref="RecommendReason"/>
        <xs:element ref="ContactInfo"/>
      </xs:sequence>
      <xs:attribute name="version" type="xs:string" use="required" />   
    </xs:complexType>
  </xs:element>
  <xs:element name="GUID">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="32"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="PromoCode">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="4"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="CID">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:length value="6"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="RecommendLevel">
    <xs:simpleType>
      <xs:restriction base="xs:integer">
        <xs:minInclusive value="0"/>
        <xs:maxInclusive value="11"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="RecommendReason">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="2000"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="ContactInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="FirstName"/>
        <xs:element ref="LastName"/>
        <xs:element ref="Email"/>
        <xs:element ref="Phone"/>
        <xs:element ref="StreetAddr"/>
        <xs:element ref="City"/>
        <xs:element ref="State"/>
        <xs:element ref="Zip"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FirstName">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="12"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="LastName">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="20"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="Email">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="40"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="Phone">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="12"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="StreetAddr">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="35"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="City">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="22"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="State">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="2"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="Zip">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:minLength value="0"/>
        <xs:maxLength value="10"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
</xs:schema>
