<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="BeachDataSubmission">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="OrganizationDetail" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="OrganizationIdentifier" type="Char12">
								<xs:key name="OrganizationKey">
									<xs:selector xpath="OrganizationDetail"/>
									<xs:field xpath="OrganizationIdentifier"/>
								</xs:key>
							</xs:element>
							<xs:element name="OrganizationNameDetail" minOccurs="0">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="OrganizationType"/>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="OrganizationMailingAddressDetail" type="MailingAddressType" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="OrganizationElectronicAddressDetail" type="ElectronicAddressType" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="OrganizationTelephoneDetail" type="TelephoneType" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="OrganizationPersonDetail" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="PersonIdentifier" type="Char12">
											<xs:key name="PersonKey">
												<xs:selector xpath="OrganizationDetail/OrganizationPersonDetail"/>
												<xs:field xpath="PersonIdentifier"/>
											</xs:key>
										</xs:element>
										<xs:element name="PersonNameDetail" minOccurs="0">
											<xs:complexType>
												<xs:complexContent>
													<xs:extension base="PersonType"/>
												</xs:complexContent>
											</xs:complexType>
										</xs:element>
										<xs:element name="PersonMailingAddressDetail" type="MailingAddressType" minOccurs="0" maxOccurs="unbounded"/>
										<xs:element name="PersonElectronicAddressDetail" type="ElectronicAddressType" minOccurs="0" maxOccurs="unbounded"/>
										<xs:element name="PersonTelephoneDetail" type="TelephoneType" minOccurs="0" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="BeachDetail" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="BeachIdentifier">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:length value="8"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="BeachNameDetail" minOccurs="0">
								<xs:complexType>
									<xs:complexContent>
										<xs:extension base="ProgramInterestType"/>
									</xs:complexContent>
								</xs:complexType>
							</xs:element>
							<xs:element name="BeachActivityDetail" type="ActivityType" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="BeachRoleDetail" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="BeachRoleTypeCode" type="Char12"/>
										<xs:element name="BeachRoleOrganizationIdentifier" type="Char12"/>
										<xs:element name="BeachRolePersonIdentifier" type="Char12" minOccurs="0"/>
										<xs:element name="BeachRoleEffectiveDate" type="xs:dateTime"/>
										<xs:element name="BeachRoleStatusIndicator" type="StatusType"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="BeachProcedureDetail" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="ProcedureType">
								<xs:sequence>
									<xs:element name="ProcedureIdentifier" type="Char12"/>
									<xs:element name="ProcedureTransactionTypeCode">
										<xs:simpleType>
											<xs:restriction base="TransactionType"/>
										</xs:simpleType>
									</xs:element>
									<xs:element name="ProcedureBeachIdentifier" type="Char12" maxOccurs="unbounded"/>
								</xs:sequence>
							</xs:extension>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="MailingAddressType">
		<xs:sequence>
			<xs:element name="MailingAddressTypeCode" type="Char12"/>
			<xs:element name="MailingAddressStreetLine1Text" type="Char100"/>
			<xs:element name="MailingAddressStreetLine2Text" type="Char100" minOccurs="0"/>
			<xs:element name="MailingAddressStreetLine3Text" type="Char100" minOccurs="0"/>
			<xs:element name="MailingAddressCityText" type="Char50"/>
			<xs:element name="MailingAddressStateCode" type="Char2"/>
			<xs:element name="MailingAddressZipCode" type="Char12"/>
			<xs:element name="MailingAddressEffectiveDate" type="xs:dateTime"/>
			<xs:element name="MailingAddressStatusIndicator" type="StatusType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProgramInterestType">
		<xs:sequence>
			<xs:element name="BeachNameTransactionTypeCode" type="TransactionType"/>
			<xs:element name="ProgramInterestName" type="Char60"/>
			<xs:element name="ProgramInterestDescriptionText" type="Char255"/>
			<xs:element name="ProgramInterestCommentText" type="Char255" minOccurs="0"/>
			<xs:element name="ProgramInterestStateCode" type="Char2"/>
			<xs:element name="ProgramInterestCountyName" type="Char60" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OrganizationType">
		<xs:sequence>
			<xs:element name="OrganizationNameTransactionTypeCode" type="TransactionType"/>
			<xs:element name="OrganizationTypeCode" type="Char12"/>
			<xs:element name="OrganizationName" type="Char60"/>
			<xs:element name="OrganizationDescriptionText" type="Char255" minOccurs="0"/>
			<xs:element name="OrganizationAbbreviationText" type="Char30" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PersonType">
		<xs:sequence>
			<xs:element name="PersonNameTransactionTypeCode" type="TransactionType"/>
			<xs:element name="PersonStatusIndicator" type="StatusType"/>
			<xs:element name="PersonFirstName" type="Char50"/>
			<xs:element name="PersonLastName" type="Char50"/>
			<xs:element name="PersonMiddleInitial" type="Char2" minOccurs="0"/>
			<xs:element name="PersonSuffix" type="Char5" minOccurs="0"/>
			<xs:element name="PersonTitle" type="Char60" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ElectronicAddressType">
		<xs:sequence>
			<xs:element name="ElectronicAddressTypeCode" type="Char12"/>
			<xs:element name="ElectronicAddressText" type="Char60"/>
			<xs:element name="ElectronicAddressEffectiveDate" type="xs:dateTime"/>
			<xs:element name="ElectronicAddressStatusIndicator" type="StatusType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TelephoneType">
		<xs:sequence>
			<xs:element name="TelephoneTypeCode" type="Char12"/>
			<xs:element name="TelephoneNumber" type="Char12"/>
			<xs:element name="TelephoneEffectiveDate" type="xs:dateTime"/>
			<xs:element name="TelephoneStatusIndicator" type="StatusType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ProcedureType">
		<xs:sequence>
			<xs:element name="ProcedureTypeCode" type="Char12"/>
			<xs:element name="ProcedureDescriptionText" type="Char255"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ActivityType">
		<xs:sequence>
			<xs:element name="ActivityTypeCode" type="Char12"/>
			<xs:element name="ActivityName" type="Char60"/>
			<xs:element name="ActivityActualStartDate" type="xs:dateTime"/>
			<xs:element name="ActivityActualStopDate" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="ActivityDescriptionText" type="Char255" minOccurs="0"/>
			<xs:element name="ActivityCommentText" type="Char255" minOccurs="0"/>
			<xs:element name="ActivityReasonDetail" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ActivityReasonName" type="Char60"/>
						<xs:element name="ActivityReasonDescriptionText" type="Char255"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ActivityExtentDetail" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="ActivityExtentStartMeasure" type="Number14" minOccurs="0"/>
						<xs:element name="ActivityExtentLengthMeasure" type="Number14"/>
						<xs:element name="ActivityExtentUnitOfMeasureCode" type="Char12"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="Char2">
		<xs:restriction base="xs:string">
			<xs:maxLength value="2"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Char5">
		<xs:restriction base="xs:string">
			<xs:maxLength value="5"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Char12">
		<xs:restriction base="xs:string">
			<xs:maxLength value="12"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Char30">
		<xs:restriction base="xs:string">
			<xs:maxLength value="30"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Char50">
		<xs:restriction base="xs:string">
			<xs:maxLength value="50"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Char60">
		<xs:restriction base="xs:string">
			<xs:maxLength value="60"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Char255">
		<xs:restriction base="xs:string">
			<xs:maxLength value="255"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Char100">
		<xs:restriction base="xs:string">
			<xs:maxLength value="100"/>
			<xs:minLength value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TransactionType" final="list">
		<xs:restriction base="xs:string">
			<xs:maxLength value="4"/>
			<xs:minLength value="1"/>
			<xs:enumeration value="ADD"/>
			<xs:enumeration value="EDIT"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="StatusType" final="list">
		<xs:restriction base="xs:string">
			<xs:maxLength value="8"/>
			<xs:minLength value="1"/>
			<xs:enumeration value="ACTIVE"/>
			<xs:enumeration value="INACTIVE"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Number14">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="14"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

