<xsd:schema 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns="http://entp.hud.gov/escrowCloseOut"
        targetNamespace="http://entp.hud.gov/escrowCloseOut"
        elementFormDefault="qualified">

<!-- elements -->

<xsd:element name="process" type="inputType"/>
<xsd:element name="results" type="outputType"/>

<!-- complex types -->

<xsd:complexType name="inputType">
	<xsd:sequence>
		<xsd:element name="MORTGAGEDATA" type="mortgageDataInputType"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="outputType">
	<xsd:sequence>
		<xsd:element name="MORTGAGEDATA" type="mortgageDataOutputType"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="mortgageDataInputType">
	<xsd:sequence>
		<xsd:element name="PROCESSSTATUS" type="ProcessStatusInputType"/>
		<xsd:element name="APPLICATION" type="applicationType"/>
	</xsd:sequence>
	<xsd:attribute name="MISMOVersionID" type="xsd:string"/>
</xsd:complexType>

<xsd:complexType name="mortgageDataOutputType">
	<xsd:sequence>
		<xsd:element name="PROCESSSTATUS" type="ProcessStatusOutputType"/>
		<xsd:element name="APPLICATION" type="applicationType"/>
		<xsd:element name="PROPERTY" type="propertyType"/>
		<xsd:element name="VALUATIONS" type="valuationsType"/>
		<xsd:element name="PARTY" type="partyType"/>
	</xsd:sequence>
	<xsd:attribute name="MISMOVersionID" type="xsd:string"/>
</xsd:complexType>

<xsd:complexType name="ProcessStatusInputType">
	<xsd:sequence>
		<xsd:element name="ProcessStatusCode" type="ProcessStatusCodeInputType"/>
		<xsd:element name="ProcessStatusRequestor" type="xsd:string"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ProcessStatusOutputType">
	<xsd:sequence>
		<xsd:element name="ProcessStatusCode" type="ProcessStatusCodeOutputType"/>
		<xsd:element name="ProcessStatusMessage" type="mType"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="mType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="sCode" type="xsd:integer"/>
            </xsd:extension>
        </xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="applicationType">
	<xsd:sequence>
		<xsd:element name="AgencyCaseIdentifier" type="xsd:string"/>
		<xsd:element name="FHAVA" type="fhaType"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="fhavaType">
	<xsd:sequence>
		<xsd:element name="FHAVARepairEscrow" type="repairEscrowType"/>
		<xsd:element name="FHAVAEscrowExtension" type="escextType"/>
		<xsd:element name="FHAVAHealthAndSafety" type="hasType"/>
		<xsd:element name="FHAVAIncompleteCloseout" type="inccloType"/>
		<xsd:element name="FHAVAEscrowDescription" type="escrowDescriptionType"/>
		<xsd:element name="FHAVA203KConsultantIdentifier" type="con203Type"/>
	</xsd:sequence>
	<xsd:attribute name="FHAVAPriorFinancingIndicator" type="pfIndType"/>
</xsd:complexType>

<xsd:complexType name="escextType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="ApprovedForExtension" type="boolean"/>
                <xsd:attribute name="RevisedExpectedCompletionDate" type="xsd:integer"/> <!-- YYYYMMDD -->
                <xsd:attribute name="ExtensionJustificationReason" type="extReasonType"/>
            </xsd:extension>
        </xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="hasType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="_Resolved" type="boolean"/>
            </xsd:extension>
        </xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="inccloType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="_Reason" type="incReasonType"/>
            </xsd:extension>
        </xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="con203Type">
<!-- text node (consultant name) is output only -->
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
		<xsd:attribute name="_ID" type="xsd:string"/>
		<xsd:attribute name="_Date" type="xsd:integer"/> <!-- YYYYMMDD -->
            </xsd:extension>
        </xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="subjectPropType">
	<xsd:attribute name="Weatherization" type="boolean"/>
</xsd:complexType>

