﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:documentation>Request for UIC, minor version 7. Collection updated for the 2026-2027 school year. Changes include updating the Enrollment component to the most recent version.</xs:documentation>
  </xs:annotation>
  <xs:element name="RequestforUICGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="RequestforUIC">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="1" maxOccurs="1" name="SubmittingEntity" type="SubmittingEntityType" />
              <xs:element minOccurs="1" maxOccurs="1" name="PersonalCore" type="PersonalCoreType" />
              <xs:element minOccurs="0" maxOccurs="1" name="SchoolDemographics" type="SchoolDemographicsType" />
              <xs:element minOccurs="0" maxOccurs="1" name="PersonalDemographics" type="PersonalDemographicsType" />
              <xs:element minOccurs="0" maxOccurs="6" name="Contacts" type="ContactsType" />
              <xs:element minOccurs="0" maxOccurs="1" name="Enrollment" type="EnrollmentType" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute fixed="Collection" name="SchemaVersionMajor" type="xs:string" use="required" />
      <xs:attribute fixed="7" name="SchemaVersionMinor" type="xs:string" use="required" />
      <xs:attribute fixed="318" name="CollectionId" type="xs:int" use="required" />
      <xs:attribute fixed="RequestforUIC" name="CollectionName" type="xs:string" />
      <xs:attribute name="SubmittingSystemVendor" type="xs:string" use="required" />
      <xs:attribute name="SubmittingSystemName" type="xs:string" use="required" />
      <xs:attribute name="SubmittingSystemVersion" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:complexType name="SubmittingEntityType">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="SubmittingEntityTypeCode" type="SubmittingEntityTypeCodeType" />
      <xs:element minOccurs="1" maxOccurs="1" name="SubmittingEntityCode" type="SubmittingEntityCodeType" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="SubmittingEntityTypeCodeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="A" />
      <xs:enumeration value="B" />
      <xs:enumeration value="D" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SubmittingEntityCodeType">
    <xs:restriction base="xs:string">
      <xs:minLength value="5" />
      <xs:maxLength value="10" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PersonalCoreType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="UIC" type="UICType" />
      <xs:element minOccurs="1" maxOccurs="1" name="LastName" type="LastNameType" />
      <xs:element minOccurs="1" maxOccurs="1" name="FirstName" type="FirstNameType" />
      <xs:element minOccurs="0" maxOccurs="1" name="MiddleName" type="MiddleNameType" />
      <xs:element minOccurs="0" maxOccurs="1" name="StudentSuffix" type="StudentSuffixType" />
      <xs:element minOccurs="1" maxOccurs="1" name="DateOfBirth" type="DateOfBirthType" />
      <xs:element minOccurs="0" maxOccurs="1" name="MultipleBirthOrder" type="MultipleBirthOrderType" />
      <xs:element minOccurs="1" maxOccurs="1" name="Gender" type="GenderType" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="UICType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{10,10}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LastNameType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z'\-.,\s]{1,50}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FirstNameType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z'\-.,\s]{1,50}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MiddleNameType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z'\-.,\s]{1,50}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentSuffixType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="10" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DateOfBirthType">
    <xs:restriction base="xs:date">
      <xs:minInclusive value="1753-01-01" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MultipleBirthOrderType">
    <xs:restriction base="xs:int">
      <xs:minInclusive value="0" />
      <xs:maxInclusive value="9" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GenderType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="M" />
      <xs:enumeration value="F" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SchoolDemographicsType">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="OperatingDistrictNumber" type="OperatingDistrictNumberType" />
      <xs:element minOccurs="0" maxOccurs="1" name="SchoolFacilityNumber" type="SchoolFacilityNumberType" />
      <xs:element minOccurs="0" maxOccurs="1" name="StudentIdNumber" type="StudentIdNumberType" />
      <xs:element minOccurs="1" maxOccurs="1" name="GradeOrSetting" type="GradeOrSettingType" />
      <xs:element minOccurs="0" maxOccurs="1" name="S2E2Code" type="S2E2CodeType" />
      <xs:element minOccurs="0" maxOccurs="1" name="BldgOtherwiseAttend" type="BldgOtherwiseAttendType" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="OperatingDistrictNumberType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{5,5}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SchoolFacilityNumberType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{5,5}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentIdNumberType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="20" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GradeOrSettingType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="00" />
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
      <xs:enumeration value="06" />
      <xs:enumeration value="07" />
      <xs:enumeration value="08" />
      <xs:enumeration value="09" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="14" />
      <xs:enumeration value="20" />
      <xs:enumeration value="30" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="S2E2CodeType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{5,5}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BldgOtherwiseAttendType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{5,5}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="PersonalDemographicsType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ResidentLEANumber" type="ResidentLEANumberType" />
      <xs:element minOccurs="0" maxOccurs="1" name="StudentResidentCounty" type="StudentResidentCountyType" />
      <xs:element minOccurs="1" maxOccurs="1" name="Ethnicity" type="EthnicityType" />
      <xs:element minOccurs="0" maxOccurs="1" name="TribalAffiliationStatus" type="xs:boolean" />
      <xs:element minOccurs="0" maxOccurs="1" name="TribalAffiliation" type="TribalAffiliationType" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ResidentLEANumberType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{5,5}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StudentResidentCountyType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
      <xs:enumeration value="06" />
      <xs:enumeration value="07" />
      <xs:enumeration value="08" />
      <xs:enumeration value="09" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="14" />
      <xs:enumeration value="15" />
      <xs:enumeration value="16" />
      <xs:enumeration value="17" />
      <xs:enumeration value="18" />
      <xs:enumeration value="19" />
      <xs:enumeration value="20" />
      <xs:enumeration value="21" />
      <xs:enumeration value="22" />
      <xs:enumeration value="23" />
      <xs:enumeration value="24" />
      <xs:enumeration value="25" />
      <xs:enumeration value="26" />
      <xs:enumeration value="27" />
      <xs:enumeration value="28" />
      <xs:enumeration value="29" />
      <xs:enumeration value="30" />
      <xs:enumeration value="31" />
      <xs:enumeration value="32" />
      <xs:enumeration value="33" />
      <xs:enumeration value="34" />
      <xs:enumeration value="35" />
      <xs:enumeration value="36" />
      <xs:enumeration value="37" />
      <xs:enumeration value="38" />
      <xs:enumeration value="39" />
      <xs:enumeration value="40" />
      <xs:enumeration value="41" />
      <xs:enumeration value="42" />
      <xs:enumeration value="43" />
      <xs:enumeration value="44" />
      <xs:enumeration value="45" />
      <xs:enumeration value="46" />
      <xs:enumeration value="47" />
      <xs:enumeration value="48" />
      <xs:enumeration value="49" />
      <xs:enumeration value="50" />
      <xs:enumeration value="51" />
      <xs:enumeration value="52" />
      <xs:enumeration value="53" />
      <xs:enumeration value="54" />
      <xs:enumeration value="55" />
      <xs:enumeration value="56" />
      <xs:enumeration value="57" />
      <xs:enumeration value="58" />
      <xs:enumeration value="59" />
      <xs:enumeration value="60" />
      <xs:enumeration value="61" />
      <xs:enumeration value="62" />
      <xs:enumeration value="63" />
      <xs:enumeration value="64" />
      <xs:enumeration value="65" />
      <xs:enumeration value="66" />
      <xs:enumeration value="67" />
      <xs:enumeration value="68" />
      <xs:enumeration value="69" />
      <xs:enumeration value="70" />
      <xs:enumeration value="71" />
      <xs:enumeration value="72" />
      <xs:enumeration value="73" />
      <xs:enumeration value="74" />
      <xs:enumeration value="75" />
      <xs:enumeration value="76" />
      <xs:enumeration value="77" />
      <xs:enumeration value="78" />
      <xs:enumeration value="79" />
      <xs:enumeration value="80" />
      <xs:enumeration value="81" />
      <xs:enumeration value="82" />
      <xs:enumeration value="83" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="EthnicityType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-6]{6,6}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TribalAffiliationType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="BayMillsIndianCommunityMichigan" />
      <xs:enumeration value="GrandTraverseBandofOttawaandChippewaIndians" />
      <xs:enumeration value="HannahvilleIndianCommunityMichigan" />
      <xs:enumeration value="KeweenawBayIndianCommunityMichigan" />
      <xs:enumeration value="LacVieuxDesertBandofLakeSuperiorChippewaIndians" />
      <xs:enumeration value="LittleRiverBandofOttawaIndiansMichigan" />
      <xs:enumeration value="LittleTraverseBayBandsofOdawaIndiansMichigan" />
      <xs:enumeration value="MatchebenashshewishBandofPottawatomiIndians" />
      <xs:enumeration value="NottawaseppiHuronBandofthePotawatomiMichigan" />
      <xs:enumeration value="PokagonBandofPotawatomiIndiansMichiganandIndiana" />
      <xs:enumeration value="SaginawChippewaIndianTribeofMichigan" />
      <xs:enumeration value="SaultSte.MarieTribeofChippewaIndiansMichigan" />
      <xs:enumeration value="NotListed" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ContactsType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="AddressTypeDescriptor" type="AddressTypeDescriptorType" />
      <xs:element minOccurs="0" maxOccurs="1" name="StreetNumberName" type="StreetNumberNameType" />
      <xs:element minOccurs="0" maxOccurs="1" name="ApartmentRoomSuiteNumber" type="ApartmentRoomSuiteNumberType" />
      <xs:element minOccurs="0" maxOccurs="1" name="City" type="CityType" />
      <xs:element minOccurs="0" maxOccurs="1" name="StateAbbreviationDescriptor" type="StateAbbreviationDescriptorType" />
      <xs:element minOccurs="0" maxOccurs="1" name="PostalCode" type="PostalCodeType" />
      <xs:element minOccurs="0" maxOccurs="1" name="TelephoneNumber" type="TelephoneNumberType" />
      <xs:element minOccurs="0" maxOccurs="1" name="ElectronicMailAddress" type="ElectronicMailAddressType" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AddressTypeDescriptorType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Physical" />
      <xs:enumeration value="Mailing" />
      <xs:enumeration value="Father" />
      <xs:enumeration value="Mother" />
      <xs:enumeration value="Guardian" />
      <xs:enumeration value="Other" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StreetNumberNameType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="100" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ApartmentRoomSuiteNumberType">
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="100" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CityType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z'\-.,\s0-9]{1,50}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="StateAbbreviationDescriptorType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AA" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="AK" />
      <xs:enumeration value="AL" />
      <xs:enumeration value="AP" />
      <xs:enumeration value="AR" />
      <xs:enumeration value="AS" />
      <xs:enumeration value="AZ" />
      <xs:enumeration value="CA" />
      <xs:enumeration value="CO" />
      <xs:enumeration value="CT" />
      <xs:enumeration value="DC" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="FL" />
      <xs:enumeration value="FM" />
      <xs:enumeration value="GA" />
      <xs:enumeration value="GU" />
      <xs:enumeration value="HI" />
      <xs:enumeration value="IA" />
      <xs:enumeration value="ID" />
      <xs:enumeration value="IL" />
      <xs:enumeration value="IN" />
      <xs:enumeration value="KS" />
      <xs:enumeration value="KY" />
      <xs:enumeration value="LA" />
      <xs:enumeration value="MA" />
      <xs:enumeration value="MD" />
      <xs:enumeration value="ME" />
      <xs:enumeration value="MH" />
      <xs:enumeration value="MI" />
      <xs:enumeration value="MN" />
      <xs:enumeration value="MO" />
      <xs:enumeration value="MP" />
      <xs:enumeration value="MS" />
      <xs:enumeration value="MT" />
      <xs:enumeration value="NC" />
      <xs:enumeration value="ND" />
      <xs:enumeration value="NE" />
      <xs:enumeration value="NH" />
      <xs:enumeration value="NJ" />
      <xs:enumeration value="NM" />
      <xs:enumeration value="NV" />
      <xs:enumeration value="NY" />
      <xs:enumeration value="OH" />
      <xs:enumeration value="OK" />
      <xs:enumeration value="OR" />
      <xs:enumeration value="PA" />
      <xs:enumeration value="PR" />
      <xs:enumeration value="PW" />
      <xs:enumeration value="RI" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="SD" />
      <xs:enumeration value="TN" />
      <xs:enumeration value="TX" />
      <xs:enumeration value="UT" />
      <xs:enumeration value="VA" />
      <xs:enumeration value="VI" />
      <xs:enumeration value="VT" />
      <xs:enumeration value="WA" />
      <xs:enumeration value="WI" />
      <xs:enumeration value="WV" />
      <xs:enumeration value="WY" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PostalCodeType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z'\-.,\s0-9]{5,10}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TelephoneNumberType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
      <xs:maxLength value="24" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ElectronicMailAddressType">
    <xs:restriction base="xs:string">
      <xs:minLength value="7" />
      <xs:maxLength value="128" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="EnrollmentType">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="EnrollmentDate" type="EnrollmentDateType" />
      <xs:element minOccurs="1" maxOccurs="1" name="ExitStatus" type="ExitStatusType" />
      <xs:element minOccurs="0" maxOccurs="1" name="ExitDate" type="ExitDateType" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AdditionalGraduationAward" type="AdditionalGraduationAwardType" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="EnrollmentDateType">
    <xs:restriction base="xs:date">
      <xs:minInclusive value="1753-01-01" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ExitStatusType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="00" />
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
      <xs:enumeration value="06" />
      <xs:enumeration value="07" />
      <xs:enumeration value="08" />
      <xs:enumeration value="09" />
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="14" />
      <xs:enumeration value="15" />
      <xs:enumeration value="16" />
      <xs:enumeration value="17" />
      <xs:enumeration value="18" />
      <xs:enumeration value="19" />
      <xs:enumeration value="20" />
      <xs:enumeration value="21" />
      <xs:enumeration value="30" />
      <xs:enumeration value="40" />
      <xs:enumeration value="41" />
      <xs:enumeration value="42" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ExitDateType">
    <xs:restriction base="xs:date">
      <xs:minInclusive value="1753-01-01" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AdditionalGraduationAwardType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="01" />
      <xs:enumeration value="02" />
      <xs:enumeration value="03" />
      <xs:enumeration value="04" />
      <xs:enumeration value="05" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>