<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Request">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Identification">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="nonEmptyString" name="UserID" />
              <xs:element type="nonEmptyString" name="Password" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Service">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="nonEmptyString" minOccurs="0" name="SoftwareVersion" />
              <xs:element name="ServiceName">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="SendRecurringMessage" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ServiceDetail">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="RecurringMessage">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="RecurringMessageList">
                            <xs:complexType>
                              <xs:choice maxOccurs="unbounded">
                                <xs:element type="recurringDestination" name="Destination" />
                                <xs:element type="recurringDestination" name="GroupID" />
                              </xs:choice>
                            </xs:complexType>
                          </xs:element>
                          <xs:element type="nonEmptyString" name="Text" />
                          <xs:group ref="recurringOptions" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="Version">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="1.0" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:group name="recurringOptions">
    <xs:sequence>
      <xs:element type="nonEmptyString" minOccurs="0" name="GUID" />
      <xs:element type="nonEmptyString" name="DateToSend" />
      <xs:element type="xs:int" minOccurs="0" name="NoOfRecurrences" />
      <xs:element type="nonEmptyString" minOccurs="0" name="Header" />
      <xs:element name="DaysToSend">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="Monday" />
            <xs:element minOccurs="0" name="Tuesday" />
            <xs:element minOccurs="0" name="Wednesday" />
            <xs:element minOccurs="0" name="Thursday" />
            <xs:element minOccurs="0" name="Friday" />
            <xs:element minOccurs="0" name="Saturday" />
            <xs:element minOccurs="0" name="Sunday" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:group>
  <xs:complexType name="recurringDestination">
    <xs:simpleContent>
      <xs:extension base="nonEmptyString">
        <xs:attribute name="type">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="sms" />
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="nonEmptyString">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>