<xsd:complexType name="propertyType">
	<xsd:sequence>
	<xsd:element name="City" type="xsd:string"/>
	<xsd:element name="State" type="stateType"/>
	<xsd:element name="PostalCode" type="xsd:string"/>
	<xsd:element name="County" type="xsd:string"/>
	<xsd:element name="PARSEDSTREETNAME" type="psnameType"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="psnameType">
	<xsd:sequence>
		<xsd:element name="HouseNumber" type="xsd:string"/>
		<xsd:element name="ApartmentOrUnit" type="xsd:string"/>
		<xsd:element name="DirectionPrefix" type="dCardinalType"/>
		<xsd:element name="StreetName" type="xsd:string"/>
		<xsd:element name="StreetSuffix" type="dStreetType"/>
		<xsd:element name="DirectionSuffix" type="dCardinalType"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="valuationsType">
	<xsd:attribute name="VALUATIONSID" type="xsd:integer"/>
	<xsd:attribute name="BuildingStatusType" type="bStatusType"/>
</xsd:complexType>

<xsd:complexType name="partyType">
	<xsd:sequence>
		<xsd:element name="PartyName" type="xsd:string"/>
	</xsd:sequence>
	<xsd:attribute name="PartyType" type="ptypType"/>
</xsd:complexType>

<xsd:complexType name="repairEscrowType">
	<xsd:sequence>
		<xsd:element name="FHAVAEscrowDescription" type="repescTypeType" minOccurs="1" maxOccurs="16"/>
	</xsd:sequence>
	<xsd:attribute name="RepairCompletedDate" type="xsd:integer"/><!-- yyyymmdd -->
	<xsd:attribute name="CompletedDate" type="xsd:integer"/><!-- yyyymmdd -->
	<xsd:attribute name="RepairEscrowAmount" type="xsd:integer"/>
	<xsd:attribute name="EscrowAmount" type="xsd:integer"/>
	<xsd:attribute name="Update" type="updtType"/>
	<xsd:attribute name="ApplyToPrincipalAmount" type="xsd:integer"/>
</xsd:complexType>

<xsd:complexType name="repescTypeType">
	<xsd:attribute name="_Type" type="escrowDescriptionType"/>
</xsd:complexType>


<!-- simple types -->

