<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified"
    elementFormDefault="qualified"
    targetNamespace="http://ws.easylink.com/FaxNumberAvailableList/2013/01"
    xmlns:xoafnal="http://ws.easylink.com/FaxNumberAvailableList/2013/01" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- =====================
	<xs:include schemaLocation="FaxNumber.xsd"/>
	<xs:include schemaLocation="StatusType.xsd"/>
	<xs:include schemaLocation="UserAlias.xsd"/>
	===================== -->
    <xs:element name="FaxNumberAvailableListRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
                <xs:element name="F2MUserGroup" type="xoafnal:UserAliasGroupType"/>
                <xs:choice minOccurs="0">
                    <xs:element name="FaxDNIS" type="xs:string"/>
                    <xs:element name="FaxPrefix" type="xoafnal:FaxPrefixType"/>
                </xs:choice>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="FaxNumberAvailableListResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Status" type="xoafnal:StatusType"/>
                <xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="FaxNumber">
                    <xs:complexType mixed="false">
                        <xs:complexContent>
                            <xs:extension base="xoafnal:FaxNumberType">
                                <xs:attribute name="activationdate"
                                    type="xs:dateTime" use="required"/>
                                <xs:attribute name="deactivationdate"
                                    type="xs:dateTime" use="optional"/>
                                <xs:attribute name="reactivationdate"
                                    type="xs:dateTime" use="optional"/>
                                <xs:attribute name="dnisgroup" type="xs:long"/>
                            </xs:extension>
                        </xs:complexContent>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="FaxPrefixType">
        <xs:sequence>
            <xs:element name="CountryCode" type="xs:string"/>
            <xs:element name="RegionCode" type="xs:string"/>
            <xs:element name="TollFree" type="xs:boolean"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FaxNumberType">
        <xs:sequence>
            <xs:element name="CountryCode" type="xs:string"/>
            <xs:element name="RegionCode" type="xs:string"/>
            <xs:element name="TollFree" type="xs:boolean"/>
            <xs:element name="DNIS" type="xs:string"/>
            <xs:element name="Carrier" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StatusType">
        <xs:sequence>
            <xs:element name="StatusCode" type="xs:integer">
                <xs:annotation>
                    <xs:documentation>0 = success, non-zero = error state TBD</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" name="StatusMessage" type="xs:string">
                <xs:annotation>
                    <xs:documentation>text description of StatusCode</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" name="ErrorList">
                <xs:annotation>
                    <xs:documentation>Container for Errors</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element maxOccurs="unbounded" name="Error">
                            <xs:annotation>
                                <xs:documentation>An Error</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="ErrorCode" type="xs:integer">
                                    <xs:annotation>
                                    <xs:documentation>non-zero code</xs:documentation>
                                    </xs:annotation>
                                    </xs:element>
                                    <xs:element name="ErrorMessage" type="xs:string"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="SubmissionTime" type="xs:dateTime">
                <xs:annotation>
                    <xs:documentation>The time the Request was received by the system</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="CompletionTime" type="xs:dateTime">
                <xs:annotation>
                    <xs:documentation>the time the Request was completed processing</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IDAliasType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="aliastype" type="xs:string" use="required"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="UserAliasType">
        <xs:choice>
            <xs:element name="UserId" type="xs:string"/>
            <xs:element name="IDAlias" type="xoafnal:IDAliasType"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="UserAliasGroupType">
        <xs:choice>
            <xs:element name="UserId" type="xs:string"/>
            <xs:element name="IDAlias" type="xoafnal:IDAliasType"/>
            <xs:element name="EntityId" type="xs:integer"/>
        </xs:choice>
    </xs:complexType>
</xs:schema>
