<?xml version="1.0" encoding="UTF-8"?>

<xs:schema
  targetNamespace="http://www.atis.org/OBF/ASR/UOM-ASRInquiry"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://www.atis.org/OBF/ASR/UOM-ASRInquiry"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  version="1.0"
  xml:lang="en">

	<xs:annotation>
		<xs:documentation>
			This schema was developed under the charter of the
			Alliance for Telecommunications Industry Solutions (ATIS),
			Ordering and Billing Forum (OBF),
			Ordering Solutions Committee,
			Access Service Ordering (ASO) Subcommittee.

			This schema is based on the Access Service Ordering Guidelines (ASOG) Version 44.
		</xs:documentation>
	</xs:annotation>

	<!-- UOM Base contains UOM Top level structures and Field Type Declarations -->
	<xs:include schemaLocation="UOM-Base.xsd"/>

	<!-- ===================================================== -->
	<!-- ASR InquiryRequest and ASR InquiryResponse Top Level  -->
	<!-- ===================================================== -->
	<xs:element name="CFA_INQUIRY" type="CFA_INQUIRY_Type"/>
	<xs:element name="CFA_RESULTS" type="CFA_RESULTS_Type"/>
	<xs:element name="LOCATION_INQUIRY" type="LOCATION_INQUIRY_Type"/>
	<xs:element name="LOCATION_RESULTS" type="LOCATION_RESULTS_Type"/>
	<xs:element name="ORDER_INFO_INQUIRY" type="ORDER_INFO_INQUIRY_Type"/>
	<xs:element name="ORDER_INFO_RESULTS" type="ORDER_INFO_RESULTS_Type"/>
	<xs:element name="SVC_AVAIL_INQUIRY" type="SVC_AVAIL_INQUIRY_Type"/>
	<xs:element name="SVC_AVAIL_RESULTS" type="SVC_AVAIL_RESULTS_Type"/>

	<!-- ASR Inquiry Request -->
	<xs:complexType name="ASR_INQUIRY_REQUEST_Type" abstract="true" mixed="false">
		<xs:complexContent mixed="false">
			<xs:extension base="INQUIRY_REQUEST_Type">
				<xs:sequence>
					<xs:element name="HDR">
						<xs:complexType>
							<xs:annotation>
								<xs:appinfo>
									<description>ASR Inquiry Additional Header</description>
								</xs:appinfo>
							</xs:annotation>
							<xs:complexContent>
								<xs:extension base="UOM_HDR_Type">
									<xs:sequence>
										<xs:element name="CC" type="CC_Type"/>
										<xs:element name="ICSC" type="ICSC_Type" minOccurs="0"/>
										<xs:element name="STATE" type="STATE_Type" minOccurs="0"/>
									</xs:sequence>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<!-- ASR Inquiry Response -->
	<xs:complexType name="ASR_INQUIRY_RESPONSE_Type" abstract="true" mixed="false">
		<xs:complexContent mixed="false">
			<xs:extension base="INQUIRY_RESPONSE_Type">
				<xs:sequence>
					<xs:element name="HDR">
						<xs:complexType>
							<xs:annotation>
								<xs:appinfo>
									<description>ASR Inquiry Response Additional Header</description>
								</xs:appinfo>
							</xs:annotation>
							<xs:complexContent>
								<xs:extension base="UOM_HDR_Type">
									<xs:sequence>
										<xs:element name="CC" type="CC_Type"/>
										<xs:element name="IRI" type="IRI_Type"/>
										<xs:element name="IRM" type="IRM_Type" minOccurs="0"/>
									</xs:sequence>
								</xs:extension>
							</xs:complexContent>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="CFA_INQUIRY_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>CFA Inquiry</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_REQUEST_Type">
				<xs:sequence>
					<xs:element name="CFA" type="CFA_ComplexType"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="CFA_RESULTS_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>CFA Results</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_RESPONSE_Type">
				<xs:sequence>
					<xs:element ref="CFA_DETAILS" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="LOCATION_INQUIRY_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>Location Inquiry</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_REQUEST_Type">
				<xs:sequence>
					<xs:choice>
						<xs:element name="ADDR" type="Address_ComplexType"/>
						<xs:element ref="WTN"/>
						<xs:element ref="WCKT"/>
					</xs:choice>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="LOCATION_RESULTS_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>Location Results</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_RESPONSE_Type">
				<xs:sequence>
					<xs:element ref="ADDR_LIST" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element name="SWC" type="CLLI_Type" minOccurs="0"/>
					<xs:element name="WKTEL" type="TelNumber_Type" minOccurs="0"/>
					<xs:element name="WKCID" type="ECCKT28_Type" minOccurs="0"/>
					<xs:element name="NPANXX" type="NPANXX_Type" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="ORDER_INFO_INQUIRY_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>Order Info Inquiry</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_REQUEST_Type">
				<xs:sequence>
					<xs:element name="PON" type="PON_Type"/>
					<xs:element name="ECCKT" type="ECCKT53_Type" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="ORDER_INFO_RESULTS_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>Order Info Results</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_RESPONSE_Type">
				<xs:sequence>
					<xs:element name="PON" type="PON_Type"/>
					<xs:element name="SR_STATE" type="SR_STATE_Type"/>
					<xs:element name="D_STATE" type="Date_Type"/>
					<xs:element name="T_STATE" type="Time_Type"/>
					<xs:element name="JEOPARDY_STATUS" type="JEOPARDY_STATUS_Type" minOccurs="0"/>
					<xs:element name="SUPR" type="SUPR_Type" minOccurs="0"/>
					<xs:element ref="JEOPARDY_INFO" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="SVC_AVAIL_INQUIRY_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>Service Availability Inquiry</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_REQUEST_Type">
				<xs:sequence>
					<xs:element ref="SVC_AVAIL_INFO"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<xs:complexType name="SVC_AVAIL_RESULTS_Type" mixed="false">
		<xs:annotation>
			<xs:appinfo>
				<description>Service Availability Results</description>
			</xs:appinfo>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="ASR_INQUIRY_RESPONSE_Type">
				<xs:sequence>
					<xs:element ref="SVC_AVAIL_INFO" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>

	<!-- ++++++++++++++++++++++++++ -->
	<!--   ASR Inquiry Structures   -->
	<!-- ++++++++++++++++++++++++++ -->

	<xs:element name="ADDR_LIST">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>List of Addresses with SANOR list</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="ADDR" type="Address_ComplexType" minOccurs="0"/>
				<xs:element ref="SANOR_GRP" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="CFA_DETAILS">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>CFA details</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="CFA" type="CFA_ComplexType"/>
				<xs:element name="NC" type="NC_Type" minOccurs="0"/>
				<xs:element name="NCI" type="NCI_Type" minOccurs="0"/>
				<xs:element ref="CHANNEL_INFO"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="CHANNEL_INFO">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>Channel Info</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="STATUS" type="CFA_STATUS_Type" minOccurs="0"/>
				<xs:element name="ECCKT" type="ECCKT53_Type" minOccurs="0"/>
				<xs:element name="CKR" type="CKR_Type" minOccurs="0"/>
				<xs:element name="PA" type="PA_Type" minOccurs="0"/>
				<xs:element name="DD" type="Date_Type" minOccurs="0"/>
				<xs:element name="PON" type="PON_Type" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="JEOPARDY_INFO">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>Jeopardy Info</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="ECCKT" type="ECCKT53_Type" minOccurs="0"/>
				<xs:element name="RCODE" type="RCODE_Type" minOccurs="0"/>
				<xs:element name="RDET" type="RDET_Type" minOccurs="0"/>
				<xs:element name="DD" type="Date_Type" minOccurs="0"/>
				<xs:element name="PTD" type="Date_Type" minOccurs="0"/>
				<xs:element name="CON_TEL" type="TelNumberExt_Type" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="SANOR_GRP">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>A group containing a Service Address Number range and type</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="SANOR" type="SANOR_Type"/>
				<xs:element name="SANORT" type="SANORT_Type" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="SVC_AVAIL_INFO">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>Service Availability Info</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="NC" type="NC_Type" minOccurs="0"/>
				<xs:element name="NCI" type="NCI_Type" minOccurs="0"/>
				<xs:element name="SECNCI" type="NCI_Type" minOccurs="0"/>
				<xs:element name="SPEC" type="SPEC_Type" minOccurs="0"/>
				<xs:element name="DDD" type="Date_Type" minOccurs="0"/>
				<xs:element name="LOC1" type="CLLI_Type" minOccurs="0"/>
				<xs:element name="LOC2" type="CLLI_Type" minOccurs="0"/>
				<xs:element name="QTY" type="QTY_Type" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="WCKT">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>Working Circuit Inquiry</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="WKCID" type="ECCKT28_Type"/>
				<xs:element name="SWC" type="CLLI_Type" minOccurs="0"/>
				<xs:element name="NPANXX" type="NPANXX_Type" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:element name="WTN">
		<xs:complexType mixed="false">
			<xs:annotation>
				<xs:appinfo>
					<description>Working Telephone Number Inquiry</description>
				</xs:appinfo>
			</xs:annotation>
			<xs:sequence>
				<xs:element name="CITY" type="CITY32_Type" minOccurs="0"/>
				<xs:element name="STATE" type="STATE_Type" minOccurs="0"/>
				<xs:element name="WKTEL" type="TelNumber_Type"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

</xs:schema>
