<?xml version="1.0" encoding="UTF-8"?>
<!-- Release 15.2 New Schema -->
<xs:schema 
targetNamespace="http://apply.grants.gov/system/GrantsOpportunity-V1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
    xmlns:GrantsCommonTypes="http://apply.grants.gov/system/GrantsCommonTypes-V1.0"
    xmlns:GrantsCommonElements="http://apply.grants.gov/system/GrantsCommonElements-V1.0"
    xmlns:GrantsForecastSynopsis="http://apply.grants.gov/system/GrantsForecastSynopsis-V1.0"
    xmlns:GrantsRelatedDocument="http://apply.grants.gov/system/GrantsRelatedDocument-V1.0"
    xmlns:GrantsOpportunity="http://apply.grants.gov/system/GrantsOpportunity-V1.0"

    elementFormDefault="qualified" 
    attributeFormDefault="qualified"  
    version="1.0">
   
    <!--
    <xs:import namespace="http://apply.grants.gov/system/GrantsCommonTypes-V1.0" schemaLocation="file:///DevGit/REPO/Applications/grants_schemas/Source/schema/commons/GrantsCommonTypes-V1.0.xsd"  />
    <xs:import namespace="http://apply.grants.gov/system/GrantsCommonElements-V1.0" schemaLocation="file:///DevGit/REPO/Applications/grants_schemas/Source/schema/bizobj/GrantsCommonElements-V1.0.xsd"  />
    <xs:import namespace="http://apply.grants.gov/system/GrantsForecastSynopsis-V1.0" schemaLocation="file:///DevGit/REPO/Applications/grants_schemas/Source/schema/agencyws/GrantsForecastSynopsis-V1.0.xsd" />
    <xs:import namespace="http://apply.grants.gov/system/GrantsRelatedDocument-V1.0" schemaLocation="file:///DevGit/REPO/Applications/grants_schemas/Source/schema/agencyws/GrantsRelatedDocument-V1.0.xsd" />
    -->
     
    <xs:import namespace="http://apply.grants.gov/system/GrantsCommonTypes-V1.0" schemaLocation="https://apply07.grants.gov/apply/system/schemas/GrantsCommonTypes-V1.0.xsd" />
    <xs:import namespace="http://apply.grants.gov/system/GrantsCommonElements-V1.0" schemaLocation="https://apply07.grants.gov/apply/system/schemas/GrantsCommonElements-V1.0.xsd" />
    <xs:import namespace="http://apply.grants.gov/system/GrantsForecastSynopsis-V1.0" schemaLocation="https://apply07.grants.gov/apply/system/schemas/GrantsForecastSynopsis-V1.0.xsd" />
    <xs:import namespace="http://apply.grants.gov/system/GrantsRelatedDocument-V1.0" schemaLocation="https://apply07.grants.gov/apply/system/schemas/GrantsRelatedDocument-V1.0.xsd" />
	
	
    <!-- ================ -->
    <!-- Input Elements-->
    <!-- ================ -->
    <xs:element name="CreateOpportunity">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:AgencyCode" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="GrantsCommonElements:FundingOpportunityNumber" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FundingOpportunityTitle" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="GrantsCommonElements:OpportunityCategory" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:OpportunityCategoryExplanation" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:CFDANumber" minOccurs="1" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="UpdateOpportunity">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:OpportunityID" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FundingOpportunityNumber" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FundingOpportunityTitle" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="GrantsCommonElements:OpportunityCategory" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:OpportunityCategoryExplanation" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:CFDANumber" minOccurs="0" maxOccurs="unbounded" />
                <xs:element ref="GrantsCommonElements:SendUpdateNotificationEmail" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:UpdateComments" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ElementFilter">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Type" type="GrantsOpportunity:ElementType" minOccurs="1" maxOccurs="1" />
                <xs:element name="Value" type="GrantsCommonTypes:StringMin1Max255Type" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DateRangeFilter">
        <xs:complexType >
            <xs:sequence>
                <xs:element name="Type" type="GrantsOpportunity:ElementDateType" minOccurs="1" maxOccurs="1" />
                <xs:element name="BeginValue" type="GrantsCommonTypes:MMDDYYYYFwdSlashType" minOccurs="0" maxOccurs="1" />
                <xs:element name="EndValue" type="GrantsCommonTypes:MMDDYYYYFwdSlashType" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="MultiDateRangeFilter">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsOpportunity:DateRangeFilter"  minOccurs="1" maxOccurs="7" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <!-- Begin Release 17.0 New Schema Definitions -->
    <xs:element name="OpportunityID1" type="GrantsCommonTypes:Number18DigitsType" />
    <xs:element name="OpportunityID2" type="GrantsCommonTypes:Number18DigitsType" />
    <xs:element name="RelationshipComments" type="GrantsCommonTypes:StringMin1Max250Type" />
    <xs:element name="AddRelatedOpportunity">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsOpportunity:OpportunityID1" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:OpportunityID2" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:RelationshipComments" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ModifyRelatedOpportunity">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsOpportunity:OpportunityID1" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:OpportunityID2" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:RelationshipComments" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RemoveRelatedOpportunity">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsOpportunity:OpportunityID1" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:OpportunityID2" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- End Release 17.0 New Schema Definitions -->
    
    <!-- ================ -->
    <!-- Simple TYPE AND ELEMENT DEFINITIONS -->
    <!-- ================ -->
    <xs:element name="ContainsForecast" type="GrantsCommonTypes:YesNoType" />
    <xs:element name="ContainsSynopsis" type="GrantsCommonTypes:YesNoType" />
    <xs:element name="ContainsRelatedDocuments" type="GrantsCommonTypes:YesNoType" />
    <xs:element name="ContainsPackages" type="GrantsCommonTypes:YesNoType" />
    <xs:element name="IncludeDeletedOpportunities" type="GrantsCommonTypes:YesNoType" default="N"/>
    <xs:element name="IncludeSubAgencies" type="GrantsCommonTypes:YesNoType" default="Y"/>
    <xs:element name="DeleteTimestamp" type="xs:dateTime"/>
    <xs:element name="OppFctSynLastUpdatedTimestamp" type="xs:dateTime"/>
    <xs:element name="PackagesLastUpdatedTimestamp" type="xs:dateTime"/>
    <xs:element name="RelatedDocumentsLastUpdatedTimestamp" type="xs:dateTime"/>
    
    <!-- ================ -->
    <!-- Enum Types -->
    <!-- ================ -->
	<xs:simpleType name="ElementDateType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ForecastPostDate" />
			<xs:enumeration value="ForecastArchiveDate" />
			<xs:enumeration value="SynopsisPostDate" />
			<xs:enumeration value="SynopsisCloseDate" />
			<xs:enumeration value="SynopsisArchiveDate" />
			<xs:enumeration value="PackageOpenDate" />
			<xs:enumeration value="PackageCloseDate" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ElementType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="FundingOpportunityNumber" />
			<xs:enumeration value="AgencyCode" />
			<xs:enumeration value="CFDANumber" />
		</xs:restriction>
	</xs:simpleType>
    <!-- ================ -->
    <!-- Output Elements-->
    <!-- ================ -->
    <xs:element name="OpportunityElementsDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:AgencyCode" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="GrantsCommonElements:AgencyName" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="GrantsCommonElements:OpportunityID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FundingOpportunityNumber" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FundingOpportunityTitle" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:CFDANumber" minOccurs="0" maxOccurs="unbounded" />
                <xs:element ref="GrantsCommonElements:OpportunityCategory" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:OpportunityCategoryExplanation" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="OpportunityDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsOpportunity:OpportunityElementsDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsForecastSynopsis:SynopsisDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsForecastSynopsis:ForecastDetails" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="OpportunitySummary">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:OpportunityID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FundingOpportunityNumber" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:AgencyCode" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:AgencyName" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:CFDANumber" minOccurs="0" maxOccurs="unbounded" />
                <xs:element ref="GrantsOpportunity:OppFctSynLastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:RelatedDocumentsLastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:PackagesLastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:ContainsForecast" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:ContainsSynopsis" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:ContainsRelatedDocuments" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:ContainsPackages" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DeletedOpportunitySummary">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:OpportunityID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:DeleteTimestamp" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <!-- Begin Release 17.0 New Schema Definitions -->
    <xs:element name="RelatedOpportunitySummary">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsOpportunity:OpportunityID1" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:OpportunityID2" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RelatedOpportunityDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsOpportunity:OpportunityID1" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:OpportunityID2" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:RelationshipComments" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    <!-- ================ -->
    <!-- WSDL Operation Result Elements-->
    <!-- ================ -->
    <xs:element name="AddRelatedOpportunityResult" >
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:RelatedOpportunitySummary" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ModifyRelatedOpportunityResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:RelatedOpportunitySummary" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RemoveRelatedOpportunityResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsOpportunity:RelatedOpportunitySummary" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- End Release 17.0 New Schema Definitions -->
    
</xs:schema>