<xsd:simpleType name="ProcessStatusCodeOutputType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="Success"/>
		<xsd:enumeration value="Error"/>
		<xsd:enumeration value="UNAVAILABLE"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="extReasonType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="NotApplicable"/>
		<xsd:enumeration value="DisputeWithContractor"/>
		<xsd:enumeration value="DiscoveredHealthSafetyIssues"/>
		<xsd:enumeration value="Other"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="incReasonType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="NotApplicable"/>
		<xsd:enumeration value="MortgagePaymentDefault"/>
		<xsd:enumeration value="BankruptcyNotEligibleForHUDREO"/>
		<xsd:enumeration value="BorrowerChangesMind"/>
		<xsd:enumeration value="FundsInsufficientToCompleteProject"/>
		<xsd:enumeration value="UnresolvedDisputeWithContractor"/>
		<xsd:enumeration value="Other"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="pfIndType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="PrioRealEstateOwned"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ProcessStatusCodeInputType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="Update"/>
		<xsd:enumeration value="Query"/>
		<xsd:enumeration value="Remove"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="updtType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="FHAVARepair"/>
		<xsd:enumeration value="FHAVAEEMImprovement"/>
		<xsd:enumeration value="FHAVA203KImprovement"/>
		<xsd:enumeration value="FHAVA203KPowerSaver"/>
		<xsd:enumeration value="FHAVAWeatherization"/>
		<xsd:enumeration value="FHAVAWindSolar"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="escrowDescriptionType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="Appliances"/>
		<xsd:enumeration value="BiomassHeating"/>
		<xsd:enumeration value="CaulkingSealing"/>
		<xsd:enumeration value="Ceilingfans"/>
		<xsd:enumeration value="Doors"/>
		<xsd:enumeration value="GeoThermal"/>
		<xsd:enumeration value="HVAC"/>
		<xsd:enumeration value="Insulation"/>
		<xsd:enumeration value="NotApplicable"/>
		<xsd:enumeration value="Lighting"/>
		<xsd:enumeration value="Roof"/>
		<xsd:enumeration value="Solar"/>
		<xsd:enumeration value="ProgramableThermostats"/>
		<xsd:enumeration value="WholeHouseFan"/>
		<xsd:enumeration value="Windows"/>
		<xsd:enumeration value="WindEnergySystems"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="bStatusType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="Proposed"/>
		<xsd:enumeration value="SubstantiallyRehabilitated"/>
		<xsd:enumeration value="UnderConstruction"/>
		<xsd:enumeration value="Existing"/>
		<xsd:enumeration value="NewConstruction"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="stateType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="AL"/>
		<xsd:enumeration value="AK"/>
		<xsd:enumeration value="AS"/>
		<xsd:enumeration value="AZ"/>
		<xsd:enumeration value="AR"/>
		<xsd:enumeration value="CA"/>
		<xsd:enumeration value="CO"/>
		<xsd:enumeration value="CT"/>
		<xsd:enumeration value="DE"/>
		<xsd:enumeration value="DC"/>
		<xsd:enumeration value="FL"/>
		<xsd:enumeration value="GA"/>
		<xsd:enumeration value="GU"/>
		<xsd:enumeration value="HI"/>
		<xsd:enumeration value="ID"/>
		<xsd:enumeration value="IL"/>
		<xsd:enumeration value="IN"/>
		<xsd:enumeration value="IA"/>
		<xsd:enumeration value="KS"/>
		<xsd:enumeration value="KY"/>
		<xsd:enumeration value="LA"/>
		<xsd:enumeration value="ME"/>
		<xsd:enumeration value="MD"/>
		<xsd:enumeration value="MA"/>
		<xsd:enumeration value="MI"/>
		<xsd:enumeration value="MN"/>
		<xsd:enumeration value="MP"/>
		<xsd:enumeration value="MS"/>
		<xsd:enumeration value="MO"/>
		<xsd:enumeration value="MP"/>
		<xsd:enumeration value="MT"/>
		<xsd:enumeration value="NE"/>
		<xsd:enumeration value="NV"/>
		<xsd:enumeration value="NH"/>
		<xsd:enumeration value="NJ"/>
		<xsd:enumeration value="NM"/>
		<xsd:enumeration value="NY"/>
		<xsd:enumeration value="NC"/>
		<xsd:enumeration value="ND"/>
		<xsd:enumeration value="OH"/>
		<xsd:enumeration value="OK"/>
		<xsd:enumeration value="OR"/>
		<xsd:enumeration value="PA"/>
		<xsd:enumeration value="PR"/>
		<xsd:enumeration value="RI"/>
		<xsd:enumeration value="SC"/>
		<xsd:enumeration value="SD"/>
		<xsd:enumeration value="TN"/>
		<xsd:enumeration value="TX"/>
		<xsd:enumeration value="UT"/>
		<xsd:enumeration value="VT"/>
		<xsd:enumeration value="VI"/>
		<xsd:enumeration value="VA"/>
		<xsd:enumeration value="WA"/>
		<xsd:enumeration value="WV"/>
		<xsd:enumeration value="WI"/>
		<xsd:enumeration value="WY"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="dCardinalType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="N"/>
		<xsd:enumeration value="NE"/>
		<xsd:enumeration value="E"/>
		<xsd:enumeration value="SE"/>
		<xsd:enumeration value="S"/>
		<xsd:enumeration value="SW"/>
		<xsd:enumeration value="W"/>
		<xsd:enumeration value="NW"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="dStreetType">
	<xsd:restriction base="xsd:string">
	<xsd:enumeration value=" "/>
	<xsd:enumeration value="ALY"/>
	<xsd:enumeration value="ANX"/>
	<xsd:enumeration value="ARC"/>
	<xsd:enumeration value="AVE"/>
	<xsd:enumeration value="BYU"/>
	<xsd:enumeration value="BCH"/>
	<xsd:enumeration value="BND"/>
	<xsd:enumeration value="BLF"/>
	<xsd:enumeration value="BLFS"/>
	<xsd:enumeration value="BTM"/>
	<xsd:enumeration value="BLVD"/>
	<xsd:enumeration value="BR"/>
	<xsd:enumeration value="BRG"/>
	<xsd:enumeration value="BRK"/>
	<xsd:enumeration value="BRKS"/>
	<xsd:enumeration value="BG"/>
	<xsd:enumeration value="BGS"/>
	<xsd:enumeration value="BYP"/>
	<xsd:enumeration value="CP"/>
	<xsd:enumeration value="CYN"/>
	<xsd:enumeration value="CPE"/>
	<xsd:enumeration value="CSWY"/>
	<xsd:enumeration value="CTR"/>
	<xsd:enumeration value="CTRS"/>
	<xsd:enumeration value="CIR"/>
	<xsd:enumeration value="CIRS"/>
	<xsd:enumeration value="CLF"/>
	<xsd:enumeration value="CLFS"/>
	<xsd:enumeration value="CLB"/>
	<xsd:enumeration value="CMN"/>
	<xsd:enumeration value="COR"/>
	<xsd:enumeration value="CORS"/>
	<xsd:enumeration value="CRSE"/>
	<xsd:enumeration value="CT"/>
	<xsd:enumeration value="CTS"/>
	<xsd:enumeration value="CV"/>
	<xsd:enumeration value="CVS"/>
	<xsd:enumeration value="CRK"/>
	<xsd:enumeration value="CRES"/>
	<xsd:enumeration value="CRST"/>
	<xsd:enumeration value="XING"/>
	<xsd:enumeration value="CURV"/>
	<xsd:enumeration value="XRD"/>
	<xsd:enumeration value="DL"/>
	<xsd:enumeration value="DM"/>
	<xsd:enumeration value="DV"/>
	<xsd:enumeration value="DR"/>
	<xsd:enumeration value="DRS"/>
	<xsd:enumeration value="EXPY"/>
	<xsd:enumeration value="EST"/>
	<xsd:enumeration value="ESTS"/>
	<xsd:enumeration value="EXT"/>
	<xsd:enumeration value="EXTS"/>
	<xsd:enumeration value="FALL"/>
	<xsd:enumeration value="FLS"/>
	<xsd:enumeration value="FRY"/>
	<xsd:enumeration value="FLD"/>
	<xsd:enumeration value="FLDS"/>
	<xsd:enumeration value="FLT"/>
	<xsd:enumeration value="FLTS"/>
	<xsd:enumeration value="FRD"/>
	<xsd:enumeration value="FRDS"/>
	<xsd:enumeration value="FRST"/>
	<xsd:enumeration value="FRG"/>
	<xsd:enumeration value="FRGS"/>
	<xsd:enumeration value="FRK"/>
	<xsd:enumeration value="FRKS"/>
	<xsd:enumeration value="FT"/>
	<xsd:enumeration value="FWY"/>
	<xsd:enumeration value="GDN"/>
	<xsd:enumeration value="GDNS"/>
	<xsd:enumeration value="GTWY"/>
	<xsd:enumeration value="GLN"/>
	<xsd:enumeration value="GLNS"/>
	<xsd:enumeration value="GRN"/>
	<xsd:enumeration value="GRNS"/>
	<xsd:enumeration value="GRV"/>
	<xsd:enumeration value="GRVS"/>
	<xsd:enumeration value="HBR"/>
	<xsd:enumeration value="HBRS"/>
	<xsd:enumeration value="HVN"/>
	<xsd:enumeration value="HTS"/>
	<xsd:enumeration value="HWY"/>
	<xsd:enumeration value="HL"/>
	<xsd:enumeration value="HLS"/>
	<xsd:enumeration value="HOLW"/>
	<xsd:enumeration value="INLT"/>
	<xsd:enumeration value="IS"/>
	<xsd:enumeration value="ISS"/>
	<xsd:enumeration value="ISLE"/>
	<xsd:enumeration value="JCT"/>
	<xsd:enumeration value="JCTS"/>
	<xsd:enumeration value="KY"/>
	<xsd:enumeration value="KYS"/>
	<xsd:enumeration value="KNL"/>
	<xsd:enumeration value="KNLS"/>
	<xsd:enumeration value="LK"/>
	<xsd:enumeration value="LKS"/>
	<xsd:enumeration value="LAND"/>
	<xsd:enumeration value="LNDG"/>
	<xsd:enumeration value="LN"/>
	<xsd:enumeration value="LGT"/>
	<xsd:enumeration value="LGTS"/>
	<xsd:enumeration value="LF"/>
	<xsd:enumeration value="LCK"/>
	<xsd:enumeration value="LCKS"/>
	<xsd:enumeration value="LDG"/>
	<xsd:enumeration value="LOOP"/>
	<xsd:enumeration value="MALL"/>
	<xsd:enumeration value="MNR"/>
	<xsd:enumeration value="MNRS"/>
	<xsd:enumeration value="MDW"/>
	<xsd:enumeration value="MDWS"/>
	<xsd:enumeration value="MEWS"/>
	<xsd:enumeration value="ML"/>
	<xsd:enumeration value="MLS"/>
	<xsd:enumeration value="MSN"/>
	<xsd:enumeration value="MTWY"/>
	<xsd:enumeration value="MT"/>
	<xsd:enumeration value="MTN"/>
	<xsd:enumeration value="MTNS"/>
	<xsd:enumeration value="NCK"/>
	<xsd:enumeration value="ORCH"/>
	<xsd:enumeration value="OVAL"/>
	<xsd:enumeration value="OPAS"/>
	<xsd:enumeration value="PARK"/>
	<xsd:enumeration value="PKWY"/>
	<xsd:enumeration value="PASS"/>
	<xsd:enumeration value="PSGE"/>
	<xsd:enumeration value="PATH"/>
	<xsd:enumeration value="PIKE"/>
	<xsd:enumeration value="PNE"/>
	<xsd:enumeration value="PNES"/>
	<xsd:enumeration value="PL"/>
	<xsd:enumeration value="PLN"/>
	<xsd:enumeration value="PLNS"/>
	<xsd:enumeration value="PLZ"/>
	<xsd:enumeration value="PT"/>
	<xsd:enumeration value="PTS"/>
	<xsd:enumeration value="PRT"/>
	<xsd:enumeration value="PRTS"/>
	<xsd:enumeration value="PR"/>
	<xsd:enumeration value="RADL"/>
	<xsd:enumeration value="RAMP"/>
	<xsd:enumeration value="RNCH"/>
	<xsd:enumeration value="RPD"/>
	<xsd:enumeration value="RPDS"/>
	<xsd:enumeration value="RST"/>
	<xsd:enumeration value="RDG"/>
	<xsd:enumeration value="RDGS"/>
	<xsd:enumeration value="RIV"/>
	<xsd:enumeration value="RD"/>
	<xsd:enumeration value="RDS"/>
	<xsd:enumeration value="RTE"/>
	<xsd:enumeration value="ROW"/>
	<xsd:enumeration value="RUE"/>
	<xsd:enumeration value="RUN"/>
	<xsd:enumeration value="SHL"/>
	<xsd:enumeration value="SHLS"/>
	<xsd:enumeration value="SHR"/>
	<xsd:enumeration value="SHRS"/>
	<xsd:enumeration value="SKWY"/>
	<xsd:enumeration value="SPG"/>
	<xsd:enumeration value="SPGS"/>
	<xsd:enumeration value="SPUR"/>
	<xsd:enumeration value="SQ"/>
	<xsd:enumeration value="SQS"/>
	<xsd:enumeration value="STA"/>
	<xsd:enumeration value="STRA"/>
	<xsd:enumeration value="STRM"/>
	<xsd:enumeration value="ST"/>
	<xsd:enumeration value="STS"/>
	<xsd:enumeration value="SMT"/>
	<xsd:enumeration value="TER"/>
	<xsd:enumeration value="TRWY"/>
	<xsd:enumeration value="TRCE"/>
	<xsd:enumeration value="TRAK"/>
	<xsd:enumeration value="TRFY"/>
	<xsd:enumeration value="TRL"/>
	<xsd:enumeration value="TUNL"/>
	<xsd:enumeration value="TPKE"/>
	<xsd:enumeration value="UPAS"/>
	<xsd:enumeration value="UN"/>
	<xsd:enumeration value="UNS"/>
	<xsd:enumeration value="VLY"/>
	<xsd:enumeration value="VLYS"/>
	<xsd:enumeration value="VIA"/>
	<xsd:enumeration value="VW"/>
	<xsd:enumeration value="VWS"/>
	<xsd:enumeration value="VLG"/>
	<xsd:enumeration value="VLGS"/>
	<xsd:enumeration value="VL"/>
	<xsd:enumeration value="VIS"/>
	<xsd:enumeration value="WALK"/>
	<xsd:enumeration value="WALL"/>
	<xsd:enumeration value="WAY"/>
	<xsd:enumeration value="WL"/>
	<xsd:enumeration value="WLS"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="ptypType">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="Closer"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="boolean">
	<xsd:restriction base="xsd:string">
		<xsd:enumeration value="Y"/>
		<xsd:enumeration value="Y"/>
		<xsd:enumeration value="Yes"/>
		<xsd:enumeration value="YES"/>
		<xsd:enumeration value="yes"/>
		<xsd:enumeration value="n"/>
		<xsd:enumeration value="N"/>
		<xsd:enumeration value="No"/>
		<xsd:enumeration value="NO"/>
		<xsd:enumeration value="no"/>
	</xsd:restriction>
</xsd:simpleType>

</xsd:schema>